如何在一个服务器上搭建多个wordpress?

在一个服务器上搭建多个 WordPress 网站是完全可行的,常见于 VPS(如阿里云、腾讯云、AWS、DigitalOcean 等)或本地服务器。以下是详细步骤和最佳实践:


一、准备工作

  1. 服务器环境

    • 推荐使用 Linux(如 Ubuntu 20.04/22.04、CentOS 7/8)
    • 安装 LAMP(Linux + Apache + MySQL + PHP)或 LEMP(Nginx 替代 Apache)
  2. 域名(可选但推荐)

    • 每个 WordPress 站点可以绑定一个独立域名或子域名
    • 例如:site1.comsite2.comblog1.yoursite.com
  3. 数据库

    • 每个 WordPress 站点应使用独立的数据库(或独立的表前缀)

二、安装基础环境(以 Ubuntu + LEMP 为例)

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

# 安装 Nginx
sudo apt install nginx -y

# 安装 MySQL
sudo apt install mysql-server -y
sudo mysql_secure_installation

# 安装 PHP 及常用扩展
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y

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

# 创建网站根目录
sudo mkdir -p /var/www/site1.com
sudo mkdir -p /var/www/site2.com

# 设置权限
sudo chown -R www-data:www-data /var/www/site1.com
sudo chown -R www-data:www-data /var/www/site2.com

四、下载并配置 WordPress

1. 下载 WordPress

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

2. 复制到每个站点目录

sudo cp -r /tmp/wordpress/* /var/www/site1.com/
sudo cp -r /tmp/wordpress/* /var/www/site2.com/

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

sudo mysql -u root -p

在 MySQL 中执行:

-- 为 site1 创建数据库和用户
CREATE DATABASE wp_site1;
CREATE USER 'user_site1'@'localhost' IDENTIFIED BY 'strong_password1';
GRANT ALL PRIVILEGES ON wp_site1.* TO 'user_site1'@'localhost';
FLUSH PRIVILEGES;

-- 为 site2 创建数据库和用户
CREATE DATABASE wp_site2;
CREATE USER 'user_site2'@'localhost' IDENTIFIED BY 'strong_password2';
GRANT ALL PRIVILEGES ON wp_site2.* TO 'user_site2'@'localhost';
FLUSH PRIVILEGES;

EXIT;

六、配置 Nginx 虚拟主机(每个站点一个配置文件)

1. 为 site1.com 创建配置

sudo nano /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:/var/run/php/php8.1-fpm.sock;
    }

    location ~ /.ht {
        deny all;
    }
}

2. 为 site2.com 创建配置

sudo nano /etc/nginx/sites-available/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/

# 测试配置
sudo nginx -t

# 重启 Nginx
sudo systemctl reload nginx

七、完成 WordPress 安装

  1. 在浏览器中访问:

    • http://site1.com
    • http://site2.com
  2. 按照向导填写数据库信息:

    • 数据库名:wp_site1wp_site2
    • 用户名:user_site1user_site2
    • 密码:对应设置的密码
    • 数据库主机:localhost
    • 表前缀:可自定义如 wp1_wp2_(推荐)
  3. 完成安装,设置站点标题、管理员账号等。


八、(可选)使用子域名或子目录

  • 子域名:如 blog1.yoursite.com,只需在 DNS 添加 CNAME 或 A 记录,并配置对应的 Nginx server block。
  • 子目录:如 yoursite.com/blog1,可在主站点的 Nginx 配置中添加 location /blog1 并指向独立目录。

九、安全建议

  1. 每个站点使用独立数据库和用户,避免权限泄露。
  2. 定期更新 WordPress 核心、主题和插件
  3. 启用 HTTPS(使用 Let’s Encrypt 免费证书)
    sudo apt install certbot python3-certbot-nginx -y
    sudo certbot --nginx -d site1.com -d www.site1.com
  4. 限制文件权限
    find /var/www/site1.com -type f -exec chmod 644 {} ;
    find /var/www/site1.com -type d -exec chmod 755 {} ;

十、管理多个站点的工具(可选)

  • 使用 Wordfence、iThemes Security 等插件加强安全。
  • 使用 ManageWP、MainWP、InfiniteWP 等工具集中管理多个 WordPress 站点。

总结

✅ 一个服务器可以轻松运行多个 WordPress 站点,关键在于:

  • 独立目录
  • 独立数据库
  • 独立 Nginx/Apache 虚拟主机配置
  • 正确的权限和安全设置

只要合理规划,一台 2GB 内存以上的 VPS 可以稳定运行 5~10 个中小型 WordPress 站点。

如需进一步自动化,可考虑使用 Docker宝塔面板 简化部署。需要这些方案也可以告诉我。

未经允许不得转载:云计算HECS » 如何在一个服务器上搭建多个wordpress?