所有托管服务节省 15%

测试技能,享折扣

使用代码: Skills 开始使用
China
Linux 安全 虚拟服务器

如何在 Debian 12 VPS 上部署 n8n:完整的自托管自动化指南

在自己的 VPS 上运行 n8n 是构建安全、可扩展且始终在线的自动化工作流的最有效方式。与基于云的自动化服务不同,在 VPS Hosting 计划上自托管 n8n 可为您提供完整的数据隐私、无限的工作流执行、24/7 正常运行时间和完全可预测的月度成本。以 Debian 12 作为基础操作系统,您可以受益于长期稳定性、强大的社区支持和访问最新软件包的权限。

本指南将逐步引导您完成每个步骤:更新服务器、安装 Docker 和 Docker Compose、生成加密密钥、配置 n8n、启动服务以及在浏览器中访问编辑器。

为什么在 VPS 上运行 n8n 而不是云服务?

虽然 n8n 确实提供托管云服务,但在 VPS 上自托管您自己的 n8n 实例为开发人员、企业和自动化专业人士提供了关键优势:

  • 完整的数据隐私 – 您的所有工作流、API 密钥、凭证和客户数据完全在您的控制下。任何第三方提供商都无法访问或审计您的信息。
  • 无限执行 – 在 VPS 上,您设置限制 — 而不是 SaaS 定价层。运行尽可能多的工作流、触发器和执行,满足您的项目需求。
  • 24/7 可用性 – VPS 使您的自动化始终运行,即使您的个人计算机已关闭。
  • 增强的安全性 – 使用防火墙、SSL Certificates、VPN 访问和您自己的加密密钥来加固您的实例。所有凭证都在静态时加密。
  • 可扩展性和性能 – 使用 AlexHost VPS 资源,您可以根据自动化工作负载的增长按需升级 CPU、RAM 和存储。
  • 成本效益 – 您不需要按执行次数付费,而是支付固定的月度 VPS 费用,并可以无限制地运行工作流,无需额外费用。

> 简而言之:在您自己的 VPS 上部署 n8n,将您的服务器转变为强大的自托管自动化中心,您可以完全控制数据、性能和成本。

前置条件

开始之前,请确保您拥有:

  • 一个运行中的VPS Hosting实例,已安装Debian 12 (Bookworm)
  • 通过SSH的Root或sudo访问权限
  • VPS的公网IP地址
  • 对Linux命令行的基本了解

Step 1: 更新服务器

始终首先将您的 Debian 12 系统完全更新到最新版本。这确保在安装任何新软件之前,您拥有最新的安全补丁和软件包元数据。

sudo apt update && sudo apt upgrade -y

预期结果:您将看到软件包被下载和升级。完成后,终端会确认一个摘要,例如 0 upgraded, 0 newly installed,如果一切都已是最新版本。

第2步:安装Docker和Docker Compose

n8n在Docker容器内运行效果最佳,这样可以隔离应用程序并使更新变得简单。按照以下步骤从Docker官方存储库安装Docker Engine和Compose插件。

安装所需的依赖项

sudo apt install -y curl gnupg2 ca-certificates lsb-release apt-transport-https

添加Docker官方GPG密钥和存储库

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] 
https://download.docker.com/linux/debian $(lsb_release -cs) stable" | 
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

更新软件包列表并安装Docker

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

验证安装

docker --version
docker compose version

预期输出:

Docker version 25.0.3, build abc123
Docker Compose version v2.24.6

这确认Docker Engine和Compose插件已安装并可以使用。

第 3 步:准备项目目录

创建一个专用目录来存储所有 n8n 相关文件,包括配置和持久数据:

mkdir ~/n8n && cd ~/n8n

将所有内容保存在一个目录中可以显著简化备份、更新和迁移。

第 4 步:生成加密密钥

n8n 使用加密密钥在其内部数据库中安全地存储所有凭证(API 令牌、密码、OAuth 密钥)。生成一个强大的随机密钥并将其保存到文件中:

openssl rand -base64 24 > ~/n8n/encryption.key
cat ~/n8n/encryption.key

重要:保管好此密钥。如果丢失,您将无法解密存储的凭证。考虑将其备份到安全位置,例如密码管理器或加密存储。

第 5 步:创建 Docker Compose 配置

现在创建 docker-compose.yml 文件,该文件定义 n8n 如何在 Docker 中运行:

nano docker-compose.yml

粘贴以下配置。YOUR_SERVER_IP 替换为您实际的 AlexHost VPS 公网 IP 地址:

version: '3.7'

services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=supersecretpassword
      - GENERIC_TIMEZONE=Europe/Chisinau
      - N8N_ENCRYPTION_KEY_FILE=/files/encryption.key
      - N8N_EDITOR_BASE_URL=http://YOUR_SERVER_IP:5678
      - N8N_SECURE_COOKIE=false
    volumes:
      - ./n8n_data:/home/node/.n8n
      - ./encryption.key:/files/encryption.key:ro

使用 CTRL + O 保存文件,按 Enter 确认,然后使用 CTRL + X 退出。

关键配置说明

变量用途
N8N_BASIC_AUTH_ACTIVE启用 HTTP 基本身份验证以保护编辑器
N8N_BASIC_AUTH_USER基本身份验证登录的用户名
N8N_BASIC_AUTH_PASSWORD密码 — 将其更改为强大的唯一值
GENERIC_TIMEZONE为计划的工作流触发器设置时区
N8N_ENCRYPTION_KEY_FILE容器内加密密钥文件的路径
N8N_EDITOR_BASE_URL用于访问 n8n 编辑器的公网 URL
N8N_SECURE_COOKIE设置为 false 用于 HTTP;使用 HTTPS 和 SSL 时设置为 true

> 安全提示:对于生产部署,配置域名、安装 SSL 证书,并将 N8N_SECURE_COOKIE=true 设置为加密所有浏览器会话。

第 6 步:调整目录权限

创建持久数据目录并分配正确的所有权,以便 n8n 容器进程(以用户 ID 1000 运行)可以读取和写入数据:

mkdir -p ./n8n_data
sudo chown -R 1000:1000 ./n8n_data

如果不执行此步骤,容器可能无法写入工作流数据,您将在日志中遇到权限错误。

第 7 步:启动 n8n

以分离(后台)模式启动 n8n 容器:

docker compose up -d

预期输出:

[+] Running 2/2
 ✔ Network n8n_default     Created
 ✔ Container n8n-n8n-1     Started

验证容器正在运行

docker ps

您应该看到 n8n-n8n-1 列出状态为 Up 和端口 0.0.0.0:5678->5678/tcp 映射。

第8步:检查日志

在访问浏览器之前,验证n8n启动时没有错误:

docker logs -f n8n-n8n-1

要查找的内容:

  • 没有mismatching encryption keys错误
  • 确认服务正在监听端口5678的消息
  • 没有致命启动异常

健康的启动日志将显示n8n确认已加载并准备好接受连接。按CTRL + C停止跟踪日志流。

第9步:在浏览器中访问n8n

打开网络浏览器并导航到您的VPS IP地址的5678端口:

http://YOUR_SERVER_IP:5678

例如:

http://176.123.2.191:5678

从命令行验证连接

如果您无法直接从服务器环境访问浏览器,可以使用curl确认n8n是否响应:

curl http://YOUR_SERVER_IP:5678

这将返回n8n登录页面的原始HTML源代码,包括<script>标签和一条通知,说明UI需要JavaScript。此输出确认n8n正在正确运行——但是,由于curl无法执行JavaScript,您必须在真实浏览器中打开URL才能使用可视化编辑器。

首次所有者账户设置

首次在浏览器中打开URL时,您将看到n8n所有者账户设置屏幕。这是初始管理员注册页面,您需要输入:

  • 电子邮件地址
  • 名字和姓氏
  • 安全密码

完成此表单并点击下一步后,此账户将成为您n8n部署的主所有者,拥有对工作流编辑器、凭证管理器和所有管理设置的完全访问权限。然后您可以立即开始在n8n可视化界面中构建和管理自动化工作流。

生产加固:后续步骤

一旦您的 n8n 实例运行起来,请考虑采取这些额外步骤使其生产就绪:

  1. 设置反向代理 – 使用 Nginx 或 Caddy 将流量从端口 80/443 代理到端口 5678,启用基于域名的清晰访问。
  2. 安装 SSL 证书 – 使用 HTTPS 保护所有流量。AlexHost 提供 SSL 证书来保护您的 n8n 实例和服务器上运行的任何其他服务。
  3. 注册域名 – 将自定义域指向您的 VPS 以获得专业、易记的访问。您可以直接通过 域名注册注册一个。
  4. 配置防火墙 – 使用 ufw 仅限制来自特定 IP 地址的对端口 5678 的访问。
  5. 设置自动备份 – 定期备份 ~/n8n/n8n_data 目录和您的 encryption.key 文件。
  6. 启用电子邮件通知 – 将 n8n 连接到 SMTP 服务器或使用 电子邮件托管来发送工作流警报和错误通知。

为 n8n 选择合适的托管服务

您的 n8n 实例的性能和可靠性在很大程度上取决于您的底层基础设施。以下是选择合适的 AlexHost 计划的快速指南:

使用场景推荐计划
个人项目、小型团队VPS 托管 — 经济实惠、灵活、完全 root 访问权限
高流量工作流、大型集成独立服务器 — 最高性能、无共享资源
AI 驱动的自动化节点GPU 托管 — 适合工作流中的 ML 模型推理
带控制面板的简单部署VPS with cPanel — 通过 GUI 管理所有内容

结论

在 Debian 12 VPS 上部署 n8n 是您可以为专业工作流自动化做出的最聪明的决定之一。通过在 AlexHost VPS Hosting 计划上自托管,您可以获得对数据的完全所有权、无限的工作流执行和 24/7 可用性 — 所有这些都以可预测的固定成本提供。

基于 Docker 的安装过程简单明了且可重复,使得维护、更新和扩展自动化中心变得容易,随着您的项目增长。通过添加 SSL 证书、自定义域名和适当的防火墙规则,您的 n8n 实例成为一个完全强化的企业级自动化平台,完全由您控制。

无论您是在自动化业务流程、集成 API 还是构建复杂的多步骤工作流,在自己的 VPS 上运行 n8n 都能为您提供任何基于云的订阅无法匹配的自由、安全和性能。