走啊走
加油

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

服务器价格表

在Linux服务器上部署多个WordPress站点,通常需要配置Web服务器、数据库、PHP环境以及域名解析等。以下是详细的配置步骤和建议:


一、基础环境准备

1. 安装LAMP或LEMP环境

选择以下任一种组合(推荐使用Nginx + PHP-FPM,性能更好):

  • LAMP: Linux + Apache + MySQL/MariaDB + PHP
  • LEMP: Linux + Nginx + MySQL/MariaDB + PHP-FPM
# Ubuntu/Debian 示例(以LEMP为例)
sudo apt update
sudo apt install nginx mysql-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip

二、为每个WordPress创建独立的配置

2. 创建网站目录结构

为每个站点创建独立的根目录:

sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html

设置权限:

sudo chown -R www-data:www-data /var/www/site1.com/html
sudo chmod -R 755 /var/www/site1.com

3. 下载并解压WordPress

cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz

# 复制到各站点目录
sudo cp -r wordpress/* /var/www/site1.com/html/
sudo cp -r wordpress/* /var/www/site2.com/html/

4. 配置数据库(为每个站点创建独立数据库)

登录MySQL:

sudo mysql -u root -p

为每个站点创建数据库和用户:

CREATE DATABASE wp_site1;
CREATE DATABASE wp_site2;

CREATE USER 'user_site1'@'localhost' IDENTIFIED BY 'strong_password';
CREATE USER 'user_site2'@'localhost' IDENTIFIED BY 'another_password';

GRANT ALL PRIVILEGES ON wp_site1.* TO 'user_site1'@'localhost';
GRANT ALL PRIVILEGES ON wp_site2.* TO 'user_site2'@'localhost';

FLUSH PRIVILEGES;
EXIT;

5. 配置Web服务器(以Nginx为例)

为每个站点创建独立的server块配置文件:

/etc/nginx/sites-available/site1.com

server {
    listen 80;
    server_name site1.com www.site1.com;
    root /var/www/site1.com/html;
    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:/run/php/php8.1-fpm.sock; # 根据PHP版本调整
    }

    location ~ /.ht {
        deny all;
    }
}

同理创建 site2.com 的配置。

启用站点:

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 nginx -t
sudo systemctl reload nginx

6. 配置WordPress

访问 http://site1.com/wp-admin/install.php 进行安装。

在安装过程中:

  • 数据库名:wp_site1
  • 用户名:user_site1
  • 密码:对应密码
  • 数据库主机:localhost
  • 表前缀:可自定义如 wp1_(推荐不同站点使用不同前缀)

三、安全与优化建议

✅ 安全措施

  • 使用HTTPS(Let's Encrypt免费SSL):
    sudo apt install certbot python3-certbot-nginx
    sudo certbot --nginx -d site1.com -d www.site1.com
  • 禁用文件编辑器:在 wp-config.php 中添加:
    define('DISALLOW_FILE_EDIT', true);
  • 设置强密码和定期更新插件主题。
  • 限制XML-RPC(如有必要)。

✅ 性能优化

  • 启用OPcache(在 php.ini 中):
    opcache.enable=1
    opcache.memory_consumption=128
  • 使用缓存插件(如WP Super Cache、W3 Total Cache)。
  • 配置Nginx缓存或使用Redis对象缓存。

四、维护建议

  • 备份策略:定期备份数据库和网站文件(可用 mysqldump + rsync 或工具如 wp-cli)。
  • 更新管理:保持WordPress核心、主题、插件及时更新。
  • 日志监控:查看Nginx和PHP错误日志排查问题。

五、可选:使用Docker简化多站部署(进阶)

使用Docker Compose为每个站点运行独立容器,实现完全隔离。

示例 docker-compose.yml 片段:

version: '3.8'
services:
  db-site1:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: wp_site1
      MYSQL_USER: user1
      MYSQL_PASSWORD: pass1
    volumes:
      - db1_data:/var/lib/mysql

  wordpress-site1:
    image: wordpress:latest
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db-site1:3306
      WORDPRESS_DB_USER: user1
      WORDPRESS_DB_PASSWORD: pass1
      WORDPRESS_DB_NAME: wp_site1
    volumes:
      - wp1_data:/var/www/html

volumes:
  db1_data:
  wp1_data:

可复制多份用于不同端口或域名反向X_X。


总结

部署多个WordPress的关键是:

要素 推荐做法
Web服务器 Nginx虚拟主机或Apache虚拟主机
数据库 每个站点独立数据库+用户
文件目录 每个站点独立根目录
安全 HTTPS、权限控制、定期更新
扩展性 Docker或自动化脚本批量部署

通过合理规划,一台Linux服务器可以稳定运行数十个WordPress站点。

如需进一步自动化,可考虑使用 WordOpsRunCloudPlesk 等管理面板。