在Linux服务器上部署多个WordPress需要哪些配置?

在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安装

  1. 浏览 http://site1.com 进入WordPress安装向导。
  2. 填写数据库信息(使用前面创建的数据库名、用户名、密码)。
  3. 设置站点标题、管理员账号等。

每个站点重复此过程。


五、安全与优化建议

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站点。

未经允许不得转载:云计算导航 » 在Linux服务器上部署多个WordPress需要哪些配置?