Logon8n中文教程

安装与设置

详细的 N8N 安装和配置指南,包括多种部署方式

N8N 安装与设置

🎯 部署选择

根据你的需求和技术水平,选择合适的部署方式:

方式难度适用场景推荐指数
N8N Cloud快速试用、小团队⭐⭐⭐
Docker⭐⭐开发环境、简单部署⭐⭐⭐⭐⭐
npm 安装⭐⭐⭐本地开发、调试⭐⭐⭐
服务器部署⭐⭐⭐⭐生产环境、企业使用⭐⭐⭐⭐

☁️ 方式一:N8N Cloud(推荐新手)

优势

  • 🚀 即开即用,无需配置
  • 🔄 自动更新和备份
  • 🛡️ 企业级安全保障
  • 📊 内置监控和分析

开始使用

  1. 访问 n8n.cloud
  2. 注册账户并验证邮箱
  3. 选择合适的定价计划
  4. 开始创建第一个工作流

定价参考

  • 免费版:5,000 次执行/月
  • 入门版:$20/月,25,000 次执行
  • 专业版:$50/月,100,000 次执行

🐳 方式二:Docker 部署(推荐)

系统要求

  • Docker 20.10+
  • Docker Compose 1.28+
  • 2GB+ 内存
  • 10GB+ 存储空间

快速启动

1. 创建项目目录

mkdir n8n-docker
cd n8n-docker

2. 创建 docker-compose.yml

version: '3.8'

services:
  n8n:
    image: n8nio/n8n:latest
    ports:
      - "5678:5678"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=your-secure-password
      - N8N_HOST=localhost
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - WEBHOOK_URL=http://localhost:5678/
    volumes:
      - n8n_data:/home/node/.n8n
    restart: unless-stopped

volumes:
  n8n_data:

3. 启动服务

docker-compose up -d

4. 访问界面

打开浏览器访问:http://localhost:5678

生产环境配置

使用 PostgreSQL 数据库

version: '3.8'

services:
  postgres:
    image: postgres:14
    environment:
      - POSTGRES_DB=n8n
      - POSTGRES_USER=n8n
      - POSTGRES_PASSWORD=n8n-password
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped

  n8n:
    image: n8nio/n8n:latest
    ports:
      - "5678:5678"
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=n8n-password
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=your-secure-password
      - WEBHOOK_URL=https://your-domain.com/
    volumes:
      - n8n_data:/home/node/.n8n
    depends_on:
      - postgres
    restart: unless-stopped

volumes:
  postgres_data:
  n8n_data:

📦 方式三:npm 安装

系统要求

  • Node.js 18.10+
  • npm 8+
  • Python 3.7+(某些节点需要)

安装步骤

1. 全局安装

npm install n8n -g

2. 启动 N8N

n8n start

3. 访问界面

打开浏览器访问:http://localhost:5678

本地开发配置

# 设置工作目录
export N8N_USER_FOLDER="/path/to/n8n/data"

# 启用开发模式
export NODE_ENV=development

# 启动 N8N
n8n start

🖥️ 方式四:服务器部署

系统要求

  • Ubuntu 20.04+ / CentOS 8+
  • 4GB+ 内存
  • 20GB+ 存储
  • 域名(可选)

详细步骤

1. 更新系统

sudo apt update && sudo apt upgrade -y

2. 安装 Docker

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER

3. 安装 Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

4. 配置 SSL(使用 Traefik)

version: '3.8'

services:
  traefik:
    image: traefik:v2.9
    command:
      - "--api.dashboard=true"
      - "--providers.docker=true"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.myresolver.acme.tlschallenge=true"
      - "--certificatesresolvers.myresolver.acme.email=your-email@example.com"
      - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
      - "./letsencrypt:/letsencrypt"

  n8n:
    image: n8nio/n8n:latest
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=n8n-password
      - WEBHOOK_URL=https://your-domain.com/
    volumes:
      - n8n_data:/home/node/.n8n
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.n8n.rule=Host(`your-domain.com`)"
      - "traefik.http.routers.n8n.entrypoints=websecure"
      - "traefik.http.routers.n8n.tls.certresolver=myresolver"

⚙️ 基础配置

环境变量详解

认证配置

# 启用基础认证
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=secure-password

# 或使用邮箱登录
N8N_USER_MANAGEMENT_DISABLED=false

数据库配置

# SQLite(默认)
DB_TYPE=sqlite

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

# MySQL
DB_TYPE=mysqldb
DB_MYSQLDB_HOST=localhost
DB_MYSQLDB_PORT=3306
DB_MYSQLDB_DATABASE=n8n
DB_MYSQLDB_USER=n8n
DB_MYSQLDB_PASSWORD=password

执行配置

# 最大并发执行数
N8N_EXECUTE_MAX_INSTANCES=10

# 执行超时时间(秒)
N8N_EXECUTE_TIMEOUT=300

# 保存执行历史
N8N_EXECUTE_SAVE_DATA_ON_ERROR=all
N8N_EXECUTE_SAVE_DATA_ON_SUCCESS=all

安全配置

HTTPS 设置

N8N_PROTOCOL=https
N8N_SSL_KEY=/path/to/ssl/key.pem
N8N_SSL_CERT=/path/to/ssl/cert.pem

Webhook 安全

# 设置 Webhook 基础路径
N8N_PATH=/n8n/

# 启用 CORS
N8N_CORS_ORIGIN=*

🔧 常见配置问题

问题一:端口被占用

# 检查端口占用
sudo lsof -i :5678

# 修改默认端口
N8N_PORT=8080

问题二:内存不足

# 增加 Node.js 内存限制
export NODE_OPTIONS="--max-old-space-size=4096"

问题三:时区问题

# 设置时区
export TZ=Asia/Shanghai

问题四:文件权限

# 修复数据目录权限
sudo chown -R 1000:1000 /path/to/n8n/data

📊 性能优化

系统调优

# 增加文件描述符限制
echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf

# 调整内核参数
echo "net.core.somaxconn = 65536" >> /etc/sysctl.conf
sysctl -p

数据库优化

-- PostgreSQL 优化
ALTER SYSTEM SET shared_buffers = '256MB';
ALTER SYSTEM SET effective_cache_size = '1GB';
ALTER SYSTEM SET maintenance_work_mem = '64MB';
SELECT pg_reload_conf();

✅ 安装验证

检查服务状态

# Docker 方式
docker-compose ps

# npm 方式
ps aux | grep n8n

# 检查端口监听
netstat -tlnp | grep 5678

功能测试

  1. 访问 Web 界面
  2. 创建测试工作流
  3. 执行简单节点
  4. 检查日志输出

🚀 下一步

安装完成后,你可以:

  1. 创建第一个工作流 - 开始实践
  2. 理解节点概念 - 深入学习
  3. 浏览模板库 - 获取灵感

恭喜!你已经成功安装了 N8N。现在可以开始探索自动化的无限可能。