速卖通素材
努力

一台服务器上搭建多个WordPress网站?

服务器

是的,完全可以在一台服务器上搭建多个 WordPress 网站。这是非常常见且高效的部署方式,尤其适用于个人开发者、小型企业或托管服务提供商。以下是实现方法和关键步骤:


✅ 一、实现方式

在一台服务器上运行多个 WordPress 站点,主要有以下几种方式:

1. 使用虚拟主机(Virtual Hosts)

  • 通过 Web 服务器(如 Apache 或 Nginx)配置多个虚拟主机。
  • 每个域名或子域名对应一个独立的 WordPress 安装目录。
  • 共享同一台服务器资源(CPU、内存、数据库等)。

2. 使用子目录部署

  • 所有站点放在不同目录下,例如:
    • /var/www/site1/
    • /var/www/site2/
  • 配合域名或子域名访问。

3. 使用 Docker 容器化部署(推荐现代化方式)

  • 每个 WordPress 站点运行在独立容器中(包含 PHP、Web 服务、数据库连接等)。
  • 更好地隔离环境,便于管理、备份和扩展。

✅ 二、基本部署步骤(以 LAMP/Nginx + MySQL 为例)

假设环境:

  • 操作系统:Ubuntu 20.04 / 22.04
  • Web 服务器:Nginx 或 Apache
  • 数据库:MySQL/MariaDB
  • PHP:PHP 8.x

🛠️ 步骤 1:安装基础环境(LAMP/LEMP)

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装 Nginx, MySQL, PHP
sudo apt install nginx mysql-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y

启动并启用服务:

sudo systemctl enable nginx mysql php-fpm
sudo systemctl start nginx mysql php-fpm

🛠️ 步骤 2:为每个网站创建独立目录

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

设置权限:

sudo chown -R www-data:www-data /var/www
sudo chmod -R 755 /var/www

🛠️ 步骤 3:为每个网站创建独立数据库

登录 MySQL:

sudo mysql -u root

创建数据库和用户:

CREATE DATABASE wp_site1;
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'strongpassword1';
GRANT ALL PRIVILEGES ON wp_site1.* TO 'user1'@'localhost';
FLUSH PRIVILEGES;

CREATE DATABASE wp_site2;
CREATE USER 'user2'@'localhost' IDENTIFIED BY 'strongpassword2';
GRANT ALL PRIVILEGES ON wp_site2.* TO 'user2'@'localhost';
FLUSH PRIVILEGES;

EXIT;

🛠️ 步骤 4:下载并配置 WordPress

进入每个站点目录下载 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 rm latest.tar.gz

# 同样操作 site2
cd /var/www/site2.com/public_html
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz --strip-components=1
sudo rm latest.tar.gz

🛠️ 步骤 5:配置 Nginx 虚拟主机

创建配置文件:

sudo nano /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;
    }

    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
  • http://site2.com/wp-admin/install.php

按照向导填写数据库信息(使用各自数据库名、用户名、密码)。


✅ 三、优化与注意事项

项目 建议
安全性 每个站点使用独立数据库用户,避免共用账号
性能 使用缓存插件(如 WP Super Cache)、CDN、OPcache
备份 定期备份各站点文件和数据库(可用 duplicator、All-in-One WP Migration)
SSL 使用 Let’s Encrypt 为每个站点添加 HTTPS:
sudo certbot --nginx -d site1.com -d www.site1.com
资源监控 监控 CPU、内存使用,防止某个站点占用过多资源

✅ 四、高级方案(可选)

方案 说明
Docker + Docker Compose 每个 WordPress 独立容器,数据库也分离,更安全易管理
宝塔面板 / cPanel 图形化管理多个站点,适合新手
WordPress 多站点网络(Multisite) 单个 WordPress 实例管理多个子站(子域名或子目录),但所有站点共享用户和部分数据

⚠️ 注意:WordPress Multisite 不等于“一台服务器多个独立 WordPress”,它是单一 WordPress 实例的多站点模式,适用场景不同。


✅ 总结

你可以在一台服务器上轻松运行多个独立的 WordPress 网站,只需:

  1. 配置多个虚拟主机(Nginx/Apache)
  2. 每个站点使用独立目录和数据库
  3. 正确设置权限和域名解析
  4. 可选:使用 Docker 提升隔离性和可维护性

只要服务器资源配置足够(如 2GB+ 内存,2核 CPU),运行 3~10 个中小型 WordPress 站点完全没有问题。


如果你告诉我你的服务器配置(内存、CPU)、是否已有域名、技术熟练程度,我可以给你定制一套部署脚本或推荐控制面板工具。

未经允许不得转载:轻量云Cloud » 一台服务器上搭建多个WordPress网站?