温馨提示×

如何在 Debian 跑 NodeJS 服

小樊
42
2026-09-22 21:36:58
栏目: 编程语言

下面给你一份**在 Debian 上运行 Node.js 服务(NodeJS 服)**的常见、稳妥做法,从安装到后台运行都覆盖。


一、在 Debian 安装 Node.js

方式 1(推荐):用 NodeSource 官方源

# 以 Node 20 为例
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

验证:

node -v
npm -v

方式 2:Debian 自带源(版本偏旧)

sudo apt update
sudo apt install -y nodejs npm

二、准备 Node.js 服务

假设你的项目目录是 /opt/myapp

cd /opt/myapp
npm install

启动测试:

node app.js
# 或
npm start

三、让 Node 服务在后台运行(推荐用 systemd)

1. 创建 systemd 服务

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

示例内容:

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

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

[Install]
WantedBy=multi-user.target

User 可换成你的用户,app.js 改成你的入口文件


2. 启动并设置开机自启

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

查看状态:

sudo systemctl status myapp

日志:

journalctl -u myapp -f

四、用反向代理(Nginx,可选但推荐)

sudo apt install -y nginx

示例配置:

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
    }
}
sudo nginx -t
sudo systemctl reload nginx

五、简单方式(不推荐生产)

nohup node app.js &

或

pm2 start app.js

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

  • Debian 版本(11 / 12?)
  • Node 版本需求
  • 是否是 Web 服务 / WebSocket / 游戏服

我可以直接给你一份可复制的完整配置。

0 踩