温馨提示×

debian如何部署nodejs项目

小樊
41
2026-09-25 21:12:05
栏目: 编程语言

在 Debian 上部署 Node.js 项目,通常可以按下面的流程来做。下面以 Debian 11 / 12 为例,涵盖从环境准备到生产部署的常见做法。


一、准备系统环境

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装基础工具

sudo apt install -y curl git build-essential

二、安装 Node.js

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

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

查看版本:

node -v
npm -v

方式二:使用 apt(版本较旧)

sudo apt install -y nodejs npm

三、上传或拉取项目代码

1. 使用 Git

cd /var/www
sudo git clone https://github.com/yourname/yourproject.git
cd yourproject

2. 安装依赖

npm install --production

四、运行 Node.js 项目

方式一:直接运行(测试用)

node app.js
# 或
npm start

⚠️ 这种方式的缺点:关闭终端即停止。


方式二:使用 PM2(生产推荐)

安装 PM2

sudo npm install -g pm2

启动项目

pm2 start app.js --name my-node-app

常用命令

pm2 list
pm2 logs
pm2 restart my-node-app
pm2 stop my-node-app

开机自启

pm2 startup
pm2 save

五、使用 Nginx 反向代理(推荐)

1. 安装 Nginx

sudo apt install -y nginx

2. 配置站点

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

示例配置:

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;
    }
}

3. 启用配置

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

六、配置 HTTPS(可选但推荐)

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

七、常见问题

端口无法访问

  • 检查防火墙:
sudo ufw allow 80
sudo ufw allow 443
  • 云服务器需开放安全组

Node 版本不兼容

  • 使用 nvm 管理 Node 版本

八、简单总结(推荐方案)

✅ Debian
✅ NodeSource 安装 Node
✅ PM2 管理进程
✅ Nginx 反向代理
✅ Certbot HTTPS

如果你有 具体项目类型(Express / NestJS / Next.js) 或 部署方式(Docker / 本地),我可以给你更细的方案。

0 踩