在腾讯云轻量应用服务器(Lighthouse)上部署 Node.js 接口是一个非常常见且实用的操作。下面是一步一步的详细指南,帮助你完成从购买服务器到部署 Node.js 接口的全过程。
🚀 一、准备工作
-
注册腾讯云账号
- 访问 腾讯云官网
- 注册并实名认证。
-
购买轻量应用服务器(Lighthouse)
- 进入 轻量应用服务器控制台
- 选择配置(建议至少 1核2G,系统选 Ubuntu 或 CentOS)
- 镜像选择:Ubuntu Server 20.04 LTS(推荐)
- 设置登录方式:密钥或密码
- 购买并等待初始化完成
🔧 二、连接服务器(SSH)
使用 SSH 工具连接你的服务器:
ssh root@你的服务器公网IP
例如:
ssh root@123.206.123.45
首次登录可能需要输入密码或使用私钥。
📦 三、安装 Node.js 环境
方法一:使用 nvm(推荐)
# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 重新加载 shell 配置
source ~/.bashrc
# 安装最新版 Node.js(如 v18)
nvm install 18
# 检查是否安装成功
node -v
npm -v
推荐使用长期支持版本(LTS),如
18.x或20.x
📂 四、上传你的 Node.js 项目
方式1:使用 Git 克隆(推荐)
如果你的项目在 GitHub/Gitee 上:
git clone https://github.com/yourname/your-node-project.git
cd your-node-project
npm install
方式2:本地上传文件(使用 SCP)
scp -r ./your-project root@你的IP:/root/
然后在服务器上进入目录并安装依赖:
cd /root/your-project
npm install
⚙️ 五、运行 Node.js 服务
确保你的 app.js 或 server.js 监听的是 0.0.0.0 而不是 localhost:
app.listen(3000, '0.0.0.0', () => {
console.log('Server is running on port 3000');
});
启动服务:
node app.js
但这样关闭终端后进程会终止,因此我们需要用 PM2 守护进程。
🛡️ 六、使用 PM2 守护 Node.js 进程
安装 PM2:
npm install -g pm2
启动项目:
pm2 start app.js --name "my-api"
常用命令:
pm2 list # 查看运行中的进程
pm2 logs my-api # 查看日志
pm2 restart my-api # 重启
pm2 delete my-api # 删除
pm2 startup # 设置开机自启(执行后按提示操作)
🌐 七、配置防火墙和安全组
-
腾讯云控制台设置安全组
- 进入轻量服务器控制台
- 找到你的实例 → 安全组 → 编辑规则
- 添加入站规则:
- 协议类型:TCP
- 端口:3000(或你项目使用的端口)
- 源 IP:0.0.0.0/0(或限制为特定 IP)
-
服务器本地防火墙(可选)
ufw allow 3000
🔄 八、(可选)使用 Nginx 反向X_X
为了使用域名和 HTTPS,建议用 Nginx 做反向X_X。
1. 安装 Nginx
apt update
apt install nginx -y
systemctl start nginx
systemctl enable nginx
2. 配置反向X_X
编辑配置文件:
nano /etc/nginx/sites-available/default
修改 location / 部分:
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:
nginx -t
systemctl reload nginx
🌍 九、绑定域名(可选)
- 在腾讯云购买域名或使用已有域名。
- 进行 DNS 解析,将域名指向你的服务器公网 IP。
- 在 Nginx 中配置 server_name 为你自己的域名。
- 使用 Let’s Encrypt 配置 HTTPS(推荐使用 Certbot)。
✅ 十、验证部署
访问:
http://你的服务器IP:3000
# 或通过 Nginx 后:
http://你的域名
如果接口返回数据,说明部署成功!
🧰 小贴士
- 使用
pm2 log查看实时日志排错 - 定期备份代码和数据库
- 生产环境不要使用
node app.js直接运行 - 考虑使用
.env文件管理环境变量
📚 示例项目结构参考
/my-api
├── app.js
├── package.json
├── routes/
└── models/
package.json 中确保有启动脚本:
"scripts": {
"start": "node app.js"
}
如有具体问题(如报错信息、端口不通等),欢迎提供细节,我可以进一步帮你排查!
云服务器