在轻量服务器(如腾讯云轻量应用服务器、阿里云轻量服务器、或VPS等)上搭建多个网站,可以通过 虚拟主机(Virtual Host) 的方式实现。以下是详细的步骤和建议,适用于常见的Linux系统(如Ubuntu/CentOS)和主流Web服务器软件(如Nginx或Apache)。
一、准备工作
-
服务器环境
- 系统:Ubuntu 20.04 / CentOS 7+ 等
- 域名:至少两个(如
site1.com和site2.com),并已解析到服务器IP - Web服务器:Nginx(推荐)或 Apache
- 基础服务:安装好 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx + MySQL + PHP)
-
登录服务器
ssh root@your_server_ip
二、安装Web服务器(以Nginx为例)
# Ubuntu/Debian
sudo apt update
sudo apt install nginx -y
# CentOS/RHEL
sudo yum install epel-release -y
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
三、创建多个网站目录
为每个网站创建独立的根目录:
sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html
# 创建测试页面
echo "<h1>Welcome to Site1</h1>" | sudo tee /var/www/site1.com/html/index.html
echo "<h1>Welcome to Site2</h1>" | sudo tee /var/www/site2.com/html/index.html
# 设置权限
sudo chown -R www-data:www-data /var/www/site1.com/html
sudo chown -R www-data:www-data /var/www/site2.com/html
sudo chmod -R 755 /var/www
四、配置Nginx虚拟主机
1. 创建站点配置文件
sudo nano /etc/nginx/sites-available/site1.com
内容如下:
server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/site1.com/html;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
# 如果需要PHP支持,取消下面的注释
# location ~ .php$ {
# include snippets/fastcgi-php.conf;
# fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# }
}
复制并修改第二个站点:
sudo cp /etc/nginx/sites-available/site1.com /etc/nginx/sites-available/site2.com
sudo nano /etc/nginx/sites-available/site2.com
修改 server_name 和 root 路径:
server {
listen 80;
server_name site2.com www.site2.com;
root /var/www/site2.com/html;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
}
2. 启用站点(创建软链接到 sites-enabled)
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/
3. 删除默认站点(可选)
sudo rm /etc/nginx/sites-enabled/default
4. 测试配置并重启Nginx
sudo nginx -t
sudo systemctl reload nginx
五、域名解析
确保你的域名(如 site1.com 和 site2.com)的 DNS A 记录指向服务器的公网IP。
六、(可选)配置HTTPS(使用Let’s Encrypt)
安装 Certbot 并为每个站点申请SSL证书:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d site1.com -d www.site1.com
sudo certbot --nginx -d site2.com -d www.site2.com
Certbot 会自动修改Nginx配置并启用HTTPS。
七、其他注意事项
-
资源限制
轻量服务器通常内存较小(如1GB),建议:- 使用轻量级PHP版本(如PHP-FPM + OPcache)
- 避免运行过多服务
- 使用缓存(如Redis、静态缓存)
-
数据库多站共用或分离
- 可在同一个MySQL中为不同网站创建不同数据库和用户
- 示例:
CREATE DATABASE site1_db; CREATE USER 'site1_user'@'localhost' IDENTIFIED BY 'password'; GRANT ALL ON site1_db.* TO 'site1_user'@'localhost';
-
使用宝塔面板(可选)
如果你不想手动配置,可以安装 宝塔面板(BT.cn),它提供图形化界面,一键创建多个网站、数据库、SSL等,非常适合新手。安装命令(CentOS):
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
总结
✅ 通过 Nginx虚拟主机,你可以在一台轻量服务器上轻松运行多个网站。
✅ 每个网站独立目录、独立域名、可独立配置SSL。
✅ 推荐使用宝塔面板降低运维难度,尤其适合初学者。
如果你告诉我你使用的具体系统、服务器品牌、是否需要PHP/数据库等,我可以提供更定制化的配置脚本。
PHPWP博客