从零开始:宝塔面板部署 n8n 自动化平台全流程指南
如果你想实现自动化工作流(比如自动发 Telegram 通知、定时抓取数据等),n8n 是目前最强大的开源选择。本文将手把手带你从购买域名、安装面板到最终通过 HTTPS 稳定访问 n8n。
0. 准备工作:注册域名
在开始之前,你需要一个域名。你可以去 Cloudflare、阿里云 或 腾讯云 注册一个。
- 解析域名: 登录你的域名后台,添加一条 A 记录(例如
n8n.yourdomain.com),指向你服务器的 公网 IP。
1. 安装宝塔面板 (BT-Panel)
首先,我们需要一个直观的面板来管理服务器。以 Ubuntu/Debian 为例,登录 SSH 后执行:
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec
安装完成后,请记下面板给出的内网/外网地址、用户名和密码。
登录宝塔面板后,在“软件商店”中搜索并安装以下必备组件:
- Docker(这是运行 n8n 的核心)
- Nginx(用于反向代理和 SSL)
2. 使用 Docker 部署 n8n
我们采用 Docker Compose 方式,这样后期维护最方便。
创建数据目录并授权
这一步非常重要,**否则会报错 permission denied**。我们将 n8n 运行在 /home/n8n 目录下。
mkdir -p /home/n8n/data
# 将目录所有权交给容器内的 node 用户 (UID 1000)
chown -R 1000:1000 /home/n8n/data
cd /home/n8n
编写配置文件
创建一个 docker-compose.yml 文件:
vi docker-compose.yml
vi 编辑器用法:按 i 进入编辑,粘贴内容,按 Esc 输入 :wq 保存。
粘贴以下配置内容:
version: '3'
services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=n8n.liukersun.com # 换成你的域名
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://n8n.liukersun.com/ # 换成你的域名
- GENERIC_TIMEZONE=Asia/Shanghai
volumes:
- /home/n8n/data:/home/node/.n8n
启动容器
docker compose up -d
输入 docker ps 查看容器状态,确认 n8n 正在运行。
3. 宝塔配置 HTTPS 与反向代理
现在 n8n 运行在内网 5678 端口,我们需要通过宝塔让它支持域名访问。
第一步:创建站点
- 进入宝塔“网站” -> “添加站点”。
- 域名:输入你的解析好的域名(如
n8n.liukersun.com)。 - PHP版本:选择“纯静态”。
第二步:申请 SSL 证书
- 点击站点右侧的 设置 -> SSL。
- 选择 Let's Encrypt,勾选域名,点击 申请。
- 申请通过后,务必开启右上角的 强制HTTPS。
第三步:配置反向代理
- 在设置窗口点击左侧 反向代理 -> 添加反向代理。
- 代理名称:
n8n。 - 目标URL:
http://127.0.0.1:5678。 - 点击提交。
第四步:开启 WebSocket 支持
由于 n8n 的 UI 需要实时通信,必须修改反向代理配置。点击刚才创建的反向代理的“配置文件”,确保代码中包含以下内容:
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
4. 完成安装
现在,在浏览器访问 https://你的域名。你会看到 n8n 的欢迎界面:
- 设置管理员邮箱和密码。
- 进入主界面,开始拖拽你的第一个工作流!
总结
到这里,你已经拥有了一个企业级的自动化平台。相比于 SaaS 平台,私有化部署的 n8n 没有任务数限制,且数据更安全。
小贴士: 如果以后你想更新 n8n 版本,只需要三步:
cd /home/n8ndocker compose pulldocker compose up -d
想让我为你写一个具体的自动化案例,比如“当我的服务器 CPU 过高时自动重启服务并给我发 Telegram 报警”吗?
评论区