温馨提示×

怎样在debian启动nodejs服务

小樊
48
2026-09-17 12:29:46
栏目: 编程语言

在 Debian 上启动 Node.js 服务,常见有几种方式,从“最简单”到“生产推荐”依次如下:


一、最基础:直接运行(测试用)

node app.js

或(如有 package.json)

npm start

⚠️ 关闭终端就会停止,不适合生产环境。


二、后台运行(不推荐但简单)

nohup node app.js > app.log 2>&1 &

查看日志:

tail -f app.log

三、使用 systemd(✅ 推荐,Debian 默认)

1. 假设你的情况

  • Node 路径:/usr/bin/node
  • 项目目录:/var/www/myapp
  • 启动文件:/var/www/myapp/app.js
  • 运行用户:www-data

2. 创建 service 文件

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

内容示例:

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

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

[Install]
WantedBy=multi-user.target

3. 启动并设置开机自启

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

4. 查看状态

systemctl status myapp
journalctl -u myapp -f

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

sudo npm install -g pm2
pm2 start app.js --name myapp
pm2 startup
pm2 save

常用命令:

pm2 list
pm2 logs myapp
pm2 restart myapp

五、反向代理(可选但推荐)

通常配合 Nginx:

location / {
    proxy_pass http://127.0.0.1:3000;
}

总结建议

场景 推荐方式
本地测试 node app.js
生产服务 systemdPM2
多服务管理 PM2

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

  • Node 版本
  • 是否是 Express / Nest / 原生
  • 是否需要开机启动 / 域名访问

我可以给你一份完全可直接用的配置

0