在轻量应用服务器(如腾讯云、阿里云等提供的轻量级服务器)上搭建多个网站,可以通过以下几种方式实现。这里以常见的 Linux + Nginx + PHP/MySQL 环境为例,适用于搭建 WordPress、HTML 静态网站、PHP 项目等。
✅ 方法一:使用 Nginx 虚拟主机配置(推荐)
🧩 前提条件:
- 已安装 Nginx
- 每个网站有独立的域名或子域名
- 轻量服务器支持公网 IP 或绑定多个域名
步骤 1:准备多个域名或子域名
例如:
- site1.example.com
- site2.example.com
将这些域名解析到你的轻量服务器公网 IP 地址。
步骤 2:为每个网站创建独立目录
mkdir -p /var/www/site1
mkdir -p /var/www/site2
上传各自的网站文件到对应目录。
步骤 3:创建 Nginx 虚拟主机配置文件
示例:site1.conf
server {
listen 80;
server_name site1.example.com;
root /var/www/site1;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
}
示例:site2.conf
server {
listen 80;
server_name site2.example.com;
root /var/www/site2;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
}
步骤 4:启用站点并重载 Nginx
ln -s /etc/nginx/sites-available/site1.conf /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/site2.conf /etc/nginx/sites-enabled/
# 删除默认站点(可选)
rm /etc/nginx/sites-enabled/default
# 测试配置并重启 Nginx
nginx -t
systemctl reload nginx
✅ 方法二:使用不同端口访问多个网站(不推荐用于正式站点)
如果你只有一个域名,可以使用不同端口来区分:
server {
listen 8080;
server_name example.com;
root /var/www/site1;
...
}
然后通过 http://example.com:8080 访问。
⚠️ 缺点:用户访问需要加端口号,不适合面向公众的网站。
✅ 方法三:使用 Apache 的虚拟主机(如果你用的是 Apache)
原理类似 Nginx,配置如下:
<VirtualHost *:80>
ServerName site1.example.com
DocumentRoot "/var/www/site1"
</VirtualHost>
<VirtualHost *:80>
ServerName site2.example.com
DocumentRoot "/var/www/site2"
</VirtualHost>
✅ 补充建议
| 项目 | 推荐做法 |
|---|---|
| 网站数量 | 控制在合理范围,根据服务器性能决定 |
| 数据库 | 多个网站可用同一数据库但需不同前缀或单独数据库 |
| SSL证书 | 可使用 Let’s Encrypt 免费证书为每个站点添加 HTTPS |
| 管理工具 | 可使用宝塔面板、LNMP一键安装包简化操作 |
✅ 常见问题排查
- 网站无法访问?检查防火墙是否放行 80/443 端口。
- 域名无法解析?确认 DNS 解析已生效。
- Nginx 报错?运行
nginx -t检查配置文件语法。 - 文件权限?确保网站目录权限为
www-data(Nginx 用户)可读。
如果你使用的是特定平台(如腾讯云轻量服务器、阿里云 ECS 等),也可以告诉我具体环境,我可以提供更详细的步骤说明。
云计算CLOUD