香港服务器搭建n8n工作流自动化:替代Zapier的私有化部署完整教程

香港服务器搭建n8n工作流自动化:替代Zapier的私有化部署完整教程

为什么要私有化部署 n8n?

n8n 是一款开源的工作流自动化工具,功能对标 Zapier 和 Make(原 Integromat),支持连接数百种应用和服务,实现自动化工作流。选择私有化部署而非 n8n Cloud 的核心原因:

  • 成本:n8n Cloud 按执行次数计费,高频工作流费用高;自建服务器固定成本,执行次数不限
  • 数据隐私:工作流中可能包含 API Key、数据库连接等敏感信息,私有部署不经过第三方服务器
  • 自定义能力:可以安装自定义节点,访问内网服务

一、服务器要求

  • 内存:最低 1G,推荐 2G+(工作流复杂时内存占用会增加)
  • 存储:20G SSD 以上(工作流执行历史会占用磁盘)
  • 系统:Ubuntu 20.04 / 22.04,已安装 Docker

二、用 Docker Compose 部署 n8n

mkdir ~/n8n && cd ~/n8n
nano docker-compose.yml
version: '3.8'

services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      - N8N_HOST=n8n.your-domain.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://n8n.your-domain.com/
      # 加密存储的凭据(必须设置,随机字符串)
      - N8N_ENCRYPTION_KEY=your_random_32_char_string_here
      # 启用基础认证(可选,增加安全性)
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=your_strong_password
      # 时区设置
      - GENERIC_TIMEZONE=Asia/Shanghai
      - TZ=Asia/Shanghai
    volumes:
      - n8n_data:/home/node/.n8n
    networks:
      - n8n_net

volumes:
  n8n_data:

networks:
  n8n_net:
# 启动 n8n
docker compose up -d

# 查看启动日志
docker compose logs -f n8n

三、配置 Nginx 反向代理

sudo nano /etc/nginx/sites-available/n8n
server {
    listen 80;
    server_name n8n.your-domain.com;

    location / {
        proxy_pass http://127.0.0.1:5678;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        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;

        # n8n 需要较长的超时时间(工作流执行可能较慢)
        proxy_read_timeout 300s;
        proxy_send_timeout 300s;

        # 禁用缓冲,支持 Webhook 实时响应
        proxy_buffering off;
    }
}
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

# 申请 SSL 证书
sudo certbot --nginx -d n8n.your-domain.com

四、访问 n8n 并创建第一个工作流

浏览器访问 https://n8n.your-domain.com,首次访问需要注册账号。

示例工作流:定时抓取数据并发送到 Telegram

  1. 添加 Schedule Trigger 节点(每小时触发一次)
  2. 添加 HTTP Request 节点(请求目标 API 获取数据)
  3. 添加 Code 节点(用 JavaScript 处理和过滤数据)
  4. 添加 Telegram 节点(发送消息到指定群组)
  5. 连接节点,保存并激活工作流

示例工作流:GitHub 新 Issue 自动发送飞书通知

  1. 添加 GitHub Trigger 节点(监听 Issue 事件)
  2. 添加 Feishu/Lark 节点(发送机器人消息)
  3. 激活工作流,GitHub 每次有新 Issue 自动通知

五、数据备份与更新

# 备份 n8n 数据(工作流和凭据)
docker compose exec n8n n8n export:workflow --all --output=/home/node/.n8n/workflows_backup.json
docker cp n8n:/home/node/.n8n/workflows_backup.json ~/n8n/backup/

# 更新 n8n 到最新版本
docker compose pull
docker compose up -d

# 查看当前版本
docker compose exec n8n n8n --version

总结

在香港 VPS 私有化部署 n8n 的完整流程:Docker Compose 启动 → Nginx 反向代理 → HTTPS 证书配置 → 创建自动化工作流。部署完成后,你拥有无限制执行次数的私有工作流自动化平台,适合跨境电商运营、数据监控、消息通知等各类自动化场景。

IDC.Net 香港云服务器首月 10 元起,2G 内存足够运行 n8n,CN2 GIA 直连大陆,支持支付宝付款,3 天无理由退款。

Telegram