在腾讯云轻量应用服务器(Lighthouse)上,如果你想通过一个公网 IP 和不同的端口配置多个站点,可以通过以下几种方式实现。以下是详细的操作步骤和建议:
✅ 场景说明
你有一个腾讯云轻量服务器,想通过不同的端口访问多个网站,例如:
http://your-ip:80→ 站点Ahttp://your-ip:8080→ 站点Bhttps://your-ip:443→ 站点C(SSL)
🛠 方法一:使用 Nginx/Apache 配置基于端口的虚拟主机
1. 安装 Web 服务(如 Nginx)
如果你还没有安装 Nginx,可以执行:
sudo apt update
sudo apt install nginx -y
2. 准备多个网站目录
比如:
sudo mkdir -p /var/www/siteA
sudo mkdir -p /var/www/siteB
分别放上各自的 index.html 文件。
3. 创建 Nginx 配置文件
站点 A(监听 80 端口):
sudo nano /etc/nginx/sites-available/siteA
内容如下:
server {
listen 80;
server_name _;
location / {
root /var/www/siteA;
index index.html;
try_files $uri $uri/ =404;
}
}
站点 B(监听 8080 端口):
sudo nano /etc/nginx/sites-available/siteB
内容如下:
server {
listen 8080;
server_name _;
location / {
root /var/www/siteB;
index index.html;
try_files $uri $uri/ =404;
}
}
4. 启用配置并测试
sudo ln -s /etc/nginx/sites-available/siteA /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/siteB /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
5. 开放防火墙端口
在腾讯云控制台中开放端口:
登录 腾讯云控制台 → 轻量服务器 → 找到你的实例 → 防火墙规则 → 添加规则:
- 端口 80(HTTP)
- 端口 8080(自定义)
- 如果要用 HTTPS,则添加 443
📌 方法二:使用 Docker 映射不同端口运行多个服务
如果你使用 Docker 部署多个 Web 应用,也可以通过映射不同端口来区分站点:
docker run -d -p 80:80 --name siteA your-siteA-image
docker run -d -p 8080:80 --name siteB your-siteB-image
这样,外部访问:
http://your-ip:80→ SiteAhttp://your-ip:8080→ SiteB
注意:容器内部默认监听 80,但你可以根据需要修改映射端口。
🔐 使用 HTTPS(可选)
如果你要为这些站点配置 HTTPS:
- 申请 SSL 证书(可用 Let’s Encrypt)
- 修改 Nginx 配置监听 443 并设置证书路径
- 在防火墙中开放 443 端口
❗注意事项
- 轻量服务器默认只允许常用端口(如 80、443、22),其他端口需手动在防火墙中开放。
- 域名绑定多站点一般用域名 + 80/443 端口 + Host 头区分,这里我们是通过不同端口区分。
- 不同站点尽量使用不同的端口,避免冲突。
🧪 测试方法
从浏览器访问:
http://your-server-ip:80http://your-server-ip:8080
看是否显示了你配置的不同页面。
✅ 总结
| 方式 | 工具 | 特点 |
|---|---|---|
| Nginx 配置 | Nginx | 支持静态资源、反向X_X、HTTPS |
| Docker | Docker | 快速部署、隔离性强 |
| Apache | Apache | 类似 Nginx,适合熟悉 Apache 的用户 |
如果你有具体使用的 Web 框架(如 WordPress、Node.js、Django 等),我也可以给出更具体的配置示例。欢迎继续提问!
ECLOUD博客