一个服务器怎么安装两个wordpress?

在一台服务器上安装两个 WordPress 网站是非常常见的需求。根据服务器的配置、技术能力以及管理需求,主要有以下几种主流方案:


✅ 推荐方案对比

方案 优点 缺点 适用场景
1. 使用面板(如宝塔、aaPanel) 最简单、可视化操作、一键部署 占用一定资源、依赖第三方工具 新手、中小站长、快速上线
2. Nginx/Apache + PHP-FPM(手动配置) 灵活、高性能、无额外开销 需要 Linux 基础、配置复杂 有经验的用户、生产环境
3. Docker 容器化 隔离性好、易迁移、版本可控 学习曲线稍陡、需熟悉 Docker 开发者、多版本测试、DevOps 团队
4. 子域名/子目录共享 WP Multisite 单实例管理、统一更新 插件兼容性风险、备份恢复复杂 同一团队管理的多个小站

📌 对于大多数用户,推荐使用【方案1:宝塔面板】或【方案3:Docker】。


🔧 方案一:使用宝塔面板(最推荐新手)

步骤简述:

  1. 安装宝塔面板

    # CentOS 示例
    yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

    (其他系统见宝塔官网)

  2. 登录宝塔后台

    • 访问 http://你的服务器IP:8888
    • 安装推荐的软件套件:Nginx + MySQL + PHP
  3. 添加第一个网站

    • 点击「网站」→「添加站点」
    • 输入域名(如 www.example1.com
    • 选择 PHP 版本(建议 7.4 或 8.0+)
    • 勾选「创建数据库」
    • 完成后,通过 FTP 或宝塔文件管理器上传 WordPress 安装包并解压
  4. 运行 WordPress 安装向导

    • 访问 http://www.example1.com
    • 按提示填写数据库信息,完成安装
  5. 重复步骤 3–4 添加第二个网站

    • 使用不同域名(如 www.example2.comblog.example1.com
    • 创建独立数据库和独立目录
    • 再次运行安装向导

优点:每个网站完全隔离,互不影响;支持 SSL 证书自动申请;方便管理。


🐳 方案二:使用 Docker(推荐进阶用户)

前提条件:

  • 已安装 Docker 和 Docker Compose

步骤简述:

1. 创建项目目录结构

mkdir ~/wp-sites
cd ~/wp-sites
mkdir site1 site2

2. 为 site1 创建 docker-compose.yml

# ~/wp-sites/site1/docker-compose.yml
version: '3'
services:
  wordpress:
    image: wordpress:php8.2-apache
    ports:
      - "8081:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: strong_password
      WORDPRESS_DB_NAME: wp_site1
    volumes:
      - ./wp-content:/var/www/html/wp-content
    depends_on:
      - db
  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: root_pass
      MYSQL_DATABASE: wp_site1
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: strong_password
    volumes:
      - db_data_site1:/var/lib/mysql

volumes:
  db_data_site1:

3. 启动 site1

cd ~/wp-sites/site1
docker compose up -d

4. 为 site2 复制并修改配置

  • 复制 site1site2
  • 修改端口为 8082、数据库名、用户名等
  • 启动 site2

5. 反向X_X(可选但推荐)

使用 Nginx 或 Caddy 将域名映射到对应端口:

server {
    listen 80;
    server_name www.example1.com;
    location / {
        proxy_pass http://localhost:8081;
    }
}

server {
    listen 80;
    server_name www.example2.com;
    location / {
        proxy_pass http://localhost:8082;
    }
}

优点:环境隔离、易于备份和迁移、可轻松升级 WordPress 版本。


🖥️ 方案三:手动配置 LAMP/LNMP(适合高级用户)

核心思路:

  • 安装 Apache/Nginx + PHP + MySQL
  • 为每个网站创建独立的虚拟主机配置
  • 每个网站使用独立的数据库和用户

示例(Nginx + PHP-FPM):

  1. 创建目录

    mkdir -p /var/www/site1 /var/www/site2
  2. 配置 Nginx 虚拟主机

    # /etc/nginx/sites-available/site1.conf
    server {
       listen 80;
       server_name www.example1.com;
       root /var/www/site1;
       index index.php index.html;
    
       location / {
           try_files $uri $uri/ /index.php?$args;
       }
    
       location ~ .php$ {
           fastcgi_pass unix:/run/php/php8.2-fpm.sock;
           fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
           include fastcgi_params;
       }
    }
  3. 启用站点并重启 Nginx

    ln -s /etc/nginx/sites-available/site1.conf /etc/nginx/sites-enabled/
    nginx -t && systemctl restart nginx
  4. 创建 MySQL 数据库和用户

    CREATE DATABASE wp_site1;
    CREATE USER 'wp_user1'@'localhost' IDENTIFIED BY 'strong_password';
    GRANT ALL PRIVILEGES ON wp_site1.* TO 'wp_user1'@'localhost';
    FLUSH PRIVILEGES;
  5. 上传 WordPress 并运行安装向导

重复以上步骤为 site2 创建另一套配置。


⚠️ 重要注意事项

  1. 资源分配
    确保服务器内存/CPU 足够支撑两个 WordPress 实例。建议至少 2GB RAM,推荐 4GB+。

  2. 安全加固

    • 为每个网站设置不同的数据库密码
    • 定期更新 WordPress、主题、插件
    • 启用防火墙(UFW/firewalld)
    • 安装 SSL 证书(Let’s Encrypt 免费)
  3. 备份策略

    • 分别备份每个网站的文件和数据库
    • 可使用宝塔的定时备份功能或 Docker 卷备份
  4. 性能优化

    • 启用 OPcache
    • 使用 CDN
    • 缓存插件(如 WP Super Cache、W3 Total Cache)
  5. 避免冲突

    • 不要共用同一个 WordPress 安装目录
    • 不要共用同一个数据库用户(除非明确知道风险)

❓ FAQ

Q:能否用同一个 WordPress 安装管理两个域名?
A:可以,但需要配置 WP_SITEURLWP_HOME,或使用插件如 WordPress MU Domain Mapping。但不推荐,维护成本高且易出错。

Q:两个网站之间会互相影响吗?
A:如果使用上述隔离方案(独立目录、独立数据库、独立进程),则不会互相影响。

Q:如何选择 PHP 版本?
A:建议使用 PHP 8.0 或更高版本,兼容性更好、性能更优。确保你的插件兼容该版本。


如你告诉我你的服务器操作系统、是否已有面板、技术水平等信息,我可以提供更具体的指导!