1. 常见问题
1.1. 新增站点并发布文章
开启站群配置,并设置站群涉及表(cms_content,cms_category);在站点管理进行appId初始化,成功后可在站群涉及表看到新增的app_id字段
新增站点,站点域名本地可用127、192、localhost做3个测试站;如需要更多,可以使用代理工具配置代理;内网配置参考
// 代理参考 a.demo.com localhost:8080 b.demo.com localhost:8080
新站点的模板文件,头部切换到新站点后,在系统设置->模板管理处上传,也可以直接创建template/站点id/模板文件夹
文章分发,将站点的文章分发到其他站点,只能分发终审通过的文章
1.2. 访问系统提示站点不存在
更改ShiroConfig :
注释public ManagerAuthRealm customRealm(SimpleCredentialsMatcher managerLoginCredentialsMatcher)
打开public BaseAuthRealm customRealm(SimpleCredentialsMatcher managerLoginCredentialsMatcher)
[!tip] 请优先确认自己的访问地址是否与站点域名一致 !
1.3. 站群https域名问题
部署https域名,站群配置中的域名推荐统一都部署为https,开启yml中https配置参考
如果有使用nginx之类的做代理,不需要配置端口代理,nginx配置参考文档
1.4. 站群功能未生效
在pom依赖中,站群依赖要放在其他所有模块依赖的前面,若加载顺序不对就会导致站群功能无法正常生效。
1.5. 主界面切换站点按钮不显示
1.将主界面注释的代码放开
通过搜索site关键字可快速定位,应有3处注释,下图为示例
1.6. nginx环境下,未登录访问静态页面500,登录后访问正常
nginx代理没有把请求头携带过去
参考nginx代理配置
1.7. 接口忽略站群,sql不拼接appId
需要手写xml,并在dao层方法上使用@InterceptorIgnore(tenantLine = "true")注解
// IXxxxDao
// 非分页方法,不使用BasicUtil.startPage()开启分页
@InterceptorIgnore(tenantLine = "true")
void ignoreSiteWithoutPaginate();
// 分页方法,使用BasicUtil.startPage()开启分页
// 由于pageHelper和mp的多租户插件有冲突,分页查询count时仍会拼接appId导致总数查询错误
// https://github.com/baomidou/mybatis-plus/issues/4577
@InterceptorIgnore(tenantLine = "true")
List<XXX> ignoreSiteWithPaginate();
// 手动声明count方法解决,以下为示例 , 无需编写xml
@InterceptorIgnore(tenantLine = "true")
long ignoreSiteWithPaginate_COUNT();
1.8. 站群配置开启后,进缓存管理异常
引起原因是开发阶段不规范,在开启站群前刷新缓存保存了非站群环境数据到缓存,然后在开启站群导致; 解决方法:需要各个站点删除自身缓存,未清完之前会一直有报错直到清完;或者先临时关闭站群(需重启)然后清空缓存(只清空),再开启站群(需重启),然后各个站点重新刷新缓存即可。 注意:最好在开发阶段就确定是否需要开启站群
1.9. 新增站点,新站点下面的栏目、文章都没有了
新建了站点之后,就类似重新创建了一个后台一样,虽然用的相同的数据库,但是他们之间的栏目、文章等数据是不能互通的。
1.10. 站群环境,缓存管理相关问题
- 清空缓存,已缓存文章数不清零;清空缓存只清当前站点缓存的文章
- 缓存管理,已缓存文章数大于实际文章总数;有脏数据,关闭站群清空缓存后再开启站群
1.11. 站群如何分配站点管理员
1.12. 站群下文章审批配置
目前暂不支持站群区分审批开关的情况。 目前区分:区分各站点的审批节点数,如 A站点 初审、终审 ,B站点 初审、二审、终审。
使用描述:
1.13. 线上部署多站点、泛解析域名绑定
泛解析域名绑定,需要将泛解析域名绑定到站点域名。这样就不需要每次去域名服务商修改域名指向。泛解析后可以在站群后台绑定域名
多站点一般通过域名泛解析处理,例:*.website.com
1.14. 站点关闭情况
1.15. 路径模式关闭
如果一开始创建的路径模式下的子站点,但是后面需要关闭路径模式,则需要在站点管理中把子站点的域名设置好后访问,否者会有异常提示。建议在创建子站点之前就确定好站群配置
1.16. 自定义无法访问
这种一般都是主站的自定义数据在子站点访问,主站点的自定义数据只能在主站点查看,这是做了数据隔离,防止站点之间数据错乱等