部署和使用n8n工作流

Share
部署和使用n8n工作流

n8n 是一款强大的开源工作流自动化工具,其灵活性和可扩展性使其成为技术团队和个人开发者的理想选择。本文将详细探讨 n8n 的部署方式、技术架构、以及如何快速入门并构建复杂工作流。


什么是 n8n?

n8n("Node Node" 的缩写)是一款基于 JavaScript 的工作流自动化平台。其特点包括:

  • 开源:完全开源,用户可以自定义并本地执行。
  • 无限制节点:支持任意数量的节点连接,适合复杂流程。
  • 高度灵活:支持条件控制、循环、动态数据输入/输出。
  • 广泛的集成:内置对 300 多种应用的支持,包括 Slack、Google Sheets、GitHub 及其他 API 服务。

n8n 的技术架构

在深入部署之前,我们需要了解 n8n 的底层架构。以下是 n8n 的技术栈和核心组件:

image

核心组件

  1. 工作流引擎
  • n8n 使用 Node.js 运行时,支持异步任务调度,适合高并发情况下处理复杂工作流逻辑。
  1. 节点(Nodes)
  • 每个节点代表一个数据处理步骤,分为应用集成(API)节点和流程控制节点。
  1. 用户界面
  • 为用户提供直观的可视化拖拽界面,支持图形化管理工作流。
  1. 数据库层
  • n8n 通过 SQLite(默认)或 MySQL/PostgreSQL 保存配置与运行历史。
  1. Websocket 通信
  • 用于实时日志、调试信息推送。
  1. 扩展系统
  • 提供插件及自定义代码运行能力,便于深度集成。

n8n 的部署流程

先决条件

在部署前,请确保以下环境准备就绪:

  1. 操作系统:支持 Linux、macOS 或 Windows。
  2. Docker(推荐):n8n 提供官方 Docker 镜像,便于容器化部署。
  3. Node.js 和 npm:
  • Node.js ≥ 16,NPM 用于管理相关依赖包。

部署选项

  1. 通过 Docker Docker 是最简单的部署方式:
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v ~/.n8n:/home/node/.n8n \
n8nio/n8n
  • -v ~/.n8n:用于持久化本地配置。
  • -p 5678:n8n 默认在 5678 端口提供服务。
  1. 通过 n8n CLI(适用于开发者)
  • 全局安装:
npm install -g n8n
  • 运行 n8n:
n8n
  • 默认服务会启动在 http://localhost:5678。
  1. 使用 PM2 或系统服务(生产环境)
  • 配置 n8n 作为系统守护进程,提高服务稳定性:
pm2 start n8n --name "n8n"
  1. 云部署
  • 推荐选项包括 AWS EC2、DigitalOcean、或使用 Kubernetes 部署 n8n 集群。

配置 HTTPS 访问(生产环境)

为了保证通信安全,强烈建议启用 HTTPS。以下是基于 Docker 的 HTTPS 配置示例:

配置文件

创建 .env 文件:

N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=securepassword
N8N_HOST=https://your-domain.com
N8N_PORT=5678

配置反向代理(以 Nginx 为例)

编辑 Nginx 配置文件:

server {
listen 80;
server_name your-domain.com;

location / {
proxy_pass http://localhost:5678;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

启动 Nginx,重启服务。


使用 n8n 构建工作流

接下来,让我们创建一个实际的自动化工作流。

示例:备份 GitHub Issues 到 Google Sheets

1. 配置节点

  • 触发器:设置 GitHub 节点,监听指定仓库的 Issue 创建事件。
  • 数据处理:将原始的 Issue 数据传递到 Function 节点执行格式化。
  • 输出:通过 Google Sheets API 创建并更新表格。
image

2. 使用表达式处理动态数据

Function 节点代码示例:

return [
{
json: {
issueTitle: $node["GitHub"].json["title"],
issueCreator: $node["GitHub"].json["user.login"],
createdAt: $node["GitHub"].json["created_at"],
}
}
];

3. 测试和调试

使用实时调试功能测试工作流,确保能够正常运行。日志中会详细记录 API 请求和响应。


提高工作流可靠性

管理工作流状态

  • 启用工作流状态持久化功能,可追溯失败的任务,选择性重试。

使用环境变量

  • 在生产环境中通过环境变量管理敏感信息和配置,防止硬编码。

监控与日志记录

  • 配合 ELK 堆栈(Elasticsearch, Logstash, Kibana)观察 n8n 的运行状态。

总结

通过 n8n,开发者可以快速构建自动化工作流,减少人力重复耗费,提高生产效率。无论是个人项目,还是企业级用例,n8n 都能以其灵活且强大的能力,成为你理想的自动化平台。

如果你寻求一个安全、可靠、可扩展的工作流引擎,不妨尝试 n8n 吧!

image

Read more

一款叫元快剪的软件,正把这帮装神弄鬼的“设计总监”打得满地找牙

一款叫元快剪的软件,正把这帮装神弄鬼的“设计总监”打得满地找牙

前几天我在朋友圈看见一个做视频的朋友发了条状态,配图是一张聊天截图,上面写着:“这个转场不够高级,那个色调没有呼吸感,重做。” 配文只有四个字:时代变了。 我当时差点笑出声。说实话,这几年我见过的所谓“设计总监”、“创意总监”实在太多了。一个个鼻孔朝天,嘴里永远挂着“赋能”、“解构”、“重塑”、“降维打击”,结果呢?交出来的东西要么是十年前土得掉渣的PPT审美,要么就是改了八十八版还不如初稿的垃圾。他们把简单的事情搞复杂,把粗糙的想法包装成高深的理论,无非就是为了保住自己屁股底下那个能多拿两份工资的位置。 但这帮人安稳的日子,最近算是彻底到头了。 一款叫元快剪的工具横空出世,正以一种极其粗暴、极其不讲道理的方式,在全国大大小小的公司里,疯狂扇这帮“设计总监”的耳光。那些曾经被奉为圭臬的剪辑技巧、高深莫测的后期门槛,在这玩意儿面前被剥得精光。当AI和自动化工具把技术壁垒直接踏为平地,那些靠着信息差和忽悠混饭吃的所谓“总监”们,终于慌了。 第一章 撕开遮羞布:你所谓的“专业审美”,不过是场信息差骗局 我有一个朋友,在一家中型MCN机构当剪辑主管,

By Ken WU
乔布斯要是能从坟里爬出来,第一件事绝对是掐死苹果的设计总监

乔布斯要是能从坟里爬出来,第一件事绝对是掐死苹果的设计总监

第一章:谁在为这场“逻辑崩塌”买单 承认吧,苹果这几年早就不是那个能定义未来的天才少年了,它更像是一个在养老院里死撑着不肯承认自己老了的过气明星。最近那场发布会,当高管们唾沫横飞地展示那台所谓的“触屏生态笔记本”时,我盯着屏幕,只觉得一阵生理性的反胃。 当年乔布斯那句名言至今还在互联网上反复鞭尸:“把触摸屏放在电脑上,简直是愚蠢至极。你的手会酸,屏幕会留满指纹,人体工程学简直是灾难。”那时候的苹果,哪怕固执得像头驴,至少有一套自洽的逻辑体系。而现在呢?为了那点可怜的增长率,为了从iPad市场回笼资金,苹果亲手把自己立下的牌坊给拆了,还要强行塞给我们一颗名为“创新”的过期胶囊。 这不仅仅是打脸,这简直是把用户当成了没有记忆的鱼。他们把触控板逻辑硬生生塞进笔记本,用一种近乎傲慢的姿态告诉市场:以前那是老爷子说的,现在,我们要教你们怎么用电脑。去你的吧,这根本不是什么技术迭代,这是对用户体验的彻底背叛。 第二章:谁想在键盘上练“麒麟臂” 我有个做UI设计的朋友,为了赶时髦,第一时间入手了这台所谓的革命性设备。不到三天,他给我发了张照片:屏幕上全是油脂、灰尘和咖啡渍,那场面简直惨不

By Ken WU
别把穷人的命不当命:千万豪宅把地库修在隧道里,究竟是哪门子的反人类设计?

别把穷人的命不当命:千万豪宅把地库修在隧道里,究竟是哪门子的反人类设计?

前几天我刷到一个新闻,差点把刚喝的冰美式全喷在屏幕上。 一个号称千万级别的顶级豪宅,它的地库出入口,居然直接怼在了一条车流滚滚的城市隧道里。 你没听错,不是在宽敞的小区内部道路,也不是在规划合理的辅路上,而是硬生生地、赤裸裸地把豪宅的回家路,安插在了一个视线昏暗、车速极快的隧道出入口交汇处。 当地相关部门的回应呢?轻飘飘的一句“符合规划、手续齐全”。 我当时就笑了,真的,气笑了。 手续齐全?合着只要红头文件盖了章,物理规律就得给它让路?只要规划图纸上画了,从这个地库开出来的人,就能自带金刚不坏之身,自动免疫后面呼啸而来的泥头车和远光灯? 这根本不是什么规划失误,这是赤裸裸的草菅人命,是一场用千万房价包装起来的、针对车主的俄罗斯轮盘赌。 今天咱们就来撕开这块遮羞布,看看这帮坐在办公室里拍脑袋的规划者,到底把普通人的安全踩在了什么泥地里。 第一章 拿业主当活靶子的“豪宅”幽默 先说结论:别管它宣传册上吹得天花乱坠,什么欧洲宫廷风、大师级园林、尊贵私密归家动线,当你的车从那个隧道口战战兢兢地倒拔或者冲出来的那一秒钟,你买的就不是豪宅,而是买了一张通往急诊室的单程票。 我

By Ken WU
别把代步小车当豪宅卖:纯电小车,究竟是在自救还是在自杀?

别把代步小车当豪宅卖:纯电小车,究竟是在自救还是在自杀?

前几天我在车库,看着楼下邻居刚提的那辆号称"人民代步车"的纯电小车,围着它转了两圈,差点没认出来。这哪是小车啊?这尺寸、这宽度、这轴距,简直快赶上我当年开的中型轿车了。再一打听价格,落地小十五万。我当时就乐了,手里端着的保温杯差点掉地上。啥时候买个代步小车,也得背上半辈子的车贷了? 说好的纯电小车是给普通老百姓买来遮风挡雨、买菜接娃的平替呢?怎么这几年,这帮车企非要把几米长的小车,硬生生整成加长林肯的架势,价格也从几万块的亲民神车,一路飙升到让人高攀不起的轻奢玩具?这到底是消费升级的必然结果,还是车企集体得了大头症,联合起来割韭菜?今天咱们就来扒掉这层遮羞布,看看这帮造车的是怎么把一手好牌打得稀烂的。 第一章 越造越大的荒诞游戏:小车怎么就膨胀成巨无霸了? 先说结论:现在的纯电小车,早就不是当初那个灵活好停的小可爱了,它们一个个膨胀得跟发面馒头似的心安理得。 我一个做设计的朋友前阵子跟我吐苦水,说他们老板非要在原本标榜小巧精致的纯电车上强行加尺寸。为什么?因为大车好忽悠啊。在某些车企高管的脑回路里,车大就等于高级,车宽就等于气派。不管你底盘调得怎么样,不管你那窄小的车位能不能

By Ken WU