部署Node.js环境
约 551 字大约 2 分钟
2026-08-29
本文介绍在 Linux 云服务器上安装 Node.js、运行一个示例应用,并使用 pm2 让应用常驻运行。
开始前
已远程连接 Linux 实例。如需对外访问,记得在安全组放行应用端口。
安装 Node.js(nvm 方式,推荐)
使用 nvm 可以安装并切换多个 Node.js 版本:
# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
# 使安装生效(重新连接或执行)
source ~/.bashrc
# 安装 LTS 版本并设为默认
nvm install --lts
nvm alias default lts/*验证:
node -v
npm -v注
nvm 按用户安装,切换到其他用户时需单独安装。仅需单一全局版本的服务器,也可使用发行版仓库安装(如 Ubuntu:sudo apt install nodejs npm),版本通常较旧。
运行示例应用
创建示例文件
app.js:const http = require('http'); const server = http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' }); res.end('Hello from 速维云 Node.js!'); }); server.listen(3000, () => { console.log('Server running at http://<实例IP>:3000/'); });启动并验证:
node app.js浏览器访问
http://<实例公网IP>:3000/(安全组已放行 3000 端口的前提下)。
使用 pm2 常驻运行
直接 node app.js 会在断开 SSH 后停止,生产环境请使用 pm2 守护:
npm install -g pm2
# 启动应用并命名
pm2 start app.js --name myapp
# 常用命令
pm2 list # 查看进程列表
pm2 logs myapp # 查看日志
pm2 restart myapp # 重启
pm2 stop myapp # 停止
# 开机自启
pm2 startup
pm2 save(可选)使用 Nginx 反向代理
应用监听 3000、对外走 80 端口时,可由 Nginx 反向代理(需已安装 Nginx,参见部署LNMP环境):
server {
listen 80;
server_name _;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}sudo nginx -t && sudo systemctl reload nginx这样安全组只需放行 80 端口,应用端口无需对公网开放。
常见问题
node: command not found
安装 nvm 后未重新加载配置,执行 source ~/.bashrc 或重新连接;确认 nvm alias default 已设置。
外网访问不了应用端口
按顺序检查:应用是否已启动(pm2 list)、端口是否在监听(ss -tunlp | grep 3000)、安全组是否放行。
