奋斗
努力

服务器配置多个wordpress网站?

云计算

在一台服务器上配置多个 WordPress 网站是完全可行的,也是常见的做法。以下是详细的步骤和建议,帮助你在同一台服务器上部署和管理多个独立的 WordPress 站点。


✅ 一、环境准备(以 Linux + Nginx + PHP + MySQL 为例)

1. 安装 LEMP 或 LAMP 环境

  • Linux(如 Ubuntu/CentOS)
  • Engine (Nginx) 或 Apache
  • MySQL/MariaDB
  • PHP
# Ubuntu 示例
sudo apt update
sudo apt install nginx mysql-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip

✅ 二、为每个 WordPress 站点创建独立目录

建议将每个站点放在 /var/www/ 下的独立子目录中:

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

✅ 三、下载并配置每个 WordPress

1. 下载 WordPress 到各自目录

cd /var/www/site1.com
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz --strip-components=1
sudo chown -R www-data:www-data /var/www/site1.com

site2.com 同样操作。


✅ 四、为每个站点创建独立数据库

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;

✅ 五、配置 Nginx 虚拟主机(Virtual Hosts)

为每个站点创建一个 Nginx 配置文件:

1. 创建配置文件:/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:/run/php/php8.1-fpm.sock; # 根据你的 PHP 版本调整
    }

    location ~ /.ht {
        deny all;
    }
}

2. 为 site2.com 创建类似配置:

复制上面内容,修改 server_nameroot 路径即可。

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/

# 测试配置并重启 Nginx
sudo nginx -t
sudo systemctl reload nginx

✅ 六、域名解析与 SSL(可选但推荐)

1. 域名解析

确保 site1.comsite2.com 的 DNS 指向你的服务器 IP。

2. 使用 Let’s Encrypt 配置 HTTPS

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d site1.com -d www.site1.com
sudo certbot --nginx -d site2.com -d www.site2.com

Certbot 会自动更新 Nginx 配置并启用 HTTPS。


✅ 七、安全与维护建议

项目 建议
文件权限 chown -R www-data:www-data /var/www/*,避免使用 777
数据库隔离 每个站点使用独立数据库和用户
定期更新 及时更新 WordPress 核心、主题和插件
备份策略 使用工具如 UpdraftPlus 或脚本定期备份数据库和文件
防火墙 使用 ufw 开放 80/443,关闭其他端口
安全插件 推荐安装 Wordfence、iThemes Security 等

✅ 八、可选:使用 Docker 部署(更高级)

你也可以使用 Docker Compose 为每个站点创建独立容器,实现更好的隔离性:

# docker-compose.yml for site1
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:
      - db-site1-data:/var/lib/mysql

  wordpress-site1:
    image: wordpress:latest
    depends_on:
      - db-site1
    environment:
      WORDPRESS_DB_HOST: db-site1:3306
      WORDPRESS_DB_USER: user1
      WORDPRESS_DB_PASSWORD: pass1
      WORDPRESS_DB_NAME: wp_site1
    volumes:
      - ./site1-content:/var/www/html/wp-content
    ports:
      - "8081:80"

多个站点可用不同 compose 文件或一个文件中定义多个服务。


✅ 总结

在同一台服务器上运行多个 WordPress 站点的关键是:

  • 独立目录
  • 独立数据库
  • 独立 Nginx 虚拟主机配置
  • 良好的权限和安全设置

只要合理规划资源(CPU、内存、带宽),一台 VPS 完全可以托管多个中小型 WordPress 网站。


如果你提供具体环境(如 Ubuntu 版本、是否已有网站等),我可以给出更定制化的配置脚本。

未经允许不得转载:云服务器 » 服务器配置多个wordpress网站?