自用centos9离线安装n8n非docker部署本版

自用centos9离线安装n8n非docker部署本版

📦 部署前准备(联网环境)

先设置包环境(最新的n8n需要24的环境)

bash 复制代码
curl -fsSL https://rpm.nodesource.com/setup_24.x | sudo bash -
  1. 下载 Node.js RPM 包及依赖

    bash 复制代码
    mkdir -p ~/n8n-offline/nodejs
    sudo yum install -y yum-utils
    sudo yumdownloader --resolve --destdir ~/n8n-offline/nodejs nodejs npm
  2. 获取 n8n 源码及依赖

    bash 复制代码
    mkdir -p ~/n8n-offline/n8n
    cd ~/n8n-offline/n8n
    npm pack n8n@latest  生成 n8n-x.x.x.tgz
  3. 缓存 npm 依赖

    bash 复制代码
    mkdir -p ~/n8n-offline/npm-cache
    npm install --global --cache ~/n8n-offline/npm-cache \
      --prefer-offline --no-audit n8n
  4. 打包离线资源

    bash 复制代码
    tar -czvf n8n-offline-centos9.tar.gz -C ~/n8n-offline .

🖥️ 离线环境部署步骤

  1. 传输并解压资源包

    bash 复制代码
    tar -xzf n8n-offline-centos9.tar.gz -C /opt
  2. 安装 Node.js 环境

    bash 复制代码
    cd /opt/n8n-offline/nodejs
    sudo rpm -ivh --nodeps *.rpm  忽略依赖冲突
  3. 验证基础环境

    bash 复制代码
    node --version  应显示 v16.x 或 v18.x
    npm --version   应显示 8.x+
  4. 安装 n8n

    bash 复制代码
    cd /opt/n8n-offline/n8n
    sudo npm install -g --cache ../npm-cache \
      --prefer-offline --no-audit n8n-*.tgz
  5. 配置自动启动服务(可选)

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
  1. 启动服务

    bash 复制代码
    sudo systemctl daemon-reload
    sudo systemctl enable --now n8n
    sudo systemctl status n8n  验证状态

🌐 访问验证

  • 默认访问地址:http://服务器IP:5678

  • 首次使用需在终端获取安全凭证:

    bash 复制代码
    journalctl -u n8n -f | grep "Credentials"

⚠️ 注意事项

  1. 确保离线环境与打包环境的系统架构一致(均为 x86_64)[1]

  2. 若遇到依赖缺失,在联网机补充下载:

    bash 复制代码
    yumdownloader --resolve <包名> --destdir ~/n8n-offline/nodejs
  3. n8n 要求 Node.js ≥16.0,推荐 v18.x LTS 版本[2]

  4. 生产环境建议配置反向代理和 HTTPS 加密

相关推荐
我是koten1 小时前
【运维杂谈】K8s遇到Terminating的名称空间删除不了怎么办?(解决方案亲测有效)
linux·运维·服务器·云原生·kubernetes·k8s·名称空间
修己xj9 小时前
服务器无法解析域名?一次 DNS 配置缺失的排查与修复
运维
xbzb14 小时前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo
Android系统攻城狮15 小时前
Linux FFmpeg深度解析之avio_open调用流程与实战(三十八)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
我不会起名字32216 小时前
K8s Pod 反复重启 CrashLoopBackOff:从 exit code 到根因的 5 步排查
云原生·容器·kubernetes·k8s
瑞克-桑切斯16 小时前
ERP 企业生产管理系统部署手册
运维·docker·云原生·容器·eureka
江屿风16 小时前
【Git-组件】【Git入门:从文档灾难到版本掌控】流食般投喂
运维·笔记·git·组件·版本控制
我不会起名字32217 小时前
K8s 节点磁盘打满导致 Pod 被驱逐:4 类占用与回收顺序
运维·kubernetes·k8s·diskpressure·evicted
雪落漂泊17 小时前
Linux进程(五):进程地址空间篇
linux·运维·服务器
瑞克-桑切斯17 小时前
docker mail商城
运维·docker·容器