奋斗
努力

一台服务器两个WordPress?

云计算

在一台服务器上运行两个独立的WordPress站点是完全可行的,以下是几种常见的实现方法及注意事项:

一、主要实现方案

  1. 使用不同端口

    • 修改Nginx/Apache配置,让两个站点监听不同端口(如80和8080)
    • 示例Nginx配置:

      server {
       listen 80;
       server_name site1.com;
       root /var/www/site1;
       # WordPress配置...
      }
      
      server {
       listen 8080;
       server_name site2.com;
       root /var/www/site2;
       # WordPress配置...
      }
    • 缺点:非标准端口影响用户体验(需在URL后加端口号)
  2. 基于子目录

    • 主站点:example.com
    • 子目录站点:example.com/site2
    • 需特别注意两个站点的.htaccess规则避免冲突
  3. 虚拟主机(推荐方案)

    • 通过不同域名区分(需解析两个域名到服务器IP)
    • 典型Nginx配置:

      server {
       server_name site1.com;
       root /var/www/site1;
       index index.php;
       # 其他WordPress规则...
      }
      
      server {
       server_name site2.com;
       root /var/www/site2;
       index index.php;
       # 其他WordPress规则...
      }
  4. Docker容器

    • 每个WordPress运行在独立容器中
    • 使用docker-compose管理:

      version: '3'
      services:
      wordpress1:
       image: wordpress
       ports:
         - "8000:80"
       volumes:
         - ./site1:/var/www/html
      
      wordpress2:
       image: wordpress
       ports:
         - "8001:80"
       volumes:
         - ./site2:/var/www/html

二、数据库配置

  • 推荐方案:创建两个独立数据库(如wp_site1wp_site2
  • 同一数据库不同前缀(需修改wp-config.php):

    // 站点1
    $table_prefix = 'wp1_';
    
    // 站点2
    $table_prefix = 'wp2_';

三、资源分配建议

  1. 对PHP进程进行限制(防止单个站点耗尽资源):

    ; 在php-fpm配置中
    pm.max_children = 30  ; 单个站点最大进程数
  2. 使用缓存插件减轻负载(如WP Super Cache)

四、安全注意事项

  1. 确保每个站点有独立的Linux系统用户

    sudo useradd -m wpuser1
    sudo chown -R wpuser1:wpuser1 /var/www/site1
  2. 定期隔离备份:

    # 站点1备份
    tar -czvf site1_backup.tar.gz /var/www/site1 /path/to/site1_db.sql

五、性能优化方案

  1. 为每个WordPress配置独立的OPCache:

    [opcache]
    opcache.memory_consumption=128
    opcache.interned_strings_buffer=16
  2. 使用不同的PHP版本(通过PHP-FPM池实现)

六、故障排查要点

  1. 权限问题检查:

    find /var/www/site1 -type d -exec chmod 755 {} ;
    find /var/www/site1 -type f -exec chmod 644 {} ;
  2. 日志检查:

    • Nginx错误日志:/var/log/nginx/error.log
    • PHP错误日志:/var/log/php-fpm/error.log

选择方案时,若有两个可用域名,虚拟主机是最优解;若为测试环境,Docker方案更便于管理。所有方案均需确保服务器资源(CPU/内存)足够支撑两个站点的并发访问。

未经允许不得转载:云服务器 » 一台服务器两个WordPress?