温馨提示×

debian nodejs如何开启守护

小樊
49
2026-09-07 16:21:49
栏目: 编程语言

在 Debian 上让 Node.js 程序“守护(后台常驻)”运行,常见有几种方式,从简单到生产级给你列一下。


一、最简单:nohup(不推荐长期用)

适合临时测试。

nohup node app.js > app.log 2>&1 &
  • 关闭终端也不会停
  • 重启服务器会失效
  • 不支持自动重启

查看进程:

ps aux | grep node

二、使用 systemd(✅ 推荐,Debian 官方方式)

1️⃣ 创建服务文件

sudo nano /etc/systemd/system/myapp.service

示例:

[Unit]
Description=Node.js App
After=network.target

[Service]
ExecStart=/usr/bin/node /var/www/myapp/app.js
WorkingDirectory=/var/www/myapp
User=www-data
Environment=NODE_ENV=production
Restart=always

[Install]
WantedBy=multi-user.target

⚠️ 注意:/usr/bin/nodewhich node 确认路径

2️⃣ 重载并启动

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp

3️⃣ 常用命令

systemctl status myapp
journalctl -u myapp -f

✅ 优点:

  • 开机自启
  • 崩溃自动重启
  • 日志统一管理

三、使用 PM2(✅ 开发/生产都很常用)

1️⃣ 安装

sudo npm install -g pm2

2️⃣ 启动

pm2 start app.js --name myapp

3️⃣ 开机自启

pm2 startup
pm2 save

4️⃣ 常用命令

pm2 list
pm2 logs
pm2 restart myapp
pm2 stop myapp

✅ 优点:

  • 自动重启
  • 多进程管理
  • 日志方便

四、Docker(进阶)

如果你用容器:

docker run -d node:18 node app.js

或写 Dockerfile + docker-compose


选择建议

场景 推荐
临时测试 nohup
生产服务器 systemd ✅
多 Node 项目 PM2 ✅
微服务/云 Docker

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

  • Debian 版本
  • Node 安装方式(apt / nvm)
  • 是否是 Web 服务(如 Express)

我可以帮你写一份可直接用的 systemd 配置

0