前面提到了如何让n8n支持局域网访问,有朋友问npm安装的具体配置方法。其实npm安装的配置比Docker更灵活,我分享几种常用的配置方式。
临时配置:适合快速测试
最简单的方法就是直接在启动命令前加环境变量:
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启动:
pm2 start ~/ecosystem.config.jspm2 savepm2 startup这样配置的好处是自动重启、开机自启,管理方便。
Systemd服务配置:Linux服务器
在Linux服务器上,也可以创建systemd服务:
[Unit]Description=n8n Workflow Automation ServiceAfter=network.target
[Service]Type=simpleUser=rootGroup=rootEnvironment="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 startRestart=on-failure
[Install]WantedBy=multi-user.target关键配置提醒
无论用哪种方式,有几点必须注意:
- N8N_HOST=0.0.0.0:这是局域网访问的关键,别忘了设置
- WEBHOOK_URL:根据访问方式设置正确的Webhook地址
- 安全认证:生产环境务必开启基础认证
配置完成后,用局域网其他设备访问http://你的IP:5678测试是否成功。