安装与设置
详细的 N8N 安装和配置指南,包括多种部署方式
N8N 安装与设置
🎯 部署选择
根据你的需求和技术水平,选择合适的部署方式:
方式 | 难度 | 适用场景 | 推荐指数 |
---|---|---|---|
N8N Cloud | ⭐ | 快速试用、小团队 | ⭐⭐⭐ |
Docker | ⭐⭐ | 开发环境、简单部署 | ⭐⭐⭐⭐⭐ |
npm 安装 | ⭐⭐⭐ | 本地开发、调试 | ⭐⭐⭐ |
服务器部署 | ⭐⭐⭐⭐ | 生产环境、企业使用 | ⭐⭐⭐⭐ |
☁️ 方式一:N8N Cloud(推荐新手)
优势
- 🚀 即开即用,无需配置
- 🔄 自动更新和备份
- 🛡️ 企业级安全保障
- 📊 内置监控和分析
开始使用
- 访问 n8n.cloud
- 注册账户并验证邮箱
- 选择合适的定价计划
- 开始创建第一个工作流
定价参考
- 免费版: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
功能测试
- 访问 Web 界面
- 创建测试工作流
- 执行简单节点
- 检查日志输出
🚀 下一步
安装完成后,你可以:
恭喜!你已经成功安装了 N8N。现在可以开始探索自动化的无限可能。