n8n 自托管指南 — 在 VPS 上运行您自己的自动化平台
n8n 自托管指南 — 在 VPS 上运行您自己的自动化平台
n8n 是最强大的开源工作流自动化平台之一,允许您构建集成、API 编排、后台作业、数据管道、AI 工作流、业务自动化等 — 无需像 Zapier 或 Make 那样按任务付费。
自托管 n8n 意味着:
✔ 完全的数据控制
✔ 无限的执行
✔ 更低的长期成本
✔ 企业级的可扩展性
在本指南中,您将学习如何 在 VPS 上部署和运行 n8n 自托管,配置环境变量,启用 SSL,并构建您的第一个工作流。
💡 提示:如果您还没有 VPS,请选择一个稳定且网络性能良好的。许多开发者喜欢使用 LightNode VPS,因为它价格实惠、速度快,并且非常适合自动化工作负载。
要求
- 一台 VPS(推荐 Ubuntu 20.04+)
- SSH 访问
- 安装 Docker(推荐方法)
- 域名(可选但推荐)
- 基本的 Linux 知识
1. 连接到您的 VPS
ssh root@your-server-ip更新系统:
apt update && apt upgrade -y2. 安装 Docker 和 Docker Compose
apt install docker.io docker-compose -y
systemctl enable docker
systemctl start docker验证:
docker --version3. 部署 n8n(Docker)
创建目录:
mkdir /opt/n8n
cd /opt/n8n创建 docker-compose.yml
version: "3"
services:
n8n:
image: n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=yourpassword
- N8N_HOST=your-domain.com
- N8N_PORT=5678
- N8N_PROTOCOL=https
volumes:
- ./data:/home/node/.n8n运行:
docker-compose up -d检查状态:
docker ps现在访问:
http://SERVER-IP:56784. 设置反向代理 + SSL(NGINX + Let’s Encrypt)
安装 nginx:
apt install nginx -y安装 certbot:
apt install certbot python3-certbot-nginx -y创建 nginx 配置:
nano /etc/nginx/sites-available/n8n粘贴:
server {
server_name your-domain.com;
location / {
proxy_pass http://localhost:5678;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}
}启用:
ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx添加 SSL:
certbot --nginx -d your-domain.com完成 🚀
现在访问:
https://your-domain.com5. 持久存储
您的工作流必须能够在容器重启后存活。
我们已经挂载了:
./data:/home/node/.n8n备份:
tar -czvf n8n-backup.tar.gz /opt/n8n/data6. 启用身份验证
已经通过 ENV 配置:
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=yourpassword这可以保护您的实例。
7. 创建您的第一个工作流
打开 n8n → 点击新建工作流
示例:Webhook → 发送 HTTP 请求
添加 Webhook 节点
触发 URL 将出现
选择 POST添加 HTTP 请求节点
将 URL 设置为 API 端点
示例:
https://api.example.com/data- 连接节点
- 激活工作流
现在发送一个 POST:
curl -X POST https://your-domain.com/webhook/test \
-H "Content-Type: application/json" \
-d '{"status":"ok"}'工作流运行 🎉
8. 系统维护
重启 n8n:
docker-compose restart更新 n8n:
docker-compose pull
docker-compose up -d检查日志:
docker logs -f container-id9. 性能建议
最少 2GB RAM 以确保工作流顺畅运行
如果 RAM 较低,请启用交换空间
如果可能,使用专用 CPU
监控 Docker 内存使用情况
避免在单个实例中使用极大的工作流
对于扩展 → 负载均衡器 + Redis + 数据库集群
常见问题及解决方案
端口 5678 拒绝
打开防火墙:
ufw allow 5678❌ SSL 失败
确保 A 记录正确
域名已传播
❌ n8n 崩溃
重启:
docker-compose restart检查日志:
docker logs -f n8n为什么要自托管 n8n?
与 Zapier / Make / IFTTT 相比:
无按任务计费
私密数据处理
开发者级别的能力
可定制性
可在 VPS 基础设施上扩展
如果自动化成为长期的生产基础设施,自托管 n8n 在 VPS 上是最佳的价值模型。
常见问答
自托管 n8n 比云端更好吗?
如果您关心:
成本
隐私
灵活性
那么是的。
我需要多少 VPS 能力?
最低:
1 vCPU
2GB RAM
SSD 存储
更多工作流 → 更多资源。
我可以使用 MySQL/PostgreSQL 而不是 SQLite 吗?
可以。生产环境通常使用 PostgreSQL。
n8n 支持 AI 工作流吗?
是的。支持 OpenAI、Gemini、Claude、DeepSeek 和自定义 API 模型。
需要 Docker 吗?
不。您可以安装 Node.js 并手动运行 — 但推荐使用 Docker。
多个用户可以使用一个 n8n 实例吗?
可以,通过凭据和环境隔离。
推荐说明:如果您计划长期自托管 n8n 以处理自动化工作负载,像 LightNode VPS 这样稳定且价格合理的 VPS 是一个很好的选择,因为它的性能可靠且覆盖全球数据中心。