在本地部署n8n:完整指南

n8n是一个强大的工作流自动化工具,可以帮助你连接不同的应用程序和服务,无需编写复杂的代码。本指南将带你完成在本地计算机上部署n8n的完整过程。

什么是n8n?

n8n(发音为"n-eight-n")是一个开源的工作流自动化工具,类似于Zapier或Make(原Integromat),但具有更高的灵活性和自定义能力。它允许你通过可视化界面创建复杂的工作流,连接各种应用程序和服务。

为什么选择本地部署?

虽然n8n提供了云托管版本,但本地部署有以下优势:

  • 完全控制你的数据和隐私

  • 无需支付云服务费用

  • 可以离线使用

  • 自定义配置更灵活

准备工作

在开始之前,请确保你的系统满足以下要求:

  • Node.js 16.x 或更高版本

  • npm 或 yarn

  • 至少2GB RAM(复杂工作流需要更多)

  • 稳定的互联网连接(用于安装和连接外部服务)

安装方法

方法1:使用npm/yarn全局安装

这是最简单的安装方式:

# 使用npm
npm install n8n -g

# 或使用yarn
yarn global add n8n

安装完成后,运行:

n8n

n8n服务将启动,默认监听http://localhost:5678

方法2:使用Docker

如果你更喜欢使用Docker,可以运行以下命令:

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  n8nio/n8n

这将在Docker容器中运行n8n,并将数据持久化到本地目录。

方法3:从源代码运行

如果你想使用最新开发版本:

# 克隆仓库
git clone https://github.com/n8n-io/n8n.git

# 进入目录
cd n8n

# 安装依赖
npm install

# 构建项目
npm run build

# 启动n8n
npm run start

配置n8n

n8n提供了多种配置选项,可以通过环境变量或配置文件进行设置。

基本配置

创建.env文件并添加以下内容:

N8N_PORT=5678
N8N_HOST=localhost
N8N_PROTOCOL=http
N8N_EDITOR_BASE_URL=http://localhost:5678

安全配置

为了增加安全性,建议设置:

# 基本认证
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=你的用户名
N8N_BASIC_AUTH_PASSWORD=你的密码

# 或JWT认证
N8N_JWT_AUTH_ACTIVE=true
N8N_JWT_AUTH_HEADER=Authorization
N8N_JWT_AUTH_HEADER_VALUE_PREFIX=Bearer
N8N_JWKS_URI=https://your-domain.com/.well-known/jwks.json

访问n8n界面

启动n8n后,打开浏览器访问:

http://localhost:5678

如果是第一次访问,系统会提示你创建管理员账户。

创建你的第一个工作流

  1. 点击"Workflows" > "New workflow"

  2. 为工作流命名(例如"我的第一个工作流")

  3. 点击"Add first step"按钮

  4. 从列表中选择一个触发器(如"Manual"或"Schedule")

  5. 添加一个操作节点(如"HTTP Request"或"Email")

  6. 配置每个节点的参数

  7. 点击"Execute Node"测试工作流

  8. 满意后点击"Active"激活工作流

持久化设置

默认情况下,n8n使用SQLite内存数据库,重启后数据会丢失。要持久化数据:

使用SQLite文件数据库

DB_TYPE=sqlite
DB_SQLITE_VACUUM_ON_STARTUP=true
DB_SQLITE_DATABASE=/path/to/n8n.db

使用PostgreSQL

DB_TYPE=postgresdb
DB_POSTGRESDB_DATABASE=n8n
DB_POSTGRESDB_HOST=localhost
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_USER=username
DB_POSTGRESDB_PASSWORD=password

高级配置

电子邮件设置

要接收工作流错误通知:

N8N_EMAIL_MODE=smtp
N8N_SMTP_HOST=smtp.your-email.com
N8N_SMTP_PORT=587
N8N_SMTP_USER=your-email@example.com
N8N_SMTP_PASSWORD=your-password
N8N_SMTP_SENDER=your-email@example.com

外部Webhook URL

如果你想让n8n接收外部Webhook:

N8N_HOST=your-public-ip-or-domain
N8N_WEBHOOK_URL=https://your-domain.com/

使用nginx反向代理

在生产环境中,建议使用nginx作为反向代理:

server {
    listen 80;
    server_name n8n.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;
    }
}

备份与恢复

手动备份

  1. 停止n8n服务

  2. 备份数据库文件(如果是SQLite)

  3. 备份~/.n8n目录(包含工作流配置)

自动备份

可以创建一个定期运行的n8n工作流,将数据备份到云存储。

常见问题解决

问题1:端口冲突

  • 解决方案:修改N8N_PORT环境变量或停止占用端口的其他服务

问题2:内存不足

  • 解决方案:增加系统内存或限制n8n内存使用(Docker可使用-m标志)

问题3:节点执行失败

  • 检查节点配置

  • 查看执行日志获取详细错误信息

  • 确保所有必需的API密钥和权限已设置

性能优化

  1. 数据库优化:对于生产环境,使用PostgreSQL而非SQLite

  2. 缓存设置:配置Redis缓存

  3. 负载均衡:在高负载情况下运行多个n8n实例

  4. 定期维护:清理旧执行数据

结论

本地部署n8n为你提供了一个强大、灵活且私密的自动化平台。通过本指南,你应该已经成功在本地计算机上安装并配置了n8n,并创建了第一个工作流。随着你对n8n的熟悉,你可以探索其丰富的节点库,构建更复杂的自动化流程。

n8n的社区非常活跃,遇到问题时可以在官方论坛GitHub仓库寻求帮助。

祝你自动化之旅愉快!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木觞清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值