零基础部署 n8n:火山引擎 ECS + 轩辕专业版详细教程(2026年最新)

0 阅读14分钟

什么是 n8n?为什么我要自托管它?

n8n(读作 nate-n)是一个开源、低代码的工作流自动化平台。它允许你通过拖拽节点的方式,快速连接各种服务、APIAI 模型,实现复杂的自动化任务。比如:

  • 每天定时抓取 RSS 新闻 → 用 AI 总结 → 发送到微信/邮箱/飞书
  • 新增 Google Sheet 行 → 自动创建 Notion 页面 + Slack 通知
  • 监控 X 关键词 → 筛选后推送到 Discord 或企业微信
  • 集成国内大模型(如豆包、DeepSeek、通义千问)做智能回复、内容生成、RAG 问答
  • 通过 Webhook 接收外部事件,构建自己的 mini APIagentic 系统

核心优势

  • 完全免费Community 版无任务限制、无执行次数上限
  • 自托管:数据完全掌握在自己手里,隐私安全,不受第三方限流、涨价或服务中断
  • 高度可扩展:支持 500+ 官方整合 + 海量社区节点,还能用 JavaScript/Python 自定义代码节点
  • 强大 AI 支持:内置 AI Agent 节点(基于 LangChain),轻松接入 OpenAI/Anthropic/国内模型,支持多步 agent、自定义工具、内存管理(Simple/Redis/Postgres)、RAG
  • 跨平台部署Docker 一键部署,支持 LinuxNASK8s,甚至树莓派或云服务器

缺点:需要自己维护服务器、配置 HTTPS、处理更新;学习曲线稍陡(节点众多);复杂 workflow 可能消耗较多资源。但一旦跑通,性价比极高,尤其适合开发者、独立创作者、中小型团队,甚至大型企业内部工具链。

我选择在火山引擎 ECS 上部署 n8n,是因为国内访问速度快、按量计费便宜、轩辕镜像加速 Docker 拉取方便。整个过程预计 30-60 分钟,下面记录完整流程,供大家参考。

注意事项

  • 本教程使用按量计费 ECS,避免资源浪费。生产环境建议使用 PostgreSQL 数据库,并配置 HTTPS 和域名。
  • 确保账号有足够余额(至少 100 元,用于 ECS 和带宽)。
  • 部署后,n8n 默认端口 5678,请在安全组中开放。
  • 中国地区用户必须使用轩辕专业版镜像加速(免费版高峰期限流严重)。

一、准备工作

轩辕专业版充值 & 获取专属加速域名

由于 Docker Hub 在国内拉取极慢,且免费版轩辕(docker.xuanyuan.me)高峰期限流、经常出现 size validation failed 等问题,本教程全程使用轩辕专业版

  1. 打开官网:https://xuanyuan.cloud

    轩辕镜像官网首页

  2. 注册/登录(手机号或邮箱均可,实名认证可选但推荐)

  3. 进入「个人中心」或「充值流量」 → 充值

  4. 选择最小流量包充值(建议先买 50GB,价格约 8 元,按真实下载流量计费,用多少扣多少)

    支持微信/支付宝,充值后几秒到账

  5. 充值成功后,页面会显示你的专属加速域名

    轩辕镜像专属域名

  6. 复制纯域名部分,例如 xxxxxxxx.xuanyuan.run

    这个域名就是你后续所有 docker pull 的前缀,例如:

    docker pull xxxxxxxx.xuanyuan.run/n8nio/n8n:latest
    

注意:专业版流量用完会报 402 Payment Required,记得及时充值。日常使用 n8n 拉镜像每月 5-20GB 足够。

火山引擎账号准备

  • 已实名认证,有余额 ≥100 元

二、基础配置

创建 ECS 实例

基本信息

参数名称推荐值说明是否必填
计费类型按量计费适合测试/临时部署,用完可随时释放/停止,避免包年包月锁定时长必填
地域及可用区VPC/子网一致,例如 华南 1 (广州) 可用区 A必须匹配之前创建的 VPC 和子网,否则无法绑定必填
实例规格族通用型 g3i / g4i / g3al推荐 g2ig4i 系列,性价比高;n8n 轻量不需 GPU必填
具体实例规格ecs.g4i.large2 vCPU + 8 GiB 内存)入门够用(2 vCPU + 4-8 GiB 内存);复杂 workflow 升级到 xlarge必填
镜像类型公共镜像稳定、更新快必填
镜像Ubuntu 24.04(或 20.04Docker 安装方便,社区支持好;也可 CentOS 8/Stream,但 Ubuntu 更现代必填
系统盘类型极速型 SSD 云盘性价比高,IOPS/吞吐量够 n8n + Docker必填
系统盘容量20 GiB(最小值)够系统 + Docker + n8n 数据;后期可扩容必填
数据盘不添加(可选后期添加)n8n 数据通过 Docker 卷持久化,无需额外数据盘可选

ecs-basic

创建私有网络(VPC + 子网)

网络配置

参数名称推荐值说明是否必填
私有网络n8n-vpc(之前创建的,下方有创建私有网络的配置)必须与子网同一 VPC必填
子网n8n-subnet(之前创建的,下方有创建私有网络的配置)必须匹配可用区必填
安全组n8n-sg(之前创建的,下方有创建私有网络的配置)已开放 TCP 22 (SSH) + 5678 (n8n) + 80/443 (HTTPS)必填
弹性公网 IP分配弹性公网 IP必须分配公网 IP,否则无法外部访问 n8n必填

ecs-vpc

创建私有网络 - VPC

参数名称推荐值说明是否必填
地域华南 1 (广州) 或离你最近的(如华东 2 等)VPC 是地域级资源,必须与后续 ECS、子网一致。Seattle 用户建议选华北 2(北京)降低延迟。必填
名称n8n-vpcautomation-vpc自定义,便于识别,支持中英文、数字、短横线、下划线,长度 1-128 字符。必填
描述用于 n8n 自动化部署的私有网络,隔离 ECS 和子网可写用途、项目名,便于后期管理。长度 0-256 字符,支持中英文。可选
IPv4 CIDR192.168.0.0/1610.0.0.0/16VPC 的私有 IP 地址段范围。推荐 192.168.x.x/16(大范围,便于后续创建多个子网)。子网 CIDR 必须在此范围内且不重叠。必填
所属项目n8n-project(新建的专用项目)或 default资源分组管理,便于后期按项目查看账单、授权 IAM 子账号、隔离资源。默认是 default 项目(系统预置,不可删)。如果还没项目,先去「项目管理」新建。必填

创建私有网络-VPC

创建私有网络 - 子网

参数名称推荐值说明是否必填
可用区可用区 A(或与 ECS 匹配的可用区)子网绑定到具体可用区,后续 ECS 必须在同一可用区才能直接绑定子网。推荐与 ECS 规格可用区一致。必填
名称n8n-subnetn8n-subnet-az-a自定义,便于识别,支持中英文、数字、短横线、下划线,长度 1-128 字符。建议带可用区后缀(如 -az-a)。必填
描述n8n ECS 子网,用于部署自动化服务器可写用途、项目名,便于后期管理。长度 0-256 字符,支持中英文。可选
IPv4 CIDR192.168.0.0/24192.168.1.0/24子网的私有 IP 地址段,必须在 VPC CIDR 范围内且不重叠(VPC /16 可容纳多个 /24 子网)。推荐 /24(256 IP),够 ECS 使用。必填

创建私有网络-子网

自定义配置

参数名称推荐值说明是否必填
登录凭证密码在登录凭证模块选择密码(而非 SSH 密钥)。适合初学者或测试环境,但生产建议密钥对更安全。必选
登录名rootLinux 系统默认管理员账号,控制台自动填充或灰色显示,不可修改。自动填充(不可改)
登录密码(自定义强密码)长度 8-30 字符,必须包含大写、小写、数字、特殊字符至少三种。用于 SSH 密码登录或 VNC 控制台。创建后可重置。必填
确认密码与登录密码完全相同必须与上方登录密码一致,控制台实时校验。两次不同时无法继续。必填
实例名称n8n-server-seattle-01n8n-test-001自定义,便于实例列表识别。支持中英文、数字、短横线、下划线,长度 2-128 字符。创建后可修改。必填
主机名n8n-hostgordon-n8n-server实例内部 hostname(登录后 hostname 命令可见)。建议与实例名称类似,便于管理。长度 1-64 字符,支持字母、数字、短横线。创建后可通过命令修改。可选(推荐填)
所属项目n8n-project(你新建的项目)或 default从下拉列表选择。资源分组,便于账单分摊、IAM 权限控制。VPC/子网/安全组会继承此项目。必填
实例描述n8n 自动化工作流服务器,Seattle IP 部署,Ubuntu 24.04,按量计费测试环境写用途、位置、备注等。长度 0-256 字符,支持中英文。创建后可编辑。可选(推荐填)

自定义配置

确认订单

确认订单

配置完成后,点击 立即购买 并支付,实例创建需 1-2 分钟。

购买完成,恭喜你!

ECS 列表中,状态变为 "运行中" 时,记录公网 IP(如 123.45.67.89)。

实例创建成功


三、连接到 ECS 实例

选择并使用 SSH 连接工具

使用 SSH 连接服务器进行后续操作。

  • Windows 用户:使用 Windows PowerShellGit Bash
  • Mac/Linux 用户:使用终端。

我是在 Windows 上面操作的,所以步骤如下:

打开 Windows PowerShell

直接输入一下命令并回车:ssh root@你的公网IP

第一次连接会提示「Are you sure you want to continue connecting?」输入 yes 回车。

输入你设置的登录密码(输入时不显示字符,直接输入后回车)。

成功后出现类似 root@gordon-n8n-server:~# 提示符,即连接成功!

ssh首次连接

更新系统 & 安装工具

登录后立即执行以下命令,确保系统最新并准备好后续安装:

# 更新系统软件包(强烈推荐先做,避免后续安装冲突)
# 更新 Ubuntu 的软件源和所有已安装包
# 可能需要 1–3 分钟,过程中会问是否继续,输入 y 回车
# 完成后会自动重启部分服务,无需重启实例
sudo apt update && sudo apt upgrade -y
​
# 安装常用工具(可选,但非常实用)
# curl/wget:下载文件
# git:以后可能克隆代码
# vim:编辑文件(nano 也可,但 vim 更强大)
# net-tools:ifconfig 等命令
# htop:更好的进程查看器(top 的升级版)
sudo apt install -y curl wget git vim net-tools htop unzip
​
# 查看当前时间和时区(确认是否 Asia/Shanghai)
date
timedatectl
​
# 如果时区不对,设置为上海时区
sudo timedatectl set-timezone Asia/Shanghai

在更新系统软件包的过程中,可能会出现 Configuring openssh-server 的提示:

configuring-openssh-server

保留配置文件还是安装维护者版本? (用箭头键选择,回车确认)

常见选项:

  • Install the package maintainer's version(安装新版本,覆盖旧的)
  • Keep your currently-installed version(保留你当前的配置文件)
  • Show the differences between the versions(查看差异)
  • Start a new shell to examine the situation(打开 shell 检查)

推荐选择Install the package maintainer's version(安装维护者版本)

理由:你刚创建的 ECS 实例,基本没改过 sshd_config,保留旧版没意义。新版通常更安全(默认禁用 root 密码登录、启用更严格的加密等)。

更新系统软件包和安装常用工具之后,就可以查看当前时间和时区。

更新和验证


四、安装 Docker & 轩辕专业版加速

这是火山引擎官方推荐的轩辕一键脚本,会自动:

  • 安装最新 Docker(通常 29.x
  • 安装 Docker Composev5.x

执行:

bash <(wget -qO- https://xuanyuan.cloud/docker.sh)
  • 脚本运行时会显示进度,可能需要 2–5 分钟。
  • 完成后会自动重启 Docker 服务。
  • 如果提示输入 yes/no,直接回车默认即可。

安装Docker

轩辕镜像

验证 Docker 是否安装成功

运行以下命令检查版本:

docker --version
docker compose version

预期输出示例:

Docker version 29.1.5, build 0e6fee6
Docker Compose version v5.0.1

如果看到类似输出,恭喜!Docker 已就绪。

额外验证:

sudo systemctl status docker

额外验证

轩辕的 docker.sh 脚本通常会:安装 Docker EngineDocker Compose、配置国内镜像加速源、自动启动 Docker 服务(相当于执行了 systemctl start docker)、自动设置开机自启(相当于执行了 systemctl enable docker)。

所以在脚本运行完成后,Docker 服务很可能已经处于 running 状态且已启用开机自启。

五、部署 n8n

创建 n8n 数据持久化卷

使用 Docker 部署 n8n,支持持久化数据。推荐使用 PostgreSQL 作为数据库(生产环境),但入门可先用默认 SQLite

docker volume create n8n_data

预期输出:n8n_data。这会创建一个名为 n8n_dataDocker 卷,用于存储 n8n 的工作流、凭证、数据库(SQLite)等。

拉取 n8n 镜像(使用轩辕专业版专属域名)

假设你的轩辕专业版专属域名是 xxxxxxxxx.xuanyuan.run(请替换成你自己的真实域名!)

docker pull xxxxxxxxx.xuanyuan.run/n8nio/n8n:latest

预期:看到下载进度条,最终显示:

n8n镜像拉取

运行 n8n 容器

直接运行启动命令:

docker run -d --name n8n --restart unless-stopped -p 5678:5678 -e GENERIC_TIMEZONE="Asia/Shanghai" -e TZ="Asia/Shanghai" -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true -e N8N_RUNNERS_ENABLED=true -e N8N_SECURE_COOKIE=false -v n8n_data:/home/node/.n8n bnte7j9sxxxx2z.xuanyuan.run/n8nio/n8n:latest

关键参数解释

  • -d:后台运行
  • --restart unless-stopped:自动重启,除非手动 stop
  • -p 5678:5678:把容器 5678 端口映射到服务器 5678
  • 时区变量:确保定时任务正确(Asia/Shanghai
  • N8N_SECURE_COOKIE=false:临时禁用 secure cookie(因为我们还没上 HTTPS
  • -v n8n_data:/home/node/.n8n:挂载数据卷,持久化所有配置

预期输出:一串长 ID(如 a9f2921a...),表示容器启动成功

检查容器是否正常运行

docker ps

看到类似下面就成功:

docker运行成功

查看启动日志(重要!):

docker logs -f n8n

正常会看到类似:

docker运行日志

浏览器访问 n8n(首次初始化)

在你的本地电脑浏览器打开:

http://你的公网IP:5678

示例:http://123.45.67.89:5678

首次访问会进入设置向导:

创建 owner 账号(邮箱 + 强密码)然后填写 First NameLast Name(按你喜好)

n8n-setup

个性化问题填写:

n8n-workflows

n8n-free-license-key

完成 → 进入 n8n 主界面:

n8n欢迎界面

n8n主界面


六、总结

全流程回顾(核心步骤)

  1. 准备:火山引擎实名 + 充值轩辕专业版获取专属域名
  2. 网络:创建 VPC192.168.0.0/16)+ 子网(/24)+ 安全组(开放 22/5678/80/443
  3. ECS:按量计费、Ubuntu 24.042 vCPU + 8 GiB、密码登录、绑定网络资源
  4. 连接:PowerShell / Git Bash SSH → 更新系统(apt upgrade)→ 处理 openssh-server 配置(选 Install maintainer's version
  5. Docker:轩辕一键脚本安装 + 验证
  6. n8n 部署:创建卷 → 拉取镜像(专业版域名)→ 一行命令运行容器 → 浏览器访问 http://公网IP:5678 初始化

总耗时 30–60 分钟,最大坑点:轩辕专业版域名使用、安全组端口、容器命令格式。

n8n 自托管的核心价值

  • 零成本无限执行
  • 数据完全私有,不被第三方读取或因政策中断
  • 500+ 节点 + AI Agent + 自定义代码,轻松实现复杂自动化(尤其是国内大模型集成)
  • 一次部署,终身可控,适合个人效率工具、内部流程、轻量级企业自动化

一句话:n8n 不是工具,而是把「自动化能力」真正还给自己的基础设施。

后续计划

这篇是部署入门篇,后续会继续更新:

  • n8n 常用工作流实战
  • 国内大模型深度集成(豆包/DeepSeek Agent + RAG 案例)
  • 生产优化(HTTPS + PostgreSQL + 备份 + 监控)
  • 进阶玩法(自定义节点、Webhook API、企业微信联动)

欢迎关注或在评论区留言你的需求,我会优先写你最想看的。

感谢阅读!

n8n 成为你日常效率的超级加速器。