在一台阿里云服务器上配置两个 WordPress 网站是完全可行的。以下是详细的配置方法,适用于 Linux 系统(如 CentOS 或 Ubuntu),使用 Nginx 或 Apache 作为 Web 服务器。
✅ 一、准备工作
-
阿里云服务器(ECS)
- 系统:推荐 CentOS 7+/Ubuntu 20.04+
- 配置:至少 2GB 内存,1核以上
- 安全组:开放 80(HTTP)、443(HTTPS)、22(SSH)
-
域名(可选)
- 两个域名,或一个域名 + 一个子域名(如:
site1.com和blog.site1.com) - 或者使用不同端口(不推荐用于生产)
- 两个域名,或一个域名 + 一个子域名(如:
-
安装 LAMP 或 LEMP 环境
- LAMP:Linux + Apache + MySQL + PHP
- LEMP:Linux + Nginx + MySQL + PHP(推荐 Nginx 性能更好)
✅ 二、安装基础环境(以 LEMP 为例)
# 更新系统
sudo apt update && sudo apt upgrade -y # Ubuntu
# 或
sudo yum update -y # CentOS
# 安装 Nginx
sudo apt install nginx -y # Ubuntu
# 或
sudo yum install nginx -y # CentOS
# 安装 MySQL(或 MariaDB)
sudo apt install mysql-server -y # Ubuntu
# 或
sudo yum install mariadb-server -y # CentOS
# 安装 PHP 及扩展
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
启动并设置开机自启:
sudo systemctl enable nginx mysql php-fpm
sudo systemctl start nginx mysql php-fpm
✅ 三、创建两个 WordPress 站点
1. 创建网站目录
sudo mkdir -p /var/www/site1.com
sudo mkdir -p /var/www/site2.com
2. 下载 WordPress
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
复制到两个站点目录:
sudo cp -r /tmp/wordpress/* /var/www/site1.com/
sudo cp -r /tmp/wordpress/* /var/www/site2.com/
设置权限:
sudo chown -R www-data:www-data /var/www/site1.com
sudo chown -R www-data:www-data /var/www/site2.com
sudo chmod -R 755 /var/www
3. 创建独立的数据库
登录 MySQL:
sudo mysql -u root -p
创建两个数据库和用户:
CREATE DATABASE wp_site1;
CREATE DATABASE wp_site2;
CREATE USER 'user_site1'@'localhost' IDENTIFIED BY 'strong_password1';
CREATE USER 'user_site2'@'localhost' IDENTIFIED BY 'strong_password2';
GRANT ALL PRIVILEGES ON wp_site1.* TO 'user_site1'@'localhost';
GRANT ALL PRIVILEGES ON wp_site2.* TO 'user_site2'@'localhost';
FLUSH PRIVILEGES;
EXIT;
✅ 四、配置 Nginx 虚拟主机(两个站点)
1. 创建 site1 配置
sudo nano /etc/nginx/sites-available/site1.com
内容:
server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/site1.com;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据实际 PHP 版本调整
}
location ~ /.ht {
deny all;
}
}
2. 创建 site2 配置
sudo nano /etc/nginx/sites-available/site2.com
内容(类似,仅路径和域名不同):
server {
listen 80;
server_name site2.com www.site2.com;
root /var/www/site2.com;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
3. 启用站点
sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/
# 删除默认站点(可选)
sudo rm /etc/nginx/sites-enabled/default
4. 测试并重启 Nginx
sudo nginx -t
sudo systemctl restart nginx
✅ 五、配置 WordPress
分别访问:
http://site1.com/wp-admin/install.phphttp://site2.com/wp-admin/install.php
在安装过程中:
- 数据库名:
wp_site1和wp_site2 - 用户名:
user_site1和user_site2 - 密码:对应设置的密码
- 数据库主机:
localhost - 表前缀:建议不同(如
wp1_和wp2_)
完成安装即可。
✅ 六、绑定域名(DNS 设置)
在阿里云控制台:
- 进入 域名控制台
- 添加两个域名(或子域名)的解析:
- 记录类型:A
- 主机记录:
@或www或blog - 记录值:你的 ECS 公网 IP
等待 DNS 生效(通常几分钟到几小时)。
✅ 七、可选:配置 HTTPS(推荐)
使用 Let’s Encrypt 免费 SSL 证书:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d site1.com -d www.site1.com
sudo certbot --nginx -d site2.com -d www.site2.com
Certbot 会自动配置 HTTPS 并设置自动续期。
✅ 总结
| 项目 | 站点1 | 站点2 |
|---|---|---|
| 域名 | site1.com | site2.com |
| 网站目录 | /var/www/site1.com | /var/www/site2.com |
| 数据库 | wp_site1 | wp_site2 |
| 数据库用户 | user_site1 | user_site2 |
| Nginx 配置 | site1.com | site2.com |
💡 提示
- 可以使用子域名(如
blog.yoursite.com)代替独立域名。 - 建议定期备份数据库和网站文件。
- 使用
wp-config.php中的WP_HOME和WP_SITEURL避免迁移问题。
如有需要,也可以使用 Docker 或 宝塔面板 简化部署(特别是新手推荐宝塔)。
需要我提供 宝塔面板 的配置方式吗?
CLOUD云知道