多站点支持
通过CabloyJS提供的多实例
特性,可以实现多站点支持
,比如为不同的企业建站。请参见:EggBornJS:多实例
实例配置
在Cabloy-CMS应用中,一般把域名example.com
留给静态文件,从而需要给后台管理系统分配一个子域名,比如portal.example.com
名称 | 域名 | 说明 |
---|---|---|
静态部分 | example.com | 所有静态文件 |
动态部分 | portal.example.com | 为静态部分提供Api接口服务 |
src/backend/config/config.prod.js
- 1// instances
- 2config.instances = [
- 3 { subdomain: 'portal', password: '', title: ''},
- 4];
名称 | 说明 |
---|---|
subdomain | 子域名 |
password | 实例中用户root 的初始访问密码,缺省为123456 |
title | 网站标题 |
跨域配置
由于静态站点
和后台管理系统
分别采用了不同的域名,因此需要在后台管理系统
配置跨域参数
src/backend/config/config.prod.js
- 1// module config
- 2config.modules = {
- 3 'a-base': {
- 4 cors: {
- 5 whiteList: 'http://some.front.com',
- 6 },
- 7 },
- 8};
名称 | 说明 |
---|---|
cors.whiteList | 跨域访问白名单,只有白名单中的域名才可以通过ajax访问后端API接口。可以是逗号分隔的多个域名。 |
构建前端代码
- 1$ npm run build:front
启动后端服务
- 1$ npm run start:backend
- 2or
- 3$ npm run start:backend -- --daemon --workers=2
- 别忘了创建MySQL数据库,并配置
src/backend/config/config.prod.js
停止后端服务
- 1$ npm run stop:backend
后端服务启动参数配置
build/config.js
- 1// backend
- 2const backend = {
- 3 port: 7002,
- 4 hostname: '127.0.0.1',
- 5};
nginx配置
强烈建议使用nginx托管前端静态资源,并反向代理后端服务
在项目根目录已经生成了两个nginx配置文件,分别对应Cabloy-CMS的动态部分
和静态部分
,请根据实际情况修改
动态部分:nginx.conf
请参见:nginx配置
静态部分:nginx-cms.conf
- 1server {
- 2
- 3 listen 80;
- 4 server_name example.com;
- 5
- 6 root {publicDir}/{instanceId}/cms/dist;
- 7
- 8}
评论: