自用centos9离线安装n8n非docker部署本版
📦 部署前准备(联网环境)
先设置包环境(最新的n8n需要24的环境)
bash
curl -fsSL https://rpm.nodesource.com/setup_24.x | sudo bash -
-
下载 Node.js RPM 包及依赖
bashmkdir -p ~/n8n-offline/nodejs sudo yum install -y yum-utils sudo yumdownloader --resolve --destdir ~/n8n-offline/nodejs nodejs npm -
获取 n8n 源码及依赖
bashmkdir -p ~/n8n-offline/n8n cd ~/n8n-offline/n8n npm pack n8n@latest 生成 n8n-x.x.x.tgz -
缓存 npm 依赖
bashmkdir -p ~/n8n-offline/npm-cache npm install --global --cache ~/n8n-offline/npm-cache \ --prefer-offline --no-audit n8n -
打包离线资源
bashtar -czvf n8n-offline-centos9.tar.gz -C ~/n8n-offline .
🖥️ 离线环境部署步骤
-
传输并解压资源包
bashtar -xzf n8n-offline-centos9.tar.gz -C /opt -
安装 Node.js 环境
bashcd /opt/n8n-offline/nodejs sudo rpm -ivh --nodeps *.rpm 忽略依赖冲突 -
验证基础环境
bashnode --version 应显示 v16.x 或 v18.x npm --version 应显示 8.x+ -
安装 n8n
bashcd /opt/n8n-offline/n8n sudo npm install -g --cache ../npm-cache \ --prefer-offline --no-audit n8n-*.tgz -
配置自动启动服务(可选)
bash
sudo tee /etc/systemd/system/n8n.service <<EOF
[Unit]
Description=n8n workflow automation service
After=network.target
[Service]
User=root
WorkingDirectory=/root
ExecStart=$(which n8n)
Restart=always
Environment=NODE_ENV=production
Environment=TZ=Asia/Shanghai
Environment=N8N_SECURE_COOKIE=false
Environment=N8N_HOST=0.0.0.0
Environment=N8N_PORT=5678
[Install]
WantedBy=multi-user.target
EOF
-
启动服务
bashsudo systemctl daemon-reload sudo systemctl enable --now n8n sudo systemctl status n8n 验证状态
🌐 访问验证
-
默认访问地址:
http://服务器IP:5678 -
首次使用需在终端获取安全凭证:
bashjournalctl -u n8n -f | grep "Credentials"
⚠️ 注意事项
-
确保离线环境与打包环境的系统架构一致(均为 x86_64)[1]
-
若遇到依赖缺失,在联网机补充下载:
bashyumdownloader --resolve <包名> --destdir ~/n8n-offline/nodejs -
n8n 要求 Node.js ≥16.0,推荐 v18.x LTS 版本[2]
-
生产环境建议配置反向代理和 HTTPS 加密