n8n 环境搭建指南 - 从零开始的完整配置
上一篇文章我们了解了 n8n 的基本概念和优势,今天我们来实际动手搭建 n8n 的运行环境。n8n 提供了多种安装方式,我们会介绍最常用的几种,你可以根据自己的需求选择合适的方案。
安装方式对比
在开始之前,先了解一下不同安装方式的特点:
方式 | 优点 | 缺点 | 适用场景 |
---|---|---|---|
npm 全局安装 | 简单快速,适合开发测试 | 依赖 Node.js 环境 | 个人学习、快速体验 |
Docker | 环境隔离,部署简单 | 需要了解 Docker 基础 | 生产环境、团队使用 |
Docker Compose | 包含数据库,功能完整 | 配置相对复杂 | 完整的生产部署 |
云服务 | 免运维,开箱即用 | 数据在第三方 | 快速上手,不关心部署 |
方式一:npm 全局安装
这是最简单的安装方式,适合快速体验和学习。
前置要求
- Node.js 16.9 或更高版本
- npm 或 yarn
安装步骤
bash
# 全局安装 n8n
npm install n8n -g
# 启动 n8n
n8n start
安装完成后,打开浏览器访问 http://localhost:5678
,就能看到 n8n 的界面了。
配置数据存储
默认情况下,n8n 使用 SQLite 数据库存储数据,文件位置在:
- macOS/Linux:
~/.n8n
- Windows:
%USERPROFILE%\.n8n
如果需要自定义数据目录,可以设置环境变量:
bash
export N8N_USER_FOLDER=/path/to/your/n8n/data
n8n start
方式二:Docker 单容器部署
Docker 方式提供了更好的环境隔离,推荐用于生产环境。
快速启动
bash
# 拉取并运行 n8n
docker run -it --rm \
--name n8n \
-p 5678:5678 \
n8nio/n8n
持久化数据
上面的命令在容器停止后数据会丢失,生产环境需要持久化存储:
bash
# 创建数据目录
mkdir ~/.n8n
# 运行容器并挂载数据卷
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v ~/.n8n:/home/node/.n8n \
n8nio/n8n
后台运行
bash
docker run -d \
--name n8n \
--restart unless-stopped \
-p 5678:5678 \
-v ~/.n8n:/home/node/.n8n \
n8nio/n8n
方式三:Docker Compose 完整部署
这种方式包含了数据库和其他依赖服务,适合完整的生产环境。
创建 docker-compose.yml
yaml
version: '3.8'
services:
postgres:
image: postgres:13
restart: unless-stopped
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: n8n_password
POSTGRES_DB: n8n
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -h localhost -U n8n']
interval: 5s
timeout: 5s
retries: 10
n8n:
image: n8nio/n8n
restart: unless-stopped
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_password_here
ports:
- "5678:5678"
volumes:
- n8n_data:/home/node/.n8n
depends_on:
postgres:
condition: service_healthy
volumes:
postgres_data:
n8n_data:
启动服务
bash
# 启动所有服务
docker-compose up -d
# 查看日志
docker-compose logs -f n8n
# 停止服务
docker-compose down
基础配置
设置管理员账户
首次访问 n8n 时,系统会引导你创建管理员账户。如果使用 Docker Compose,可以通过环境变量预设:
yaml
environment:
N8N_BASIC_AUTH_ACTIVE: true
N8N_BASIC_AUTH_USER: admin
N8N_BASIC_AUTH_PASSWORD: your_secure_password
重要的环境变量
bash
# 基础认证
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=password
# 数据库配置
DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=localhost
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_DATABASE=n8n
DB_POSTGRESDB_USER=n8n
DB_POSTGRESDB_PASSWORD=password
# 网络配置
N8N_HOST=0.0.0.0
N8N_PORT=5678
N8N_PROTOCOL=http
# 安全配置
N8N_JWT_AUTH_ACTIVE=true
N8N_ENCRYPTION_KEY=your_encryption_key
验证安装
安装完成后,通过以下步骤验证:
- 访问界面:打开
http://localhost:5678
- 登录系统:使用设置的用户名密码登录
- 创建工作流:点击 "New Workflow" 按钮
- 添加节点:尝试添加一个 "Start" 节点
如果能正常操作,说明安装成功。
常见问题
端口冲突
如果 5678 端口被占用,可以修改端口:
bash
# npm 方式
N8N_PORT=8080 n8n start
# Docker 方式
docker run -p 8080:5678 n8nio/n8n
权限问题
Docker 运行时可能遇到权限问题:
bash
# 设置正确的用户权限
docker run --user $(id -u):$(id -g) \
-v ~/.n8n:/home/node/.n8n \
n8nio/n8n
内存不足
n8n 运行需要一定的内存,建议至少 512MB:
bash
# 限制 Docker 容器内存使用
docker run --memory=1g n8nio/n8n
下一步
环境搭建完成后,我们就可以开始创建第一个工作流了。下一篇文章,我们将通过一个简单的例子来了解 n8n 的基本操作和界面功能。
记住,选择合适的安装方式很重要:
- 学习阶段:npm 全局安装最简单
- 个人使用:Docker 单容器足够
- 团队生产:Docker Compose 更稳定
现在你的 n8n 环境已经准备就绪,让我们开始探索这个强大的自动化工具吧!