常见问题
新增站点并发布文章
-
开启站群配置,并设置站群涉及表(cms_content,cms_category);在站点管理进行appId初始化,成功后可在站群涉及表看到新增的app_id字段
-
新增站点,站点域名本地可用127、192、localhost做3个测试站;如需要更多,可以使用代理工具配置代理;内网配置参考
// 代理参考
a.demo.com localhost:8080
b.demo.com localhost:8080
-
新站点的模板文件,头部切换到新站点后,在系统设置->模板管理处上传,也可以直接创建template/站点id/模板文件夹
-
文章分发,将站点的文章分发到其他站点,只能分发终审通过的文章
访问系统提示站点不存在

更改ShiroConfig :
注释public ManagerAuthRealm customRealm(SimpleCredentialsMatcher managerLoginCredentialsMatcher)
打开public BaseAuthRealm customRealm(SimpleCredentialsMatcher managerLoginCredentialsMatcher)
Tip
请优先确认自己的访问地址是否与站点域名一致 !
站群https域名问题
-
部署https域名,站群配置中的域名推荐统一都部署为https,开启yml中https配置参考
-
如果有使用nginx之类的做代理,不需要配置端口代理,nginx配置参考文档
站群功能未生效
在pom依赖中,站群依赖要放在其他所有模块依赖的前面,若加载顺序不对就会导致站群功能无法正常生效。
更换站点目录

需要重新静态化,并对原目录进行删除,避免通过老路径访问
主界面切换站点按钮不显示
1.将主界面注释的代码放开
通过搜索site关键字可快速定位,应有3处注释,下图为一处示例

2.在站群配置中启用站群

nginx环境下,未登录访问静态页面500,登录后访问正常
nginx代理没有把请求头携带过去
参考nginx代理配置
接口忽略站群,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();
接口执行xml联表查询方法,APP_ID ambiguous 歧义
需要给主表别名,app_id就会加上主表的别名,避免歧义

新增站点,新站点下面的栏目、文章都没有了
新建了站点之后,就类似重新创建了一个后台一样,虽然用的相同的数据库,但是他们之间的栏目、文章等数据是不能互通的。
访问自定义配置菜单出现模型名称不存在!
开启站群后,默认自定义配置是全局配置,只能在主站点管理下配置(主站点为默认第一个站点),如果需要在子站点配置不同的配置,需要手动复制主站点的自定义配置JSON,在子站点导入即可

Tip
可以在自定义配置操作栏中复制菜单,在菜单管理导入,分配权限。
站群如何分配站点管理员
- 先创建站点管理员角色,在创建管理员账号并绑定角色

- 在站点管理点击设置管理员,选择要分配的管理员,点击保存

Tip
普通管理员新增的站点,需超管按上述操作授权后才能进行管理
站群下文章审批配置
Tip
- 目前暂不支持站群区分审批开关的情况。
- 目前区分:区分各站点的审批节点数,如 A站点 初审、终审 ,B站点 初审、二审、终审。
使用描述:
-
开启站群,并新增progress_progress,progress_progress_log,approval_config用来区分站群:

-
新增站点:

-
在不同站点分配栏目审批权限 如在A站点:
如在B站点:
线上部署多站点、泛解析域名绑定
泛解析域名绑定,需要将泛解析域名绑定到站点域名。这样就不需要每次去域名服务商修改域名指向。泛解析后可以在站群后台绑定域名
多站点一般通过域名泛解析处理,例:*.website.com

站点关闭情况

路径模式关闭
如果一开始创建的路径模式下的子站点,但是后面需要关闭路径模式,则需要在站点管理中把子站点的域名设置好后访问,否者会有异常提示。建议在创建子站点之前就确定好站群配置
自定义无法访问
这种一般都是主站的自定义数据在子站点访问,主站点的自定义数据只能在主站点查看,这是做了数据隔离,防止站点之间数据错乱等
站群环境,缓存管理相关问题
- 清空缓存,已缓存文章数不清零;清空缓存只清当前站点缓存的文章
- 缓存管理,已缓存文章数大于实际文章总数;有脏数据,关闭站群清空缓存后再开启站群
站群配置开启后,进缓存管理异常
引起原因是开发阶段不规范,在开启站群前刷新缓存保存了非站群环境数据到缓存,然后在开启站群导致;
解决方法:需要各个站点删除自身缓存,未清完之前会一直有报错直到清完;或者先临时关闭站群(需重启)然后清空缓存(只清空),再开启站群(需重启),然后各个站点重新刷新缓存即可。 注意:最好在开发阶段就确定是否需要开启站群