19 10 月 2026
每天手动做的事——收报表、转发数据、定时备份、AI 批量处理——n8n 都能编成工作流自动跑。它是开源界的 Zapier,部署在自己服务器上,不限次数、不按条计费、数据不出门。这篇从部署到实战讲透。同类自托管工具生态见各类网站搭建系列。

一、n8n 是什么:一句话定位

用连线的方式把"触发条件"和"动作"串成自动化流水线。

每天早 8 点 ──> 抓取竞品价格 ──> 存表格 ──> 变化超 5% ──> 发企业微信/邮件
   (定时触发)      (HTTP 节点)   (节点)      (判断)        (动作)

和同类工具的差异:

n8nZapier自己写脚本
费用自托管免费无限次按任务数计费,贵免费但要开发
可视化编排节点连线,所见即所得有无
代码扩展任意节点里写 JS/Python受限自由
数据隐私全在自己服务器过人家服务器本地
上手成本低低高

适合谁:有一定逻辑编排需求、又不想被 SaaS 按条收费卡脖子的人。运营、站长、小团队运维都能玩转。

二、部署:Docker 一条命令

n8n 官方镜像开箱即用,SQLite 存储,轻量场景不用外部数据库:

docker run -d --name n8n \
  --restart unless-stopped \
  -v /data/n8n:/home/node/.n8n \
  -p 127.0.0.1:5678:5678 \
  -e N8N_SECURE_COOKIE=false \
  -e GENERIC_TIMEZONE=Asia/Shanghai \
  docker.n8n.io/n8nio/n8n

几个要点:

  1. -e GENERIC_TIMEZONE=Asia/Shanghai:定时触发器按此时区跑,不加默认 UTC,你的"早 8 点"会变成下午 4 点
  2. 数据目录挂出来:/data/n8n 里是工作流定义和凭据,备份它就是备份全部家当
  3. -p 127.0.0.1:5678:只听本地,对外走反代(见第五节)
  4. 流量上来后可以换 PostgreSQL 后端,初期 SQLite 完全够

访问 http://服务器IP:5678,注册第一个用户(这个账号就是管理员,密码设强)。

三、第一个工作流:三分钟上手

界面是一个大画布,右上角可以添加节点。建一个「每日科技新闻摘要」:

节点 1:Schedule Trigger(触发器)

  • 选"每天",设 08:00

节点 2:HTTP Request(抓数据)

  • URL 填某个 RSS/新闻 API,Method GET

节点 3:Function/Code(处理)

// 只保留标题和链接,拼成一段文本
const items = $input.all();
return items.map(i => ({
  json: {
    text: i.json.title + ' -> ' + i.json.link
  }
}));

节点 4:发通知(SMTP / 企业微信 Webhook / Telegram,按你有啥用啥)

点右上角 Execute Workflow 手动跑一次,每个节点点开都能看到输入输出数据——调试极其直观。跑通了点 Active 激活,以后每天自动执行。

四、核心概念:四类节点走天下

类型作用常用节点
触发器什么条件下启动Schedule(定时)、Webhook(HTTP 触发)、App 事件(邮件到达)
数据获取/动作干活HTTP Request、数据库、Google Sheets、企业微信
逻辑分支、循环、合并IF(条件)、Switch、Merge、Loop
代码兜底自定义Function、Code(JS)

调试心法:从触发器开始一个个节点"单步执行",看每个节点的输出 JSON,数据在哪一步变形/丢失一目了然。这比读日志直观十倍。

五、AI 工作流:接本地 Ollama

n8n 和 AI 是绝配——把它当"AI 流水线的胶水层"。接本地模型(零调用成本):

场景:批量给用户反馈打标签

Schedule Trigger ──> 读取数据库未处理反馈 ──> Ollama Chat(分类+打标)──> 写回数据库

Ollama 节点配置:

  • Base URL:http://host.docker.internal:11434(容器访问宿主机)
  • Model:qwen2.5:7b-instruct-q4_K_M
  • Prompt:请将以下反馈分类为"bug/建议/咨询"之一,只输出分类名:{{ $json.content }}

模型部署见Ollama 本地大模型部署。更复杂的 AI 编排(多模型串联、知识库问答)配合RAG 知识库和ComfyUI 的 API(批量出图)一起用,玩法上限很高。

六、Webhook:让外部系统推给你

定时拉取是"轮询",Webhook 是"推送"——对方有事直接喊你:

# n8n 生成的 Webhook URL 长这样
POST https://flow.yourdomain.com/webhook/abc123def
Content-Type: application/json

{"event": "payment.success", "order_id": "A10086"}

配上"Basic Auth"节点校验,收到支付回调 → 查库 → 开通服务 → 发通知,全自动。

安全红线:暴露的 Webhook 不带鉴权 = 谁都能往你工作流里灌数据。必须开鉴权(Header Auth / Basic Auth),并且敏感工作流(涉及支付、写库)用独立路径 + 强密钥。被滥用的 Webhook 能把机器刷到资源耗尽,防护思路见AI 应用的安全与成本控制。

七、可靠性:错误处理与日志

自动化最怕"悄悄失败"——你以为每天在跑,其实三个月前就挂了。

  1. Error Workflow:工作流设置里指定一个"出错时执行"的流程,统一发告警(邮件/Telegram)
  2. Retry:HTTP 类节点开"重试 3 次,间隔 5 秒",网络抖动自愈
  3. 执行历史:每次执行都有记录,失败的点开看输入输出,定位到节点
  4. 休眠与唤醒:工作流只在激活时调度,注意休眠实例(按量计费)上的 n8n 会被错过触发——定时任务别放按量机上

监控告警体系见Prometheus 监控入门,排错方法论见服务器故障排查完全手册。

八、常见问题排查

症状原因解决
定时触发器不跑工作流没激活 / 时区错点 Active;检查 GENERIC_TIMEZONE
Webhook 收不到反代没转发 / 路径错检查 Nginx 配置,路径要含 /webhook/
节点报 ECONNREFUSED容器内访问宿主机用错地址用 host.docker.internal 而非 127.0.0.1
内存慢慢涨高大量执行历史堆积设置里开执行数据自动清理
凭据失效OAuth token 过期重新授权;能用 API Key 就别用 OAuth
重启后工作流还在,执行记录没了正常,历史默认滚动清理重要执行结果及时导出

结语

n8n 的价值在于把"如果…就…"的逻辑从人脑搬上服务器:定时抓取、条件判断、AI 处理、通知下发,四类节点拼出无限可能。自托管后不限次数、不计条费、数据自主——对一个会重复劳动三遍以上的场景,都值得花半小时把它自动化。

需要跑自动化的服务器,可以看看财富云计算:NAT 型云服务器内存档位全、SSD 系统盘、支持热升级,价格比独立 IP 机型省一半以上——跑 n8n、Ollama 这类"吃配置不吃公网 IP"的自托管服务,NAT 型刚好对症。

延伸阅读
  1. Homepage 个人仪表盘:把散落各处的服务收进一个首页
  2. SSL 证书完全指南:免费证书、自动续期与不过期监控
  3. 数据备份体系完全手册:从随手拷到 3-2-1,让数据永远丢不了
  4. 压测与容量规划:上线前就知道你的服务器能扛多少人
  5. AdGuard Home 内网 DNS:全家去广告、防劫持、内网解析一站解决
  6. Hugo 静态博客搭建:秒开的博客,部署只要一个目录
  7. 安全应急响应完全手册:服务器被入侵后,按这个流程走
  8. 游戏服运营完全手册:从开服到停服,把一台服务器运营成百年老店
更多阅读
  1. 上一篇:WireGuard 组网完全指南:异地组网、内网穿透与服务器互联
  2. 下一篇:Umami 网站分析:Google Analytics 的开源替代,一行代码接入
发表评论 2