在一台服务器上搭建两个WordPress网站是完全可行的,以下是几种常见方法及详细步骤:
方法1:使用不同端口(适合本地测试)
适用场景:快速测试、开发环境
步骤:
-
安装第一个WordPress
- 默认安装到
/var/www/html/site1,通过http://服务器IP:80访问。
- 默认安装到
-
配置第二个WordPress
- 创建新目录:
/var/www/html/site2。 - 修改Apache/Nginx配置,监听不同端口(如8080):
Listen 8080 <VirtualHost *:8080> DocumentRoot /var/www/html/site2 ServerName your-server-ip </VirtualHost> - 重启服务:
sudo systemctl restart apache2。
- 创建新目录:
-
访问站点
- 第一个站点:
http://服务器IP:80 - 第二个站点:
http://服务器IP:8080
- 第一个站点:
缺点:需手动输入端口,不适合生产环境。
方法2:使用子目录(简单但需插件配合)
适用场景:共享同一域名
步骤:
- 主站点安装在
/var/www/html,通过http://example.com访问。 - 子目录站点安装在
/var/www/html/blog。 - 修改主站点的
.htaccess,避免路由冲突:# 主站点的.htaccess RewriteRule ^blog(/.*)?$ - [L] - 子目录站点需在WordPress后台设置 站点地址 为
http://example.com/blog。
缺点:部分插件可能兼容性问题,需额外配置。
方法3:虚拟主机(推荐生产环境)
适用场景:多域名、独立配置
步骤(以Apache为例):
-
创建网站目录
sudo mkdir -p /var/www/site1 /var/www/site2 -
配置虚拟主机
# /etc/apache2/sites-available/site1.conf <VirtualHost *:80> ServerName site1.com DocumentRoot /var/www/site1 <Directory /var/www/site1> AllowOverride All </Directory> </VirtualHost> # site2.conf 类似,替换为 site2.com 和路径 -
启用配置并重启
sudo a2ensite site1.conf site2.conf sudo systemctl reload apache2 -
配置DNS
将域名site1.com和site2.com解析到服务器IP。 -
安装WordPress
分别将WordPress文件放入对应目录,通过域名访问安装向导。
方法4:Docker容器化(灵活隔离)
适用场景:需要环境隔离、快速部署
步骤:
- 安装Docker和Docker Compose。
- 创建
docker-compose.yml:version: '3' services: wordpress1: image: wordpress ports: - "8000:80" volumes: - ./site1:/var/www/html wordpress2: image: wordpress ports: - "8001:80" volumes: - ./site2:/var/www/html - 启动容器:
docker-compose up -d - 访问
http://服务器IP:8000和http://服务器IP:8001完成安装。
优点:环境隔离,资源可控。
注意事项
- 数据库分离:为每个WordPress创建独立数据库,避免冲突。
- 资源分配:监控CPU、内存使用,尤其是流量较大的站点。
- 备份策略:分别备份两个站点的文件和数据库。
- HTTPS配置:若使用域名,为每个站点申请SSL证书(Let’s Encrypt免费证书)。
总结推荐
- 生产环境:虚拟主机(方法3)最稳定,适合正式运营。
- 开发测试:Docker(方法4)或端口方式(方法1)更灵活。
- 共享域名:子目录(方法2)需注意插件兼容性。
根据需求选择合适方案,确保服务器资源配置充足即可。
云服务器