n8n 安装指南

n8n 是一个强大的工作流自动化平台,支持多种安装方式。以下是几种主要的安装方式及其具体步骤。

1. NPM 安装(推荐用于快速开始)

前提条件

  • 已安装 Node.js 18 或以上版本

当前版本信息

  • 最新稳定版:1.101.1

  • 最新开发版:1.102.0

安装步骤

方法一:临时试用(使用 npx)

npx n8n

这种方式无需安装即可直接运行 n8n,适合快速体验。

方法二:全局安装

# 安装最新版本
npm install n8n -g

# 安装特定版本
npm install n8n@1.101.1 -g

# 安装开发版
npm install n8n@next -g

启动 n8n

n8n

启动带隧道功能的 n8n(仅用于开发环境)

n8n --tunnel

访问方式

安装完成后,在浏览器中访问 http://localhost:5678 即可开始使用 n8n。

更新方式

# 更新到最新版本
npm update n8n -g

# 更新到开发版
npm install n8n@next -g

版本回滚

如果需要回滚到之前的版本:

# 安装旧版本
npm install n8n@<version> -g

# 如果涉及数据库迁移,需要回滚数据库
n8n db:revert

2. Docker 安装(推荐用于生产环境)

前提条件

  • 已安装 Docker Desktop(Mac/Windows)或 Docker Engine + Docker Compose(Linux)

Docker 安装的优势

  • 在干净的环境中安装 n8n

  • 更容易设置首选数据库

  • 避免不同操作系统的兼容性问题

  • 使迁移到新主机或环境更加简单

基本安装步骤

1. 启动 n8n 容器

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

2. 访问 n8n

在浏览器中访问 http://localhost:5678

使用 PostgreSQL 数据库

默认情况下,n8n 使用 SQLite 数据库。对于生产环境,建议使用 PostgreSQL:

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -e DB_TYPE=postgresdb \
  -e DB_POSTGRESDB_HOST=<POSTGRES_HOST> \
  -e DB_POSTGRESDB_PORT=<POSTGRES_PORT> \
  -e DB_POSTGRESDB_DATABASE=<POSTGRES_DATABASE> \
  -e DB_POSTGRESDB_USER=<POSTGRES_USER> \
  -e DB_POSTGRESDB_PASSWORD=<POSTGRES_PASSWORD> \
  -v n8n_data:/home/node/.n8n \
  n8nio/n8n

设置时区

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -e GENERIC_TIMEZONE=Asia/Shanghai \
  -e TZ=Asia/Shanghai \
  -v n8n_data:/home/node/.n8n \
  n8nio/n8n

更新 Docker 版本

拉取最新镜像

# 拉取最新版本
docker pull n8nio/n8n

# 拉取特定版本
docker pull n8nio/n8n:1.101.1

重启容器

# 查看容器ID
docker ps

# 停止容器
docker stop <container_id>

# 删除容器
docker rm <container_id>

# 启动新容器
docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  n8nio/n8n

带隧道功能的 Docker 运行(仅用于开发环境)

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

3. Docker Compose 安装(推荐用于复杂部署)

基本 Docker Compose 文件

创建 docker-compose.yml 文件:

version: '3.8'

services:
  n8n:
    image: n8nio/n8n
    container_name: n8n
    ports:
      - "5678:5678"
    volumes:
      - n8n_data:/home/node/.n8n
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=password
      - GENERIC_TIMEZONE=Asia/Shanghai
      - TZ=Asia/Shanghai

volumes:
  n8n_data:

启动和管理

# 启动服务
docker-compose up -d

# 停止服务
docker-compose down

# 更新服务
docker-compose pull
docker-compose up -d --force-recreate

带 PostgreSQL 的 Docker Compose

version: '3.8'

services:
  postgres:
    image: postgres:13
    environment:
      - POSTGRES_DB=n8n
      - POSTGRES_USER=n8n
      - POSTGRES_PASSWORD=n8n
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U n8n"]
      interval: 10s
      timeout: 5s
      retries: 5

  n8n:
    image: n8nio/n8n
    depends_on:
      postgres:
        condition: service_healthy
    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
      - GENERIC_TIMEZONE=Asia/Shanghai
      - TZ=Asia/Shanghai
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  postgres_data:
  n8n_data:

4. 云服务安装(n8n Cloud)

特点

  • 无需自行维护服务器

  • 自动更新和备份

  • 专业技术支持

  • 适合非技术用户

访问方式

访问 n8n Cloud 注册账户即可开始使用。

5. 手动安装(自定义服务器部署)

前提条件

  • Linux 服务器(推荐 Ubuntu/CentOS)

  • Node.js 18+ 或 Docker

  • 反向代理服务器(Nginx/Apache)

  • SSL 证书(用于 HTTPS)

基本步骤

1. 更新系统

# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y

# CentOS/RHEL
sudo yum update -y

2. 安装 Node.js

# 使用 NodeSource 仓库
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

3. 安装 n8n

sudo npm install n8n -g

4. 创建系统服务

创建 /etc/systemd/system/n8n.service 文件:

[Unit]
Description=n8n
After=network.target

[Service]
Type=simple
User=n8n
ExecStart=/usr/local/bin/n8n
WorkingDirectory=/home/n8n
Restart=always
RestartSec=10
Environment=NODE_ENV=production
Environment=N8N_HOST=0.0.0.0
Environment=N8N_PORT=5678
Environment=N8N_PROTOCOL=https
Environment=WEBHOOK_URL=https://your-domain.com/

[Install]
WantedBy=multi-user.target

5. 启动服务

sudo systemctl enable n8n
sudo systemctl start n8n

安装方式选择建议

用于学习和测试

  • NPM npx 方式:最快速的体验方式

  • Docker 基础方式:适合快速搭建测试环境

用于开发环境

  • NPM 全局安装:方便调试和开发

  • Docker Compose:便于管理多个服务

用于生产环境

  • Docker + PostgreSQL:稳定且易于扩展

  • 手动安装 + 系统服务:更好的系统集成

  • n8n Cloud:无需运维的最佳选择

注意事项

  1. 数据备份:定期备份 n8n 数据目录和数据库

  2. 安全配置:启用基本认证或更高级的身份验证

  3. SSL 证书:生产环境必须使用 HTTPS

  4. 版本兼容性:升级前请查看版本说明和兼容性要求

  5. 资源监控:监控服务器资源使用情况,确保稳定运行

通过以上安装方式,您可以根据自己的需求选择最适合的方案来部署 n8n 工作流自动化平台。