温馨提示×

ubuntu怎么部署nodejs项目

小樊
45
2026-09-25 03:38:40
栏目: 编程语言

下面给你一套在 Ubuntu 上部署 Node.js 项目 的常见、实战可用流程,从零开始,适合新手到生产环境。


一、服务器准备

  1. 一台 Ubuntu 服务器(推荐 20.04 / 22.04)
  2. 使用 SSH 登录
ssh root@你的服务器IP
  1. 更新系统
sudo apt update && sudo apt upgrade -y

二、安装 Node.js

方式一(推荐):使用 NodeSource

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

验证:

node -v
npm -v

三、上传 Node.js 项目

方式 1:Git(推荐)

sudo apt install git -y
git clone https://github.com/你的项目.git
cd 项目目录
npm install

方式 2:本地上传

scp -r ./project root@IP:/var/www/

四、运行 Node.js 项目

测试运行

node app.js
# 或
npm start

如果是 Express:

app.listen(3000)

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

安装 PM2

sudo npm install -g pm2

启动项目

pm2 start app.js

常用命令

pm2 list
pm2 logs
pm2 restart app
pm2 stop app
pm2 delete app

开机自启

pm2 startup
pm2 save

六、配置 Nginx 反向代理(推荐)

安装 Nginx

sudo apt install nginx -y

配置站点

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

示例配置:

server {
    listen 80;
    server_name yourdomain.com;

    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_cache_bypass $http_upgrade;
    }
}

启用:

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

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

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com

八、防火墙(重要)

sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable

九、常见问题

端口被占用

lsof -i:3000

项目崩溃

pm2 logs

内存不足

  • 使用 swap
  • 或升级服务器配置

十、最简部署总结

apt update
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install -y nodejs git nginx
git clone 项目
npm install
pm2 start app.js
nginx 反向代理

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

  • ✅ 项目类型(Express / Nest / Vue / Next)
  • ✅ 是否用域名
  • ✅ 是否要 Docker 部署

我可以给你 定制版部署方案。

0 踩