n8n:工作流自动化平台

June 24, 2026 · View on GitHub

目录

  1. n8n 简介
  2. 安装与设置
  3. 核心概念
  4. 构建工作流
  5. 常用集成
  6. 高级功能
  7. 错误处理
  8. 部署与扩展

简介

n8n 是一个可扩展的工作流自动化工具,通过可视化的节点界面连接各种服务并自动化任务。用户无需大量编码即可构建复杂的自动化流程。

n8n 核心功能

功能描述好处
可视化编辑器拖拽式工作流构建易于学习
自托管在自己的服务器上运行数据控制
400+ 集成预建连接器快速设置
自定义代码JavaScript/Python 节点灵活性
Webhooks从外部事件触发实时自动化

n8n vs 其他平台

功能n8nZapierMake
自托管
开源
定价免费 / 公平定价按任务计费按操作计费
自定义代码完整 JS/Python有限有限
学习曲线中等简单中等

用例

类别示例工作流
营销社交媒体发布自动化
销售CRM 线索管理
DevOps部署通知
数据ETL 管道自动化
客服工单路由和响应

安装与设置

n8n 可以通过 Docker、npm 或云托管方式安装。

安装方式

方式命令最适合
Dockerdocker run -it --rm n8nio/n8n生产环境
npmnpm install n8n -g开发环境
桌面应用从 n8n.io 下载个人使用
n8n.cloud托管服务

Docker 安装

# Basic Docker run
docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  n8nio/n8n

# Docker Compose
version: '3'
services:
  n8n:
    image: n8nio/n8n
    ports:
      - "5678:5678"
    volumes:
      - n8n_data:/home/node/.n8n
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=secure_password
volumes:
  n8n_data:

系统要求

组件最低推荐
CPU1 核2+ 核
内存2GB4GB+
磁盘10GB50GB+
Node.jsv18v20 LTS

初始配置

设置位置用途
基础 URLN8N_HOST服务器地址
端口N8N_PORT访问端口
数据库DB_TYPESQLite 或 PostgreSQL
加密N8N_ENCRYPTION_KEY数据加密
时区GENERIC_TIMEZONE调度准确性

核心概念

理解 n8n 核心概念有助于构建有效的工作流。

工作流组件

组件描述示例
节点单个操作或触发器发送邮件、HTTP 请求
连接节点间的数据流节点之间的连线
工作流完整的自动化流程多步骤过程
执行单次工作流运行一次触发的实例

节点类型

类型用途示例
触发器启动工作流Webhook、定时、邮件
操作执行操作HTTP 请求、数据库、邮件
转换修改数据Set、Merge、Split
流程控制逻辑IF、Switch、Loop

数据结构

{
  "json": {
    "key": "value",
    "nested": {
      "data": "here"
    }
  },
  "binary": {
    "data": "base64_encoded"
  }
}

执行模式

模式描述用途
手动点击运行测试
触发自动生产环境
WebhookHTTP 请求API 集成
定时基于时间定期任务

构建工作流

创建有效自动化工作流的分步指南。

工作流设计流程

步骤操作考虑因素
1定义目标明确目标
2确定触发器何时启动
3规划步骤逻辑流程
4添加节点实施操作
5测试工作流验证行为
6部署激活用于生产

常见工作流模式

模式描述示例
线性顺序步骤获取 → 转换 → 存储
分支条件路径IF → 发送 A 或 B
循环重复操作处理列表项
错误路径处理失败Try → Catch → 通知

节点配置

参数描述示例
名称节点标识符"发送邮件"
操作要执行的操作创建、读取、更新
凭据认证API 密钥、OAuth
参数操作设置URL、body、headers

表达式语法

// Access previous node data
{{ $json.fieldName }}

// Access specific node
{{ $('Node Name').item.json.field }}

// Transform data
{{ $json.items.length }}

// Date operations
{{ $now.format('yyyy-MM-dd') }}

常用集成

n8n 支持与数百种流行服务的集成。

通信服务

服务操作常见用途
Slack发送消息、创建频道团队通知
Email (SMTP)发送、接收邮件自动化
Telegram发送消息、文件机器人交互
Discord发送消息、管理服务器社区管理

云存储

服务操作常见用途
Google Drive上传、下载、分享文件管理
Dropbox上传、下载备份
S3上传、下载、列出对象存储
OneDrive上传、下载Microsoft 生态

数据库

数据库操作常见用途
PostgreSQL查询、插入、更新数据存储
MySQL查询、插入、更新Web 应用
MongoDB查询、插入、更新文档存储
AirtableCRUD 操作无代码数据库

开发工具

服务操作常见用途
GitHubIssues、PRs、webhooksDevOps 自动化
GitLabIssues、MRs、pipelinesCI/CD 集成
JiraIssues、transitions项目管理
NotionPages、databases文档

示例:Slack 通知工作流

节点类型配置
Webhook触发器POST 端点
IF条件检查数据有效性
Slack操作发送到频道
Respond响应返回状态

高级功能

n8n 高级功能用于复杂自动化场景。

子工作流

功能描述用途
执行工作流调用另一个工作流可复用组件
错误工作流单独处理错误集中错误处理
Wait暂停执行长时间运行的过程

代码节点

节点语言用途
CodeJavaScript复杂转换
PythonPython数据处理
FunctionJavaScript快速操作

代码节点示例

// JavaScript Code Node
const items = $input.all();
const results = [];

for (const item of items) {
  results.push({
    json: {
      ...item.json,
      processed: true,
      timestamp: new Date().toISOString()
    }
  });
}

return results;

数据合并

策略描述用途
追加合并所有项简单合并
按位置合并按索引匹配并行流
按字段合并按值匹配关联数据

Webhook 配置

设置描述示例
HTTP 方法GET、POST、PUT、DELETEPOST
路径URL 端点/webhook/my-workflow
认证安全方式Header 认证
响应返回数据JSON 响应

错误处理

健壮的错误处理确保工作流在出现故障时继续运行。

错误处理策略

策略实施方式用途
失败时继续节点设置非关键操作
错误工作流独立错误处理器集中处理
Try-CatchIF 节点检查条件恢复
重试自动重试临时故障

错误工作流设置

步骤操作配置
1创建错误工作流新工作流
2添加错误触发器捕获错误
3添加通知告警团队
4设置为错误处理器主工作流设置

常见错误类型

错误原因解决方案
连接被拒服务不可用检查服务状态
超时响应太慢增加超时时间
认证凭据无效刷新令牌
频率限制请求过多添加延迟

日志与监控

工具用途设置
执行历史追踪运行内置
调试模式详细输出节点设置
外部日志集中日志Sentry、LogRocket

部署与扩展

n8n 的生产部署考虑因素。

部署选项

选项优点缺点
Docker简单、隔离需要 Docker 知识
Kubernetes可扩展复杂设置
PM2简单、进程管理单服务器
云 (n8n.cloud)托管成本较高

性能优化

因素影响优化方式
数据库存储速度使用 PostgreSQL
并发并行执行Worker 进程
内存工作流复杂度增加限制
网络API 调用连接池

扩展配置

# Docker Compose with scaling
services:
  n8n:
    image: n8nio/n8n
    deploy:
      replicas: 3
    environment:
      - EXECUTIONS_MODE=queue
      - QUEUE_BULL_REDIS_HOST=redis
  redis:
    image: redis:alpine

备份策略

组件方法频率
工作流导出 JSON每天
凭据加密备份每天
数据库pg_dump每天
文件卷备份每天

安全清单

实践实施方式优先级
HTTPSSSL 证书关键
认证基础认证或 SSO关键
网络防火墙规则
凭据加密存储
更新定期更新中等

总结

主题核心要点
安装生产环境推荐 Docker
概念节点、连接和工作流
构建先设计再实施
集成400+ 服务可用
错误实施适当的错误处理
扩展生产环境使用 PostgreSQL 和 Redis