在腾讯云轻量应用服务器(Tencent Cloud Lighthouse)上部署 Node.js 项目是一个非常常见且实用的操作。以下是详细的步骤指南,帮助你从零开始完成部署。
✅ 一、准备工作
-
购买并登录轻量应用服务器
- 登录 腾讯云控制台
- 购买一台轻量应用服务器(推荐选择 Ubuntu 或 CentOS 系统)
- 记录公网 IP 地址
- 设置登录密码或使用 SSH 密钥对
-
本地环境准备
- 安装
SSH工具(如:Terminal、PuTTY、Xshell、VS Code Remote-SSH) - 准备好你的 Node.js 项目代码(可上传到 GitHub/Gitee)
- 安装
✅ 二、连接服务器
使用 SSH 连接到你的轻量服务器:
ssh root@你的服务器公网IP
# 例如:
ssh root@123.45.67.89
输入密码后即可进入系统。
✅ 三、安装 Node.js 和 npm
以 Ubuntu 系统为例:
方法一:使用 nvm(推荐)
# 1. 安装 nvm(Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# 退出重新登录或执行以下命令加载 nvm
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
# 2. 安装最新 LTS 版本的 Node.js
nvm install --lts
# 或指定版本,如:
nvm install 18
# 3. 验证安装
node -v
npm -v
方法二:直接下载二进制包(备用)
# 下载 Node.js(以 v18.x 为例)
cd /tmp
wget https://nodejs.org/dist/v18.17.0/node-v18.17.0-linux-x64.tar.xz
# 解压
sudo mkdir -p /usr/local/lib/nodejs
sudo tar -xJf node-v18.17.0-linux-x64.tar.xz -C /usr/local/lib/nodejs
# 配置环境变量
echo 'export NODEJS_HOME=/usr/local/lib/nodejs/node-v18.17.0-linux-x64' >> ~/.profile
echo 'export PATH=$NODEJS_HOME/bin:$PATH' >> ~/.profile
# 加载配置
source ~/.profile
# 验证
node -v
npm -v
✅ 四、上传并部署项目
方式 1:通过 Git 克隆项目(推荐)
# 安装 git
sudo apt update && sudo apt install git -y
# 克隆你的项目(替换为你的仓库地址)
git clone https://github.com/yourname/your-node-project.git
cd your-node-project
# 安装依赖
npm install
# 或 yarn install(如果你用 yarn)
方式 2:本地上传文件(小项目可用)
使用 scp 命令从本地上传:
scp -r ./your-project root@123.45.67.89:/root/myapp
然后在服务器上进入目录安装依赖:
cd /root/myapp
npm install
✅ 五、配置进程守护(使用 PM2)
避免 Node.js 进程退出,推荐使用 PM2 守护进程。
# 全局安装 PM2
npm install -g pm2
# 启动项目(假设入口文件是 app.js 或 server.js)
pm2 start app.js --name "my-node-app"
# 查看运行状态
pm2 list
# 开机自启(重要!)
pm2 startup
# 执行提示中的命令,类似:
# pm2 save
✅ 六、配置防火墙和端口
1. 在腾讯云控制台开放端口
- 进入 轻量应用服务器控制台
- 找到你的实例 → “防火墙” → 添加规则
- 放行你的应用端口(如
3000,8080,5000等) - 如果要使用 HTTP/HTTPS,建议放行
80和443
2. 测试服务是否运行
在项目中确保监听的是 0.0.0.0 而不是 localhost:
app.listen(3000, '0.0.0.0', () => {
console.log('Server running on port 3000');
});
✅ 七、(可选)绑定域名 + HTTPS
1. 解析域名到服务器 IP
在腾讯云 DNS 控制台添加 A 记录,指向你的轻量服务器公网 IP。
2. 使用 Nginx 反向X_X(推荐)
安装 Nginx:
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
配置反向X_X(编辑 /etc/nginx/sites-available/default):
server {
listen 80;
server_name yourdomain.com www.yourdomain.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;
}
}
测试并重载 Nginx:
sudo nginx -t
sudo systemctl reload nginx
3. 免费 HTTPS(使用 Certbot + Let’s Encrypt)
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
自动配置 SSL 证书,并设置自动续期。
✅ 八、常用命令总结
| 功能 | 命令 |
|---|---|
| 启动应用 | pm2 start app.js --name "myapp" |
| 停止应用 | pm2 stop myapp |
| 重启应用 | pm2 restart myapp |
| 查看日志 | pm2 logs myapp |
| 删除进程 | pm2 delete myapp |
| 保存开机启动 | pm2 save |
✅ 九、访问你的网站
浏览器访问:
http://你的服务器IP:3000 # 如果没配 Nginx
http://yourdomain.com # 配置了域名和 Nginx 后
🔐 安全建议
- 不要用 root 用户长期运行项目(可创建普通用户)
- 定期更新系统:
sudo apt update && sudo apt upgrade -y - 使用
.env文件管理敏感信息,不要提交到代码库 - 使用
pm2或systemd管理进程,确保崩溃后自动重启
如有具体框架(如 Express、NestJS、Next.js)需求,也可以告诉我,我可以提供更具体的部署方案。
祝你部署顺利!🚀
云计算导航