
前言
很多自动化需求最初都不复杂:定时读取一份数据、调用一次接口,再把结果发送到群里。用几十行脚本就能完成,运行起来也没有太大问题。
但流程一旦增加,脚本很容易变成新的负担。接口地址、账号密钥和判断逻辑散落在多个文件中,换一名同事接手时难以理解;某一步执行失败,也不容易快速确认问题出在数据、网络还是第三方服务。
n8n提供了一种更直观的组织方式。触发条件、HTTP请求、数据处理、数据库操作和AI模型调用都可以拆成独立节点,再按照实际业务顺序连接起来。流程怎么运行、数据流向哪里,在画布上基本能够直接看清。
本文会在Linux服务器中通过Docker部署n8n,完成数据目录挂载、账号初始化和基础配置,再搭建两条示例流程:一条接入DeepSeek完成AI对话,另一条通过HTTP与HTML节点抓取并提取网页内容。
本地工作流验证完成后,还会借助 cpolar 将5678端口映射到公网,并配置固定二级子域名。这样第三方服务可以调用本地Webhook,用户在外出时也能进入后台查看执行记录和调整流程。

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?
| 开源 | ✅ 是 | ❌ 否 |
| 自托管 | ✅ 支持 | ❌ 仅 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模型和外部接口不再依靠相互独立的脚本串联,而是被整理成能够查看、测试和复用的工作流。
可视化并不意味着完全不需要技术基础。真正投入使用前,仍要处理字段映射、异常分支、接口限流、重复执行和失败重试等问题。复杂流程还应增加日志、告警和人工确认节点,避免错误数据一路传递到后续系统。
AI Agent适合内容整理、分类、摘要和辅助判断,但涉及付款、删除数据、账号权限和正式审批时,不应让模型直接作出最终决定。更稳妥的做法是让AI给出建议,再由规则或人工完成关键操作。
通过 cpolar 映射5678端口后,n8n可以接收来自公网的Webhook请求。随机域名适合临时测试,固定二级子域名更适合长期集成,但管理后台和Webhook入口最好分开规划,并限制不必要的公网访问。
n8n中通常保存数据库密码、API Key、Webhook地址和第三方账号授权。部署时不要直接使用示例弱密码,也不建议为了省事长期给数据目录设置过宽权限;凭据应集中管理,并定期备份工作流与配置数据。
n8n负责让自动化流程变得可视、可复用和可追踪,cpolar负责打通外部触发入口。两者结合后,自动化的重点就不再是“能不能跑起来”,而是这条流程能否长期稳定运行、出现问题时能否快速定位,并且方便团队继续维护。
网硕互联帮助中心




评论前必须登录!
注册