在轻量服务器上搭建多个WordPress站点可以通过虚拟主机(Virtual Host)或容器化技术实现。以下是两种常见方法的详细步骤:
方法一:使用虚拟主机(Apache/Nginx)
适用于单服务器通过不同域名或子域名托管多个WordPress。
步骤1:准备环境
-
安装LAMP/LEMP栈:
# Ubuntu/Debian 示例(LAMP) sudo apt update sudo apt install apache2 mysql-server php php-mysql libapache2-mod-php php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip# 若用Nginx(LEMP): sudo apt install nginx mysql-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -
启动服务并设置开机自启:
sudo systemctl start apache2 # 或 nginx sudo systemctl enable apache2 -
配置MySQL:
sudo mysql_secure_installation为每个WordPress创建独立数据库和用户:
CREATE DATABASE wp_site1; CREATE USER 'wp_user1'@'localhost' IDENTIFIED BY 'password1'; GRANT ALL ON wp_site1.* TO 'wp_user1'@'localhost'; FLUSH PRIVILEGES;
步骤2:配置虚拟主机
-
Apache:
- 为每个站点创建配置文件(如
/etc/apache2/sites-available/site1.conf):<VirtualHost *:80> ServerName site1.com DocumentRoot /var/www/site1 <Directory /var/www/site1> AllowOverride All Require all granted </Directory> </VirtualHost> - 启用站点并重载配置:
sudo a2ensite site1.conf sudo systemctl reload apache2
- 为每个站点创建配置文件(如
-
Nginx:
- 创建配置文件(如
/etc/nginx/conf.d/site1.conf):server { listen 80; server_name site1.com; root /var/www/site1; index index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php-fpm.sock; } } - 测试并重载Nginx:
sudo nginx -t sudo systemctl reload nginx
- 创建配置文件(如
步骤3:安装WordPress
-
下载并解压到对应目录:
sudo wget https://wordpress.org/latest.tar.gz -P /tmp sudo tar -xzvf /tmp/latest.tar.gz -C /var/www/site1 --strip-components=1 sudo chown -R www-data:www-data /var/www/site1 -
通过浏览器访问域名完成安装向导,填写对应的数据库信息。
方法二:使用Docker容器化
适合需要隔离环境或快速部署的场景。
步骤1:安装Docker和Docker Compose
sudo apt install docker.io docker-compose
sudo systemctl enable --now docker
步骤2:创建docker-compose.yml
为每个WordPress创建独立目录和配置文件:
# /opt/wordpress_site1/docker-compose.yml
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: wp_site1
MYSQL_USER: wp_user
MYSQL_PASSWORD: userpass
volumes:
- db_data:/var/lib/mysql
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8001:80" # 不同站点使用不同端口
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wp_user
WORDPRESS_DB_PASSWORD: userpass
WORDPRESS_DB_NAME: wp_site1
volumes:
- wp_data:/var/www/html
volumes:
db_data:
wp_data:
步骤3:启动容器
cd /opt/wordpress_site1
sudo docker-compose up -d
重复上述步骤为其他站点创建配置(修改端口和目录)。
注意事项
- 域名解析:确保所有域名已解析到服务器IP(如使用Cloudflare或DNS管理面板)。
- HTTPS:使用Let’s Encrypt免费证书:
sudo apt install certbot python3-certbot-nginx # 或 certbot-apache sudo certbot --nginx -d site1.com - 资源限制:轻量服务器需监控资源使用(
htop、df -h),避免超载。 - 备份:定期备份数据库和文件(可通过脚本或插件实现)。
总结
- 虚拟主机:适合传统部署,资源占用低,但需手动配置。
- Docker:隔离性好,便于迁移,适合技术较熟悉的用户。
根据需求选择合适方案即可高效托管多个WordPress站点。
云服务器