在腾讯云轻量应用服务器(Lighthouse)上部署两个项目是完全可行的,主要取决于你使用的操作系统、项目类型(如 Node.js、Python、Java、PHP 等)、端口配置和域名管理方式。以下是几种常见且推荐的方法来实现两个项目的部署:
✅ 方法一:使用不同端口运行两个项目(最简单)
1. 准备工作
- 腾讯云轻量应用服务器已购买并登录(通常为 Ubuntu/CentOS)
- 两个项目代码已上传到服务器(可通过
git clone或scp上传)
2. 分别启动在不同端口
假设:
- 项目 A 是一个 Node.js 应用,监听
3000端口 - 项目 B 是另一个 Express/React/Vue 后端,监听
4000端口
# 进入项目A目录并启动
cd /var/www/project-a
npm start # 假设它监听 3000 端口
# 新开终端或使用后台运行
nohup node app.js > log-a.log 2>&1 &
# 进入项目B目录并启动
cd /var/www/project-b
nohup node server.js > log-b.log 2>&1 &
3. 放开端口防火墙
在 腾讯云控制台 的轻量服务器管理页面:
- 找到“防火墙”设置
- 添加规则放行
3000和4000端口(TCP)
用户访问时通过
http://你的IP:3000和http://你的IP:4000访问两个项目。
✅ 方法二:使用 Nginx 反向X_X + 域名区分(推荐生产环境)
如果你有两个域名或一个域名的不同子域名,可以使用 Nginx 实现优雅的多项目部署。
示例场景:
projecta.com→ 指向项目 A(运行在 3000 端口)projectb.com→ 指向项目 B(运行在 4000 端口)
步骤 1:安装 Nginx
sudo apt update
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
步骤 2:配置 Nginx 虚拟主机
创建两个配置文件:
sudo nano /etc/nginx/sites-available/project-a
内容如下:
server {
listen 80;
server_name projecta.com www.projecta.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}
同样创建项目 B 配置:
sudo nano /etc/nginx/sites-available/project-b
server {
listen 80;
server_name projectb.com www.projectb.com;
location / {
proxy_pass http://127.0.0.1:4000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}
步骤 3:启用站点
sudo ln -s /etc/nginx/sites-available/project-a /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/project-b /etc/nginx/sites-enabled/
# 删除默认站点(可选)
sudo rm /etc/nginx/sites-enabled/default
# 测试配置并重启 Nginx
sudo nginx -t
sudo systemctl restart nginx
步骤 4:域名解析
在你的域名服务商处:
- 将
projecta.com解析到轻量服务器公网 IP - 将
projectb.com解析到同一 IP
这样用户访问 projecta.com 就自动转发到本地 3000 端口,projectb.com 转发到 4000 端口。
✅ 方法三:单域名 + 路径区分(如 API 分离)
如果你想用同一个域名部署多个项目,比如:
yourdomain.com→ 前端项目yourdomain.com/api→ 后端项目
Nginx 配置示例:
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000; # 前端
}
location /api/ {
proxy_pass http://127.0.0.1:4000/; # 后端,注意末尾斜杠
}
}
✅ 补充建议
-
使用 PM2 管理 Node.js 项目(推荐)
npm install -g pm2 pm2 start app.js --name "project-a" pm2 start server.js --name "project-b" pm2 startup pm2 save -
安全考虑
- 使用 HTTPS(可用 Let's Encrypt 免费证书)
- 避免暴露敏感端口
- 定期更新系统和软件
-
资源监控
- 轻量服务器配置较低(如 2C2G),注意内存占用,避免 OOM
总结
| 方式 | 适用场景 | 是否需要域名 |
|---|---|---|
| 不同端口直接访问 | 测试/临时使用 | ❌ |
| Nginx + 多域名 | 正式上线多个独立项目 | ✅ |
| Nginx + 路径区分 | 前后端分离部署 | ✅(一个域名) |
如有具体项目类型(如 Vue + Spring Boot),可以告诉我,我可以提供更详细的部署脚本和配置。
CLOUD云计算