在 Debian 上启动 Node.js 服务,常见有几种方式,从“最简单”到“生产推荐”依次如下:
node app.js
或(如有 package.json)
npm start
⚠️ 关闭终端就会停止,不适合生产环境。
nohup node app.js > app.log 2>&1 &
查看日志:
tail -f app.log
/usr/bin/node/var/www/myapp/var/www/myapp/app.jswww-datasudo 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
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp
systemctl status myapp
journalctl -u myapp -f
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 |
| 生产服务 | systemd 或 PM2 |
| 多服务管理 | PM2 |
如果你愿意,可以告诉我:
我可以给你一份完全可直接用的配置。