欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > n8n 中文系列教程_22. 如何在服务器部署/安装n8n:从零开始的完整指南

n8n 中文系列教程_22. 如何在服务器部署/安装n8n:从零开始的完整指南

2025/5/14 12:02:47 来源:https://blog.csdn.net/Lilith_0828/article/details/147925172  浏览:    关键词:n8n 中文系列教程_22. 如何在服务器部署/安装n8n:从零开始的完整指南

        n8n 是一款强大的开源自动化工具,可帮助您轻松连接各种应用和服务,构建高效的工作流。本教程将详细介绍如何在自有服务器上部署 n8n,涵盖Docker 容器化部署的全流程,并提供生产级优化建议和安全加固方案。可以通过本指南快速搭建稳定、高性能的 n8n 自动化平台,实现业务流程的智能化管理。
 


1. 评估部署方案

n8n提供多种部署方式,服务器部署适合需要完全控制的中高级用户。在开始前,请确认:

  • 自建服务器的必要性,可以参考这篇文章,选择适合的 n8n 安装部署方式:完整指南

  • 技术能力匹配度

  • 长期维护成本


2. 基础设施准备

2.1 域名注册(关键步骤)

实操建议:

首先,购买一个域名。啥域名都可以,别在国内买,除非你想备案。

  1. 域名选择技巧:

    • 使用.com/.io等通用顶级域

    • 避免特殊字符和连词符

    • 长度控制在12个字符内

技术细节:

# 验证DNS解析
dig +short yourdomain.com
nslookup yourdomain.com 8.8.8.8

2.2 服务器

你需要一台服务器来运行 n8n,如果你是纯新手,推荐使用海外的服务器。

你可以用中国大陆的服务器,但这意味着你的域名需要备案,且后期你的 n8n 将无法接入 Google 和 OpenAI 的 AI 服务。

值得注意的是,如果你购买阿里云或腾讯云的香港节点,虽然不需要备案,但同样不能接入 Google 和 OpenAI 的 AI 服务。

3. 将域名指向你的服务器

如果你按照上两步准备好了域名,服务器,那么你接下来需要将两者结合。也就是将你的域名指向你的服务器,你可以在 CloudCone 后台找到你的服务器 IP 地址:

3.1 安全基线配置

必要操作:

  1. SSH加固:

    sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
    echo "AllowUsers yourusername" >> /etc/ssh/sshd_config
    systemctl restart sshd
     
  2. 防火墙规则:

    ufw allow 22/tcp
    ufw allow 80/tcp
    ufw allow 443/tcp
    ufw enable
     

3.2 1Panel深度配置

在 CloudCone 的服务器面板,有一个 VNC 按钮,点击后,将进入一个命令行界面。

接下来,请完全遵照 1Panel 的官方文档,在你的服务器上安装一个 1Panel 面板。

如果你是真真正正的纯小白,你还可以完整的看一遍 1Panel 官方的 B 站教程,该教程会教你如何安装、使用、更新、维护 1Panel。

对于纯小白来说,我真的建议看完 1Panel 的视频教程在继续部署 n8n,否则后续你可能会遇到各种基础问题需要返回来学习。

性能调优:

  1. 修改Docker配置:

    {"log-driver": "json-file","log-opts": {"max-size": "10m","max-file": "3"},"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
    }
     
  2. 资源限制:

    • 设置容器内存限制

    • 配置CPU优先级

4. n8n容器化部署

如果你见到了这个页面,证明你可以开始部署 n8n 了,否则请完成【前置准备工作】。

第一步:拉取镜像

在 1Panel 里,进入 容器>镜像>拉取镜像,然后在镜像名处输入 n8nio/n8n。

如果拉取失败,请参考这个页面,将 Docker 源更换为国内源(https://docker.1panel.live/)。

第二步:创建永久化目录

在 1Panel 里,进入 主机>文件,然后在 /opt/1panel/apps 目录下创建一个 n8n 目录。然后再创建一个 n8ndata 目录。

n8n 这个目录,是留给 n8n 程序写数据的,也就是你的 Workflow、运行日志、第三方 API 凭证都在这个目录里,以后备份的时候备份这个目录,就能保证 n8n 整体数据不丢。

n8ndata 这个目录,是用来我们自己方便往里存文件用的,比如你以后要用 n8n 生成或读取 Excel,都需要把文件上传到这个目录。

如果你的 Linux 操作系统与我不同,具体的路径可能不同,但整体来说,放在 1panel 面板的 apps 目录下方便管理就行。

记住新建的这两个目录的地址,并将其权限设置为 777。

第三步:创建容器

在 1panel 里进入 容器>容器,创建一个新的容器:

这里有许多参数需要设置,我将其列在这里:

参数

说明

名称

n8n

你可以随便起,记住就行

镜像

n8nio/n8n:latest

如果你第一步正确,这里可以在下拉菜单里看到。

端口

暴露端口

这里要添加两个端口

服务器127.0.0.1:5678 容器 5678 协议 tcp

服务器127.0.0.1:5678 容器 5678 协议 udp

网络

1panel-network

ipv4

172.18.0.6

你可以修改最后一段(6的部分),选个没被占用的即可。

挂载

本机目录:/opt/1panel/apps/n8n 权限:读写 容器目录:/home/node/.n8n -———— 本机目录:/opt/1panel/apps/n8ndata 权限:读写 容器目录:/home/node/n8ndata

你需要在这里点一下添加,然后添加两个本机目录(而不是挂载卷)。

环境变量

N8N_HOST=xxxx.com WEBHOOK_URL=https://xxxx.com GENERIC_TIMEZONE=Asia/Shanghai N8N_PROXY_HOPS=1

xxxx.com 为你买的域名,如果你想在二级域名运行 n8n,那就填写二级域名。WEBHOOK_URLN8N_HOST的区别就是一个有协议头,一个没有。 GENERIC_TIMEZONE是时区。 N8N_PROXY_HOPS 代表你的 n8n 运行在几层反向代理之后。

第四步:创建网站

在 1panel 面板中,进入 网站>网站>创建网站

在第一次使用 1panel 的网站功能时,可能会被要求安装 OpenResty,按照官方提示引导操作即可。如遇到问题,可参考 1panel 文档。

在创建网站界面,选择“反向代理”(最上面)类型,然后在主域名里输入你购买的域名,代号不用惯,“监听 IPV6”可开可不开。

代理地址的协议头选择 http,地址输入 localhost:5678/

⬆️结尾一定要有/,否则会有 Socket 连接问题。

然后点击确认,创建网站。

第五步:设置 HTTPS 访问

进入 1panel 的 网站>证书>创建证书,如果此前的步骤正常,你可以从 从网站中获取 那里找到 n8n 的网站。

然后,你需要根据提示创建一个新的 Acme 账户,验证方式选择 http。如果你的域名存放在 Godaddy、阿里云、DNSPod 或 Cloudflare,也可以选择用 DNS 账号验证,然后根据这个文档的指引操作:1Panel - DNS账户。稍微复杂一点,但后续创建其他网站时会更加方便。

自动续签的勾一定要选上,不然每三个月你要重新操作一次。

然后,回到 网站>网站>n8n网站,点击右边的配置,进入网站配置界面,再点击 HTTPS 选项卡。

打开 HTTPS,选择 访问 HTTP 自动跳转到 HTTPS ,选择你刚才申请的证书,其他的部分不用修改,点保存。

第六步:初始化 n8n

如果以上全部顺利,现在你就可以通过你的域名访问部署好的 n8n 了,接下来就要进入 n8n 的设置环节了。

根据界面,填入邮箱、姓、名、密码,即可创建你的第一个账号。这个账号也将是 n8n 的超级管理员,可以创建其他账号,并且权限无法更改,一定要记好你的账号密码,私有部署的 n8n 无法找回账户密码,如果这个账号的密码忘记了,只能删除重装了。

首次登录还会让你填个调研问卷,随便填或按照你的实际情况填就行,然后就会进入 Editor 界面,证明你的部署大功告成:

4.1 高级容器配置

生产级参数:

version: '3'
services:n8n:image: n8nio/n8n:latestrestart: unless-stoppedports:- "5678:5678"volumes:- ./n8n-data:/home/node/.n8n- ./n8n-files:/filesenvironment:- N8N_HOST=yourdomain.com- WEBHOOK_URL=https://yourdomain.com- NODE_ENV=production- DB_TYPE=postgresdb- DB_POSTGRESDB_DATABASE=n8n- DB_POSTGRESDB_HOST=postgres- DB_POSTGRESDB_PORT=5432- DB_POSTGRESDB_USER=n8n- DB_POSTGRESDB_PASSWORD=yourpassworddeploy:resources:limits:cpus: '2'memory: 2G
 

4.2 数据库集成

PostgreSQL配置指南:

  1. 创建专用数据库:

    CREATE DATABASE n8n;
    CREATE USER n8n WITH ENCRYPTED PASSWORD 'securepassword';
    GRANT ALL PRIVILEGES ON DATABASE n8n TO n8n;
    ALTER DATABASE n8n SET statement_timeout = 30000;
     

5. 生产环境优化

5.1 性能调优

  1. 工作流优化:

    • 设置合理的轮询间隔

    • 启用缓存机制

  2. 系统参数:

    # 增加文件描述符限制
    echo "fs.file-max = 100000" >> /etc/sysctl.conf
    # 调整进程限制
    echo "* soft nofile 65535" >> /etc/security/limits.conf
     

5.2 监控方案

推荐工具栈:

  • Prometheus + Grafana监控看板

  • 关键指标:

    • 工作流执行耗时

    • API调用成功率

    • 系统资源占用

6. 安全加固方案

6.1 访问控制

  1. 网络层:

    • 配置安全组规则

    • 设置IP白名单

  2. 应用层:

    • 启用双因素认证

    • 配置登录失败锁定

6.2 数据安全

备份策略:

# 每日备份脚本
#!/bin/bash
BACKUP_DIR="/backups/n8n"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
tar -czvf $BACKUP_DIR/n8n_$TIMESTAMP.tar.gz /opt/1panel/apps/n8n
find $BACKUP_DIR -type f -mtime +30 -delete
 

7. 故障排查指南

7.1 常见问题解决

问题现象排查步骤解决方案
502错误1. 检查容器状态
2. 查看日志
3. 验证端口
重启服务/调整代理配置
性能下降1. 监控资源使用
2. 分析慢查询
扩容/优化工作流

7.2 日志分析技巧

# 实时查看日志
docker logs -f n8n_container_id# 过滤错误日志
grep -i "error" /opt/1panel/apps/n8n/logs/n8n.log

资料推荐

  • 🔗 n8n官方文档参考
  • ✨中转使用教程

本指南持续更新,建议收藏并定期查看n8n官方文档获取最新部署建议。部署过程中遇到任何技术问题,欢迎在评论区留言讨论。


更多内容可查看本专栏文章,有用的话记得点赞收藏噜!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词