Skip to main content
Benny的老巢 Logo
Overview

基于npm安装n8n系统,如何配置环境变量一篇文章讲清楚

January 6, 2026
1 min read

前面提到了如何让n8n支持局域网访问,有朋友问npm安装的具体配置方法。其实npm安装的配置比Docker更灵活,我分享几种常用的配置方式。

临时配置:适合快速测试

最简单的方法就是直接在启动命令前加环境变量:

Terminal window
N8N_BASIC_AUTH_ACTIVE=true N8N_BASIC_AUTH_USER=admin N8N_BASIC_AUTH_PASSWORD=your_password N8N_HOST=0.0.0.0 n8n

这样配置的优点是简单直接,缺点是每次启动都要输入这些参数。

PM2守护进程配置:生产环境推荐

如果需要稳定运行,我推荐用PM2管理n8n进程。创建一个配置文件ecosystem.config.js

module.exports = {
apps: [{
name: "my-n8n",
script: "n8n",
env: {
N8N_BASIC_AUTH_ACTIVE: "true",
N8N_BASIC_AUTH_USER: "admin",
N8N_BASIC_AUTH_PASSWORD: "your_secure_password",
N8N_HOST: "0.0.0.0",
N8N_PORT: "5678",
WEBHOOK_URL: "http://你的服务器IP:5678"
}
}]
}

然后用PM2启动:

Terminal window
pm2 start ~/ecosystem.config.js
pm2 save
pm2 startup

这样配置的好处是自动重启、开机自启,管理方便。

Systemd服务配置:Linux服务器

在Linux服务器上,也可以创建systemd服务:

[Unit]
Description=n8n Workflow Automation Service
After=network.target
[Service]
Type=simple
User=root
Group=root
Environment="N8N_HOST=0.0.0.0"
Environment="N8N_BASIC_AUTH_ACTIVE=true"
Environment="N8N_BASIC_AUTH_USER=admin"
Environment="N8N_BASIC_AUTH_PASSWORD=your_password"
Environment="WEBHOOK_URL=http://你的服务器IP:5678"
ExecStart=/root/.nvm/versions/node/v22.17.0/bin/n8n start
Restart=on-failure
[Install]
WantedBy=multi-user.target

关键配置提醒

无论用哪种方式,有几点必须注意:

  1. N8N_HOST=0.0.0.0:这是局域网访问的关键,别忘了设置
  2. WEBHOOK_URL:根据访问方式设置正确的Webhook地址
  3. 安全认证:生产环境务必开启基础认证

配置完成后,用局域网其他设备访问http://你的IP:5678测试是否成功。