轻量级服务器部署两个网站的完整指南
结论先行
在轻量级服务器(如1核1GB配置)上部署两个网站是完全可行的,核心方法是通过虚拟主机(Virtual Host)配置Nginx/Apache,或使用Docker容器化技术实现隔离。以下将分步骤详细说明两种主流方案。
方案一:Nginx虚拟主机配置(推荐)
适用场景:资源有限,两个网站均为静态或轻量动态(如PHP)。
步骤1:安装Nginx
sudo apt update && sudo apt install nginx # Ubuntu/Debian
sudo yum install nginx -y # CentOS
步骤2:创建网站目录
为两个网站分别创建独立目录并设置权限:
sudo mkdir -p /var/www/site1/html /var/www/site2/html
sudo chown -R $USER:$USER /var/www/site1/html /var/www/site2/html
步骤3:配置虚拟主机
在/etc/nginx/sites-available/下创建两个配置文件:
- site1.conf
server { listen 80; server_name site1.com www.site1.com; root /var/www/site1/html; index index.html; } - site2.conf
server { listen 80; server_name site2.com www.site2.com; root /var/www/site2/html; index index.html; }
步骤4:启用配置并重启Nginx
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 restart nginx
关键点:
server_name需绑定不同域名,通过DNS解析到同一服务器IP。- 若需HTTPS,使用Let’s Encrypt为每个域名单独配置证书。
方案二:Docker容器化部署
适用场景:需要环境隔离(如不同PHP版本),或未来扩展性要求高。
步骤1:安装Docker
curl -fsSL https://get.docker.com | sh
sudo systemctl start docker
步骤2:为每个网站创建容器
- 网站1(Nginx容器)
docker run -d --name site1 -p 8080:80 -v /path/to/site1:/usr/share/nginx/html nginx - 网站2(Apache容器)
docker run -d --name site2 -p 8081:80 -v /path/to/site2:/var/www/html httpd
步骤3:配置反向X_X(可选)
若需共用80端口,使用Nginx反向X_X:
server {
listen 80;
server_name site1.com;
location / {
proxy_pass http://localhost:8080;
}
}
server {
listen 80;
server_name site2.com;
location / {
proxy_pass http://localhost:8081;
}
}
优势:
- 环境隔离:每个网站可独立配置运行环境。
- 资源限制:通过
--memory参数控制容器内存占用。
关键注意事项
- 域名绑定:确保两个域名解析到服务器IP,否则虚拟主机无法区分请求。
- 资源监控:轻量级服务器需关注CPU/内存使用,可通过
htop或docker stats查看。 - 备份策略:定期备份网站数据和配置文件,避免单点故障。
总结
- 推荐方案:若资源紧张且网站简单,优先选择Nginx虚拟主机;若需隔离或扩展,使用Docker。
- 核心原则:通过域名区分流量,合理分配端口或目录,避免冲突。
通过上述方法,即使是1GB内存的轻量服务器也能稳定运行多个网站!
云计算导航