在同一台服务器上安装两个 WordPress 网站是完全可行的,常见的方法有以下几种。具体选择取决于你的服务器环境(如 Apache、Nginx)、域名配置和需求。以下是详细步骤:
✅ 方法一:使用不同的目录(子目录)部署两个 WordPress
这是最简单的方式,两个网站共用同一个域名,但放在不同目录下。
示例结构:
/var/www/html/
├── wordpress1/ → 第一个网站:yourdomain.com/wordpress1
└── wordpress2/ → 第二个网站:yourdomain.com/wordpress2
步骤:
-
上传两个 WordPress 文件到不同目录
cd /var/www/html wget https://wordpress.org/latest.tar.gz tar -xzf latest.tar.gz mv wordpress wordpress1 cp -r wordpress1 wordpress2 -
创建两个数据库
CREATE DATABASE wp_site1; CREATE DATABASE wp_site2; CREATE USER 'wpuser1'@'localhost' IDENTIFIED BY 'password1'; CREATE USER 'wpuser2'@'localhost' IDENTIFIED BY 'password2'; GRANT ALL PRIVILEGES ON wp_site1.* TO 'wpuser1'@'localhost'; GRANT ALL PRIVILEGES ON wp_site2.* TO 'wpuser2'@'localhost'; FLUSH PRIVILEGES; -
分别配置
wp-config.php- 进入
wordpress1和wordpress2目录,修改各自的wp-config.php,设置不同的数据库名、用户名和密码。
- 进入
-
访问并安装
- 打开浏览器访问:
http://yourdomain.com/wordpress1http://yourdomain.com/wordpress2
- 按照向导完成安装。
- 打开浏览器访问:
⚠️ 缺点:URL 不够美观(带路径),适合测试或内部使用。
✅ 方法二:使用不同的域名(虚拟主机)运行两个网站点
推荐方式!每个 WordPress 站点拥有自己的域名(例如 site1.com 和 site2.com),看起来完全独立。
示例:
- site1.com →
/var/www/site1 - site2.com →
/var/www/site2
步骤(以 Nginx 为例):
-
准备目录
mkdir -p /var/www/site1 /var/www/site2 -
下载并解压 WordPress 到各自目录
cd /tmp && wget https://wordpress.org/latest.tar.gz tar -xzf latest.tar.gz cp -r wordpress/* /var/www/site1/ cp -r wordpress/* /var/www/site2/ chown -R www-data:www-data /var/www/site1 /var/www/site2 -
为每个站点创建独立数据库
(同上,创建db_site1,db_site2) -
配置 Nginx 虚拟主机
创建两个配置文件:
# /etc/nginx/sites-available/site1.com server { listen 80; server_name site1.com www.site1.com; root /var/www/site1; index index.php index.html; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; } }# /etc/nginx/sites-available/site2.com server { listen 80; server_name site2.com www.site2.com; root /var/www/site2; index index.php index.html; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; } } -
启用站点
ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/ ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/ nginx -t && systemctl reload nginx -
DNS 设置
将site1.com和site2.com的 A 记录指向你的服务器 IP。 -
访问安装
- 打开
http://site1.com和http://site2.com分别进行 WordPress 安装。
- 打开
✅ 优点:两个网站完全独立,SEO 友好,管理清晰。
✅ 方法三:使用子域名(类似方法二)
比如:
- blog.yoursite.com
- shop.yoursite.com
操作方式与「方法二」几乎相同,只需在 Nginx 中配置 server_name blog.yoursite.com;,并在 DNS 添加子域名解析即可。
🔐 安全建议
- 为每个 WordPress 使用独立数据库和数据库用户。
- 设置正确的文件权限:
chown -R www-data:www-data /var/www/your-site find /var/www/your-site -type d -exec chmod 755 {} ; find /var/www/your-site -type f -exec chmod 644 {} ; - 启用 HTTPS(使用 Let’s Encrypt 免费证书)。
🧩 补充:使用 Docker(高级推荐)
你也可以使用 Docker 分别运行两个 WordPress 容器,更加隔离和便于管理:
# docker-compose.yml
version: '3.8'
services:
db1:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: wp1
MYSQL_USER: wp1user
MYSQL_PASSWORD: wp1pass
wordpress1:
image: wordpress:latest
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db1
WORDPRESS_DB_USER: wp1user
WORDPRESS_DB_PASSWORD: wp1pass
WORDPRESS_DB_NAME: wp1
db2:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: wp2
MYSQL_USER: wp2user
MYSQL_PASSWORD: wp2pass
wordpress2:
image: wordpress:latest
ports:
- "8081:80"
environment:
WORDPRESS_DB_HOST: db2
WORDPRESS_DB_USER: wp2user
WORDPRESS_DB_PASSWORD: wp2pass
WORDPRESS_DB_NAME: wp2
然后通过反向X_X(如 Nginx)将不同域名指向对应容器端口。
总结
| 方法 | 适用场景 | 是否推荐 |
|---|---|---|
| 不同目录 | 测试、临时用途 | ⚠️ 一般 |
| 不同域名 | 生产环境、正式网站 | ✅ 强烈推荐 |
| 子域名 | 多功能站点(博客、商城等) | ✅ 推荐 |
| Docker | 高级用户、开发/运维 | ✅ 推荐 |
如果你提供具体的服务器环境(如 Ubuntu + Nginx/Apache + PHP 版本),我可以给出更精确的配置示例。
云服务器