在轻量化服务器(如 1核2G 的 VPS)上搭建多个 WordPress 站点是可行的,但需要合理优化资源使用。以下是详细步骤和建议:
✅ 一、选择合适的环境(推荐轻量级方案)
避免使用 Apache + mod_php 这种较重的组合,推荐以下轻量化技术栈:
推荐技术栈:
- Web 服务器:Nginx(比 Apache 更省资源)
- PHP 处理器:PHP-FPM(配合 Nginx 使用)
- 数据库:MySQL 或 MariaDB(可选轻量替代:SQLite + 插件,但功能受限)
- 缓存机制:Redis / Memcached(可选,提升性能)
- 操作系统:Ubuntu Server LTS 或 Debian(稳定且社区支持好)
✅ 二、部署多个 WordPress 的方法
方法一:多站点共用数据库(不同表前缀)——推荐
每个 WordPress 使用独立目录 + 独立数据库表前缀。
步骤:
- 安装基础环境
# Ubuntu 示例
sudo apt update
sudo apt install nginx mysql-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
- 创建多个网站目录
sudo mkdir -p /var/www/site1
sudo mkdir -p /var/www/site2
- 下载 WordPress 到各个目录
cd /var/www/site1
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz --strip-components=1
cd /var/www/site2
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz --strip-components=1
- 为每个站点创建独立数据库和用户
CREATE DATABASE wp_site1;
CREATE DATABASE wp_site2;
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'strongpassword1';
CREATE USER 'user2'@'localhost' IDENTIFIED BY 'strongpassword2';
GRANT ALL PRIVILEGES ON wp_site1.* TO 'user1'@'localhost';
GRANT ALL PRIVILEGES ON wp_site2.* TO 'user2'@'localhost';
FLUSH PRIVILEGES;
- 配置
wp-config.php(关键:不同表前缀)
编辑 /var/www/site1/wp-config.php:
$table_prefix = 'wp1_';
define('DB_NAME', 'wp_site1');
define('DB_USER', 'user1');
define('DB_PASSWORD', 'strongpassword1');
编辑 /var/www/site2/wp-config.php:
$table_prefix = 'wp2_';
define('DB_NAME', 'wp_site2');
define('DB_USER', 'user2');
define('DB_PASSWORD', 'strongpassword2');
- 为每个站点配置 Nginx 虚拟主机
创建站点配置文件:
sudo nano /etc/nginx/sites-available/site1.conf
内容示例:
server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/site1;
index index.php index.html;
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;
}
}
同样创建 site2.conf,修改 server_name 和 root 路径。
启用站点:
sudo ln -s /etc/nginx/sites-available/site1.conf /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2.conf /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
- 完成安装
访问 http://site1.com 和 http://site2.com,分别完成 WordPress 安装流程。
✅ 三、优化建议(节省资源)
-
PHP OPcache 启用
; /etc/php/8.1/fpm/php.ini opcache.enable=1 opcache.memory_consumption=128 opcache.max_accelerated_files=4000 -
使用轻量级主题和插件
- 避免使用复杂主题(如 Divi)
- 只安装必要插件(如 WP Super Cache、Redis Object Cache)
-
启用对象缓存(Redis)
sudo apt install redis-server安装 Redis 插件并配置,减少数据库查询。
-
限制 PHP-FPM 子进程数(防内存爆)
修改
/etc/php/8.1/fpm/pool.d/www.conf:pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 -
使用 CDN 提速静态资源
- 可搭配 Cloudflare 免费 CDN,减轻服务器负载
-
定时清理无用数据
- 清理修订版本、垃圾评论、未使用的插件/主题
✅ 四、进阶方案(更高效)
| 方案 | 说明 |
|---|---|
| Docker 部署 | 用 Docker Compose 管理多个 WordPress 实例,隔离更好 |
| Caddy 替代 Nginx | Caddy 自动 HTTPS,配置更简单 |
| LiteSpeed + LSCache | 性能更强,但免费版有限制 |
✅ 五、注意事项
- 内存监控:使用
htop、free -h监控内存使用 - 备份策略:定期备份数据库和网站文件
- 安全加固:
- 修改 WordPress 登录路径(用插件如 WPS Hide Login)
- 禁用文件编辑器:在
wp-config.php添加define('DISALLOW_FILE_EDIT', true); - 使用强密码 + 2FA
✅ 总结
在轻量服务器上运行多个 WordPress 是完全可行的,关键是:
✅ 使用 Nginx + PHP-FPM
✅ 每个站点独立目录 + 独立数据库/表前缀
✅ 合理限制 PHP 进程数
✅ 启用缓存(OPcache、Redis、页面缓存)
✅ 保持系统精简,避免资源浪费
如果你有域名或计划使用子域名(如 blog1.yoursite.com),也可以配置泛解析 + 动态虚拟主机进一步自动化管理。
如有具体配置问题,欢迎继续提问!
CDNK博客