走啊走
加油

腾讯轻量应用服务器怎么部署两个项目?

服务器价格表

在腾讯云轻量应用服务器(Lighthouse)上部署两个项目是完全可行的,主要取决于你使用的操作系统、项目类型(如 Node.js、Python、Java、PHP 等)、端口配置和域名管理方式。以下是几种常见且推荐的方法来实现两个项目的部署:


✅ 方法一:使用不同端口运行两个项目(最简单)

1. 准备工作

  • 腾讯云轻量应用服务器已购买并登录(通常为 Ubuntu/CentOS)
  • 两个项目代码已上传到服务器(可通过 git clonescp 上传)

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. 放开端口防火墙

腾讯云控制台 的轻量服务器管理页面:

  • 找到“防火墙”设置
  • 添加规则放行 30004000 端口(TCP)

用户访问时通过 http://你的IP:3000http://你的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/;  # 后端,注意末尾斜杠
    }
}

✅ 补充建议

  1. 使用 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
  2. 安全考虑

    • 使用 HTTPS(可用 Let's Encrypt 免费证书)
    • 避免暴露敏感端口
    • 定期更新系统和软件
  3. 资源监控

    • 轻量服务器配置较低(如 2C2G),注意内存占用,避免 OOM

总结

方式 适用场景 是否需要域名
不同端口直接访问 测试/临时使用
Nginx + 多域名 正式上线多个独立项目
Nginx + 路径区分 前后端分离部署 ✅(一个域名)

如有具体项目类型(如 Vue + Spring Boot),可以告诉我,我可以提供更详细的部署脚本和配置。