在Linux服务器上部署多个WordPress站点,通常使用LAMP(Linux, Apache, MySQL/MariaDB, PHP)或LEMP(Nginx替代Apache)架构。以下是详细配置步骤和建议:
一、基础环境准备
1. 安装操作系统
- 推荐使用 Ubuntu Server 或 CentOS/Rocky Linux。
2. 安装Web服务器
选项A:Apache
# Ubuntu/Debian
sudo apt update
sudo apt install apache2
# CentOS/Rocky
sudo dnf install httpd
选项B:Nginx(推荐用于高并发)
# Ubuntu/Debian
sudo apt install nginx
# CentOS/Rocky
sudo dnf install nginx
3. 安装数据库
# MariaDB(推荐)
sudo apt install mariadb-server mariadb-client # Ubuntu
sudo dnf install mariadb-server # CentOS
sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo mysql_secure_installation
4. 安装PHP及扩展
# Ubuntu
sudo apt install php php-mysql php-curl php-gd php-mbstring php-xml php-zip
# CentOS
sudo dnf install php php-mysqlnd php-fpm php-gd php-mbstring php-xml php-zip
若使用Nginx,还需安装
php-fpm并配置为FastCGI处理。
二、为每个WordPress创建独立资源
1. 创建独立的数据库和用户
CREATE DATABASE wordpress_site1;
CREATE USER 'wp_user1'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON wordpress_site1.* TO 'wp_user1'@'localhost';
FLUSH PRIVILEGES;
重复此操作为每个站点创建不同的数据库和用户。
2. 创建独立的网站目录
sudo mkdir -p /var/www/site1.com/public_html
sudo mkdir -p /var/www/site2.com/public_html
3. 下载WordPress到各自目录
cd /var/www/site1.com/public_html
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz --strip-components=1
sudo chown -R www-data:www-data . # Ubuntu
# 或
sudo chown -R apache:apache . # CentOS
三、配置虚拟主机(Virtual Hosts)
Apache 配置示例(每个站点一个配置文件):
# /etc/apache2/sites-available/site1.com.conf
<VirtualHost *:80>
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/site1.com/public_html
<Directory /var/www/site1.com/public_html>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/site1_error.log
CustomLog ${APACHE_LOG_DIR}/site1_access.log combined
</VirtualHost>
启用站点:
sudo a2ensite site1.com.conf
sudo systemctl reload apache2
Nginx 配置示例:
# /etc/nginx/sites-available/site1.com
server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/site1.com/public_html;
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; # 根据PHP版本调整
}
location ~ /.ht {
deny all;
}
}
启用:
sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
四、完成WordPress安装
- 浏览
http://site1.com进入WordPress安装向导。 - 填写数据库信息(使用前面创建的数据库名、用户名、密码)。
- 设置站点标题、管理员账号等。
每个站点重复此过程。
五、安全与优化建议
1. 安全
- 使用SSL(Let’s Encrypt免费证书):
sudo apt install certbot python3-certbot-apache # Apache sudo certbot --apache -d site1.com -d www.site1.com - 禁用文件编辑器:在
wp-config.php添加:define('DISALLOW_FILE_EDIT', true);
2. 性能优化
- 启用OPcache(PHP配置中开启)
- 使用缓存插件(如WP Super Cache)
- 配置HTTP/2(需HTTPS)
3. 备份策略
- 定期备份数据库和网站文件
- 可使用脚本自动化备份
六、可选高级方案
| 方案 | 说明 |
|---|---|
| Docker | 使用Docker容器隔离每个WordPress,便于管理 |
| 子目录部署 | 单个域名下 /blog1, /blog2 部署不同WP |
| 反向X_X+Nginx | 统一入口,后端转发到不同服务 |
总结
部署多个WordPress的关键是:
✅ 独立数据库
✅ 独立文件目录
✅ 虚拟主机配置(基于域名区分)
✅ 正确的权限设置
✅ 安全加固(SSL、防火墙等)
通过以上配置,你可以在一台Linux服务器上安全、高效地运行多个WordPress站点。
云计算导航