如何在轻量应用服务器上搭建Node.js后端服务?

在轻量应用服务器(如腾讯云轻量应用服务器、阿里云轻量应用服务器等)上搭建 Node.js 后端服务,可以按照以下步骤进行操作。以 Ubuntu 系统 为例,演示完整的部署流程:


✅ 一、准备工作

  1. 购买并登录轻量应用服务器

    • 登录云服务商控制台(如腾讯云、阿里云)。
    • 购买轻量应用服务器,选择操作系统(推荐 Ubuntu 20.04/22.04 LTS)。
    • 获取公网 IP 地址和 SSH 登录密码或密钥。
  2. 使用 SSH 连接到服务器

    ssh root@你的服务器公网IP

    输入密码或使用私钥登录。


✅ 二、安装 Node.js 和 npm

方法一:使用 NodeSource APT 仓库(推荐)

# 更新系统包列表
sudo apt update

# 安装 curl(如果未安装)
sudo apt install -y curl

# 添加 NodeSource 仓库(以 Node.js 18.x 为例)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -

# 安装 Node.js 和 npm
sudo apt install -y nodejs

# 验证安装
node --version
npm --version

注:你可以选择其他版本,如 setup_20.x


✅ 三、上传或创建你的 Node.js 项目

方式1:直接在服务器创建简单项目(测试用)

mkdir my-node-app
cd my-node-app
npm init -y
npm install express

创建 app.js 文件:

// app.js
const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;

app.get('/', (req, res) => {
  res.send('Hello from Node.js on Light Server!');
});

app.listen(PORT, '0.0.0.0', () => {
  console.log(`Server is running on http://0.0.0.0:${PORT}`);
});

方式2:上传本地项目

  • 使用 scp 命令上传:
    scp -r ./your-local-project root@your-server-ip:/root/my-node-app

✅ 四、安装 PM2(进程管理工具,保持服务常驻)

sudo npm install -g pm2

# 启动应用
pm2 start app.js --name "my-api"

# 查看运行状态
pm2 list

# 查看日志
pm2 logs

设置开机自启:

pm2 startup
# 按提示执行生成的命令,例如:
# sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u root --hp /root

✅ 五、配置防火墙和安全组

确保服务器的 安全组规则 允许访问你使用的端口(如 3000)。

在轻量服务器控制台中:

  • 找到「防火墙」或「安全组」设置。
  • 添加入站规则:允许 TCP 端口 3000(或你使用的端口)从 0.0.0.0/0 访问。

或者使用 ufw(Ubuntu 自带防火墙):

sudo ufw allow 3000
sudo ufw enable

✅ 六、(可选)使用 Nginx 反向(推荐用于生产)

  1. 安装 Nginx:

    sudo apt install -y nginx
    sudo systemctl start nginx
    sudo systemctl enable nginx
  2. 配置反向:
    编辑配置文件:

    sudo nano /etc/nginx/sites-available/default

    修改 location / 块:

    location / {
        proxy_pass http://localhost: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;
    }
  3. 测试并重启 Nginx:

    sudo nginx -t
    sudo systemctl restart nginx

现在可以通过 http://你的服务器IP 直接访问服务。


✅ 七、访问你的服务

打开浏览器,输入:

http://<服务器公网IP>:3000

或如果你配置了 Nginx,则访问:

http://<服务器公网IP>

应该能看到返回内容。


✅ 常见问题排查

问题 解决方案
无法访问端口 检查安全组、防火墙是否放行端口
Node.js 报错权限 使用 sudo 或切换为普通用户运行
PM2 启动失败 检查日志 pm2 logs,确认依赖是否安装
Nginx 502 错误 确保 Node.js 服务正在运行且监听 localhost:3000

✅ 总结

搭建流程概览:

  1. 登录服务器 → 2. 安装 Node.js → 3. 部署项目 → 4. 使用 PM2 托管 → 5. 开放端口 → 6. (可选)Nginx 反向

这样,你就成功在轻量应用服务器上部署了一个稳定的 Node.js 后端服务!

如有需要,还可以结合域名 + HTTPS(Let’s Encrypt)进一步完善。需要我继续教你吗?