让重复工作自动跑起来:用n8n搭一套可视化智能流水线
前言
很多自动化需求,最开始都是从一个小脚本开始的。同步一份表格、抓取一个网页、收到数据后发通知、定时调用一次接口,写几行命令就能跑起来。但时间一长,脚本越来越多,参数写死在文件里,出错没人知道,别人想接手也很难看懂。
n8n适合解决这类问题。它不是单纯替代脚本,而是把自动化流程放到可视化画布上:一个节点负责触发,一个节点负责请求数据,一个节点负责调用AI,一个节点负责整理结果。流程结构一眼能看懂,后续修改也不用重新翻一堆散落的脚本。
对于个人和小团队来说,n8n最大的价值在于自托管和可扩展。它可以部署在自己的服务器或Docker环境中,数据和凭据掌握在自己手里;同时又能连接数据库、Webhook、表格、邮箱、AI模型和各种第三方服务,适合把零散工具串成一条自动化流水线。
本文会从CentOS环境开始,演示Docker安装、镜像加速配置、n8n镜像拉取、数据目录持久化、容器启动和基础认证设置。跑通后,再进入n8n页面完成初始化,让它成为一套可以长期运行的自动化工作台。
后面还会做两个实战流程:一个是接入DeepSeek,搭建AI对话工作流;另一个是通过HTTP请求和HTML节点完成网页抓取。最后再通过 cpolar 把本地n8n映射到公网,让外部服务也能访问和触发这套自动化流程。

1.什么是n8n
n8n(发音为 “n-eight-n”)是一款开源、可自托管、低代码的自动化工作流引擎,旨在帮助个人和团队轻松连接不同的应用程序与服务,实现高效、灵活的任务自动化。
核心特点
-
开源免费
基于MIT许可证,代码完全公开,无隐藏收费,无厂商锁定。
-
可自托管
支持部署在本地服务器、Docker、Kubernetes或云平台,数据完全由你掌控,保障隐私与安全。
-
可视化流程编排
通过直观的拖拽式界面,用“节点”(Nodes)连接触发器与操作,像搭积木一样构建复杂自动化逻辑,无需写代码(也支持JavaScript自定义函数)。
-
300+ 原生集成
支持Slack、飞书、企业微信、Notion、Google Sheets、MySQL、PostgreSQL、Webhook、AWS、Telegram、Zapier等主流工具,轻松打通数据孤岛。
-
高度可扩展
可开发自定义节点,或使用社区贡献的插件,满足个性化需求。
典型应用场景
- 自动将表单提交数据存入数据库并发送邮件通知
- 监控服务器状态,异常时通过钉钉/Telegram告警
- 同步多平台客户信息到CRM系统
- 构建内部审批流:飞书 → 数据库 → 邮件归档
- 替代Zapier / Make,节省成本,提升可控性
为什么选择n8n?
| 特性 | n8n | 商业自动化(如 Zapier) |
|---|---|---|
| 开源 | ✅ 是 | ❌ 否 |
| 自托管 | ✅ 支持 | ❌ 仅 SaaS |
| 成本 | 💰 免费(自托管) | 💳 按任务收费 |
| 数据隐私 | 🔒 完全私有 | ☁️ 存于第三方服务器 |
| 灵活性 | ⚙️ 支持自定义代码 | ⚠️ 功能受限,不支持自定义代码 |
2.准备工作
若你的系统尚未安装Docker,请先一键安装:
2.1 卸载旧版Docker(若有)
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

2.2 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2

2.3 添加Docker国内源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.4 安装Docker并启动:
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker # 开机自启
docker --version # 显示版本即成功

2.5 配置Docker国内速(必做,解决拉取失败)
新建/etc/docker/daemon.json文件,增加如下内容:
{
"registry-mirrors": [
"https://docker.xuanyuan.me",
"https://docker.m.daocloud.io",
"https://docker.imgdb.de",
"https://docker-0.unsee.tech"
]
}
2.6 应用配置并重启Docker服务
systemctl daemon-reload
systemctl restart docker

3.部署n8n
3.1 安装n8n
在线手动拉取n8n最新镜像(便于查看进度):
docker pull n8nio/n8n:latest

创建数据目录(避免容器删除后数据丢失):
mkdir -p ~/.n8n
chmod -R 777 ~/.n8n # 赋予读写权限

启动n8n容器(后台运行 + 开机自启 + 基础认证):
参数解析:
- N8N_COOKIE_SECURE=false # 关键:禁用Secure Cookie,取消安全Cookie强制要求
- N8N_SECURE_COOKIE=false # 兼容旧版本n8n的参数
- N8N_BASIC_AUTH_USER=admin # 自定义管理员账号
- N8N_BASIC_AUTH_PASSWORD=YourStrongPass123! # 自定义强密码
- TZ=Asia/Shanghai #适配中国时区
- restart always #异常自动重启+开机自启
docker run -d --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n -e N8N_BASIC_AUTH_ACTIVE=true -e N8N_BASIC_AUTH_USER=admin -e N8N_BASIC_AUTH_PASSWORD=root@1234 -e TZ=Asia/Shanghai -e N8N_COOKIE_SECURE=false -e N8N_SECURE_COOKIE=false --restart always n8nio/n8n:latest

查看容器状态:
docker ps | grep n8n

访问n8n界面:
打开浏览器输入http://服务器IP:5678

3.2 初始化n8n
使用自己的邮箱及用户名密码登录到n8n主页:

登录成功后填写一下基础背调:

获取永久免费密钥:

在”settings“中,找到“Usage and plan”中添加刚刚获取的永久免费密钥:


至此初始化成功!
4.玩转n8n实战
4.1 搭建第一个n8n工作流(接入AI)
为了让我们的n8n工作流能够与AI对话,我们需要一个AI服务的API密钥。本次我们选用DeepSeek作为AI服务提供商。DeepSeek提供了强大的语言模型,并且有免费的API调用额度,非常适合学习和测试。
-
注册账号
访问DeepSeek开放平台,点击“注册”,按照页面提示完成账号创建。
-
获取API密钥
登录你的DeepSeek平台账号。
在左侧导航栏中找到 “API密钥”(或类似名称的选项)。
点击 “创建新的API密钥”。
为密钥设置一个便于识别的名称(例如:n8n),然后确认创建。
-
重要提示
创建成功后,系统将仅显示一次完整的API密钥。请务必立即复制并将其保存在安全的位置(如密码管理器或加密的本地文件中)。若不慎丢失,无法找回,只能重新生成新密钥。
新建工作流在n8n仪表板点击"Create Workflow",添加作为触发器节点:

点击加号选择节点:

继续如图操作:

添加AI节点点击触发器节点的号,搜索AI Agent:

配置AI模型:



选择deepseek,填入密钥:


回到画布,开始验证,点击open chat ;
给 AI发一条信息:

收到有效响应即验证成功。
🎉 恭喜你!当AI给出回答,说明所有的准备工作已完成,并且你成功搭建并运行了你的第一个n8n AI工作流!🎉
4.2搭建第二个工作流(网页抓取)
创建新工作流:在n8n面板点击“创建工作流”,进入可视化编辑界面:

点击加号选择节点:

继续如图操作:

添加AI节点点击触发器节点的号,搜索AI Agent:

搜索“http"并添加:

添加HTTP请求节点并连接至触发节点。在参数窗口设置请求方法为GET,目标网址填入https://scrapeme.live/shop/:

添加一个HTML节点并选择**“提取HTML内容”**操作。


测试验证:返回主界面点击“执行工作流”,成功节点将显示绿色边框。若出现红色提示或数据异常,请检查参数设置与网页结构,或查阅官方文档。

n8n是一款强大的开源自动化工具,支持在本地快速搭建工作流。但当你希望从外部(如手机、远程服务器或第三方服务)触发本地n8n时,往往会遇到内网无法被公网访问的难题。
这时候,cpolar 就派上了大用场!
cpolar是一款简单高效的内网穿透工具,无需公网 IP、无需复杂配置,只需一条命令,就能将你本地运行的n8n服务安全地映射到公网URL。
为什么选择cpolar搭配n8n?
- 零门槛上手:下载即用,5秒创建HTTPS隧道
- 自动HTTPS:免费提供带有效证书的地址,完美兼容Webhook安全要求
- 稳定可靠:支持后台常驻、断线重连,适合长期运行自动化任务
- 隐私可控:数据经加密隧道传输,不经过第三方中转(企业版支持私有部署)
跟我一起安装cpolar吧!
5.安装cpolar实现随时随地开发
5.1 什么是cpolar?
cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。
5.2 部署cpolar
cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
❤️以下是安装cpolar步骤:
使用一键脚本安装命令:
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

6.配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:n8n,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:5678
- 域名类型:随机域名
- 地区:选择China Top

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

访问成功。

7.保留固定公网地址
使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是n8n,大家可以自定义。填写备注信息,点击保留。

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。

修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

总结
完成部署后,n8n就可以作为一套可视化自动化平台使用。原本分散在脚本里的请求、判断、AI调用和数据处理逻辑,可以被整理成一个个清晰的工作流,方便修改、复用和交接。
这套方案的价值,不只是“少写一点代码”,而是让自动化过程更可见。流程从哪里开始、经过哪些节点、在哪里失败、输出了什么结果,都能在画布和执行记录里看到,比一堆没人维护的脚本更适合长期使用。
配置 cpolar 后,本地运行的n8n可以从外部网络访问。随机域名适合临时测试Webhook,固定二级子域名更适合长期接入第三方平台,避免回调地址频繁变化导致流程失效。
需要注意的是,n8n里可能保存API Key、数据库连接、Webhook地址和自动化任务权限。公网访问时一定要启用认证、设置强密码,不要随意公开后台地址;涉及重要业务的流程,也建议做好备份和权限隔离。
n8n负责把自动化逻辑可视化,Docker负责让服务稳定运行,cpolar负责补上公网触发入口。当这几部分组合起来以后,自动化就不再只是某个人电脑上的脚本,而是一套可以持续扩展、远程调用、团队协作的智能流水线。
更多推荐
所有评论(0)