温馨提示×

ubuntu nodejs服务怎么部署

小樊
37
2026-09-19 00:39:07
栏目: 编程语言

在 Ubuntu 上部署 Node.js 服务,常见、稳妥的做法如下(从安装 → 运行 → 守护 → 反代 → 开机自启完整流程)。


一、安装 Node.js

方式 1:使用 NodeSource(推荐,版本新)

sudo apt update
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

验证:

node -v
npm -v

二、上传 / 放置项目代码

例如项目放在:

/var/www/myapp

安装依赖:

cd /var/www/myapp
npm install --production

测试启动:

node app.js
# 或
npm start

三、使用 PM2 守护进程(非常重要)

安装 PM2

sudo 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 反向代理(推荐)

安装 Nginx

sudo apt install nginx

配置站点

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

示例配置(假设 Node 监听 3000):

server {
    listen 80;
    server_name example.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_cache_bypass $http_upgrade;
    }
}

启用:

sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

五、防火墙(如有)

sudo ufw allow 80
sudo ufw allow 22

六、使用域名 + HTTPS(可选)

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com

七、最简部署总结

apt install nodejs nginx
npm install -g pm2
pm2 start app.js
nginx 反代 3000
pm2 startup && pm2 save

如果你愿意,可以告诉我:

  • Node 版本要求
  • 是否用 Docker
  • 是否已有域名
  • 是 API 还是前端项目

我可以直接给你一套可复制的部署命令或 Dockerfile。

0 踩