在同一个服务器上安装两个帝国CMS网站,需要合理规划目录、数据库配置和服务器设置,避免冲突,以下是详细步骤和注意事项,确保两个网站独立运行且互不影响。

前期准备
-
服务器环境要求
确保服务器已安装必要环境:- Web服务器:Apache/Nginx(以Nginx为例)
- 数据库:MySQL 5.6+ 或 MariaDB
- PHP:7.0+(推荐7.2-7.4,与帝国CMS兼容性最佳)
- 域名:两个已备案的域名(如site1.com和site2.com)
-
文件与数据库规划
| 项目 | 网站1(site1.com) | 网站2(site2.com) |
|------------|---------------------|---------------------|
| 网站根目录 | /www/site1 | /www/site2 |
| 数据库名 | empire_site1 | empire_site2 |
| 数据库用户 | user_site1 | user_site2 |
| 数据库密码 | password1 | password2 |提前在MySQL中创建两个数据库和对应用户,并赋予操作权限:
CREATE DATABASE empire_site1 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'user_site1'@'localhost' IDENTIFIED BY 'password1'; GRANT ALL PRIVILEGES ON empire_site1.* TO 'user_site1'@'localhost'; FLUSH PRIVILEGES;
上传帝国CMS程序
-
下载程序
从帝国CMS官网下载最新安装包(如e7.5),解压后得到e
目录(核心程序)。(图片来源网络,侵删) -
部署文件
- 将
e
目录分别复制到两个网站根目录:cp -r /path/to/e /www/site1/ cp -r /path/to/e /www/site2/
- 修改目录权限(Nginx用户通常为
www-data
):chown -R www:www /www/site1 chown -R www:www /www/site2
- 将
配置Nginx虚拟主机
-
创建配置文件
在Nginx配置目录(如/etc/nginx/conf.d/
)中创建两个配置文件:-
site1.conf
:server { listen 80; server_name site1.com www.site1.com; root /www/site1; index index.php index.html; location / { try_files $uri $uri/ /e/index.php?$query_string; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
-
site2.conf
:
将site1.com
替换为site2.com
,root
路径改为/www/site2
。(图片来源网络,侵删)
-
-
重载Nginx配置
nginx -t && systemctl reload nginx
安装帝国CMS
-
访问安装页面
分别通过浏览器访问:http://site1.com/e/install/
http://site2.com/e/install/
-
填写数据库信息
以网站1为例,安装步骤如下:- 步骤1:同意协议,点击“继续”。
- 步骤2:选择“全新安装”,填写数据库名(
empire_site1
)、用户名(user_site1
)、密码(password1
)。 - 步骤3:设置网站管理员账号(如
admin1
)和密码。 - 步骤4:安装完成后,删除
e/install/
目录。
网站2重复上述步骤,但需填写对应的数据库信息。
配置帝国CMS
-
修改配置文件
编辑两个网站的e/class/config.php
文件,确保数据库信息正确:- 网站1:
$empire_db['dbname'] = 'empire_site1'; $empire_db['username'] = 'user_site1'; $empire_db['password'] = 'password1';
- 网站2:修改为对应数据库信息。
- 网站1:
-
设置伪静态规则
在Nginx配置文件中添加帝国CMS伪静态规则(已在上文location /
中包含)。
常见问题处理
-
数据库连接失败
检查数据库用户权限、密码是否正确,以及防火墙是否阻止3306端口。 -
后台登录冲突
确保两个网站的后台路径不同(默认均为e/admin/
),可通过修改e/class/config.php
中的$ecms_config['admin']['fileadmin']
值区分。 -
文件路径冲突
避免两个网站使用相同的附件或缓存目录,可在后台“系统设置”中分别配置。
相关问答FAQs
Q1: 两个帝国CMS能否共享同一个数据库?
A: 不建议共享,数据库表名可能冲突,且数据关联容易混乱,若必须共享,需通过表前缀区分(如enews1_
和enews2_
),并在安装时手动修改表前缀。
Q2: 如何验证两个网站是否完全独立?
A: 验证方法:
- 登录两个网站的后台,检查用户数据是否独立(如管理员账号不同)。
- 发布一篇测试文章,确认数据库中数据分别存放在
empire_site1
和empire_site2
中。 - 修改网站1的模板,确认网站2显示不受影响。