1 分钟!带你将 n8n 部署到云服务【还不花钱】

852 阅读3分钟

想用 n8n 自动化工作流,但又怕部署麻烦、花钱?今天我用 1 分钟,把 n8n 部署到云端。还提供零成本方案,免费跑起来!

大家好,今天给大家分享一下,如何将 n8n 部署到云服务器上。

最近一直在使用 n8n、coze 这样的平台,但是我自己又只有一台电脑,不想每次都在本地启动,而是可以有一个固定的浏览器地址,每次直接访问就行。

不过,如果你只是用来玩或者刚开始入门,不建议你直接部署在云端。当你在本地搭建好完整的工作流,并且能跑通了,再托管到云端进行部署。

选择云服务厂商一直是一个很头疼的事,需要货比三家,看看哪家又便宜又好用。而且既然你使用了 n8n,那可能就会有一些出海的自动化场景,所以还得看看云服务厂商是不是有海外的站点。

这两天,我看了 10 多个云服务厂商,既有中国的大厂,也有国外的大厂,像国内的阿里云、腾讯云、百度云、华为云、火山引擎。国外的 AWS、谷歌云、微软 Azure。以及像 zeabur、railway、vercel 这种中小厂商,它们没有自己的服务器,也是从云服务厂商那租借过来,当了一个中间商,但是支持一键部署 n8n。

可以说能选的非常多,有的可以薅羊毛,像微软的 Azure,在 30 天内送了 200 美金的使用额度,AWS 的云服务器也提供免费的$100额度,最长可使用12个月,直接冲起来。

本篇文章中,我挑选了两个个平台,分别是 Zeabur 和 AWS。

Zeabur 支持用 n8n 模版一键部署,开箱即用,非常快。AWS 则相对麻烦一点,但是免费使用。

Zeabur 一键部署(最快速体验)

如果你只是想快速部署n8n,不想研究服务器配置,Zeabur 是个很适合的选择。

Zeabur 是一个可以帮助你部署服务的平台,无论你使用什么编程语言或开发框架,你都只需要通过几个简单的按钮进行部署。

它的优势就是方便快捷,并且可以快速生成域名。缺点就是用得越久花得越多。

首先登录该地址进行注册:zeabur.com/referral?re…

然后可以选择使用 Github 或者邮箱进行注册登录,我自己用的是Github。

进来后,点击右上角的头像,设置付款,需要进行充值,我目前使用的是 DEVELOPER 方案,每个月5的免费额度,还有一个5 的免费额度,还有一个80 的方案,就不推荐了。

如果额度消耗完了,可以单独充值,支持支付宝和微信支付,对国内用户来说非常友好。

Image

返回到项目面板中,点击创建项目。

Image

之后就会让你选择时区,如果你想要访问国外平台的 API 接口或者大模型,比如说 GPT、Gemini、Claude、twitter 等,那就不要选择 Shanghai 和 Hongkong 节点,选择其他的外国站点,比如我这里选择一个美国的 California 节点

Image

然后选择从模版部署。

Image

在模版中,搜索 n8n 模版,这里还提供了许多开箱的模版,比如 WordPress、Dify,图的就是一个方便,非常适合小白入门。

Image

输入域名前缀,这个就是你当前项目可以通过外网访问的浏览器地址了,点击 Deploy 进行部署。

Image

部署完后,就会进入到这个页面,点击域名进行访问,就会跳转到 n8n 节点。

Image

到这就算部署完啦,是不是非常快!

在仪表盘这,我们能看到每个项目对应的用量。

Image

说实话还是挺费钱的,就是图个方便,如果长期使用的话,还是推荐直接去租一台云服务器,自己搭建。

接下来,我说一下如何在 AWS 上去部署。

AWS 免费部署

进入该页面:aws.amazon.com/cn/campaign…

找到图中的按钮,点击免费使用(也可以选择12个月免费的),就会进入开始注册流程,这里就不演示了。

Image

刚注册的话,在控制台这里有一个 EC2 启动实例

Image

进来以后,会有 8 个步骤的提示,根据提示,将需要选择或者输入的信息处理完

主要涉及如下几个信息:

  • 名称
  • 操作系统:Amazon Linux
  • 实例类型:这里我用的是 t3.micro,2vCPU + 2GB 内存(默认是 1GB 内存,但可能不够用)
  • 创建密钥对:我用的是 RSA 加密,。pem 私钥文件格式
  • 网络配置:网络设置用默认的,安全组中把 HTTP 和 HTTPS 流量勾选上
  • 存储

Image

最后点击启动实例,成功后是如下的状态,点击连接到实例->连接,会进入到服务器命令窗口。

Image

在命令窗口中,一步一步执行如下的命令

# 1) 安装 docker
sudo dnf install -y docker docker-compose-plugin || sudo yum install -y docker

# 2) 启动并设为开机自启
sudo systemctl enable --now docker

# 3) 验证
docker --version
docker compose version

# 4)下载汉化包
mkdir ~/n8n | cd ~/n8n
wget https://github.com/other-blowsnow/n8n-i18n-chinese/releases/download/n8n%401.106.3/editor-ui.tar.gz

# 5)解压汉化包
tar -xvzf editor-ui.tar.gz

# 6)运行
docker run -it -d --name n8n \
-p 5678:5678 \
-v /home/ec2-user/n8n/dist:/usr/local/lib/node_modules/n8n/node_modules/n8n-editor-ui/dist \
-v n8n_data:/home/node/.n8n \
-e N8N_DEFAULT_LOCALE=zh-CN \
-e N8N_SECURE_COOKIE=false \
n8nio/n8n

执行完后,需要配置一下安全组,开放5678端口,操作如下,在实例面板中,先点击安全组:

Image

进入安全组详情:

Image

编辑入站规则:

Image

配置 5678 端口,类型选择自定义 TCP,然后保存。

Image

之后在实例面板中找到共有 IPv4 DNS 或者 IPv4 地址,后面接上:5678,直接访问就可以了。

DNS 地址长这样:ec2-xx-xx-xx-xx.ap-。compute.amazonaws.com,那 n8n 地址就是 ec2-xx-xx-xx-xx.ap-。compute.amazonaws.com:5678

如果说不想每次都带上端口,可以购买一个域名,指向这个地址,或者当我们访问这个域名时 ,自动跳转到 5678 端口上。

我们通过 Nginx 来配置一个反向代理。

在服务器命令窗口中依次输入如下的命令:

sudo dnf install -y nginx || sudo yum install -y nginx
sudo systemctl enable --now nginx
sudo systemctl status nginx --no-pager

sudo tee /etc/nginx/conf.d/n8n.conf >/dev/null <<'NGX'
server {
    listen 80;
    # 使用你的域名;如果没有域名,可以临时写本机公网IP
    server_name ec2-3-141-170-73.us-east-2.compute.amazonaws.com;

    # 防止大文件导入被拒(按需调整)
    client_max_body_size 50m;

    # 开启 gzip(可选)
    gzip on;
    gzip_types text/plain text/css application/json application/javascript application/xml+rss;

    location / {
        proxy_pass         http://127.0.0.1:5678;
        proxy_http_version 1.1;

        # 必要的头与升级(支持长连接/事件流)
        proxy_set_header   Host              $host;
        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;
        proxy_set_header   Upgrade           $http_upgrade;
        proxy_set_header   Connection        "upgrade";

        # 更稳的超时(按需调大)
        proxy_connect_timeout   60s;
        proxy_send_timeout      60s;
        proxy_read_timeout      60s;
        send_timeout            60s;
    }

    # Webhook 路径可与上面一致;单独列出便于将来差异化策略
    location /webhook/ {
        proxy_pass         http://127.0.0.1:5678;
        proxy_http_version 1.1;
        proxy_set_header   Host              $host;
        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;
        proxy_set_header   Upgrade           $http_upgrade;
        proxy_set_header   Connection        "upgrade";
    }
}
NGX

验证(注意看输出结果,提示success了才算完成)

sudo nginx -t
sudo systemctl reload nginx

到这直接访问域名就可以了。

Image

结尾

好啦,今天的分享就到这里。

这次主要是想给大家一个用最小代价把 n8n 搬到云端的思路,不管是为了省钱,还是为了随时随地访问,都能帮你节省很多折腾的时间。

我这里用了 Zeabur 和 AWS 两个平台做演示,如果你不想用这两个,也可以选国内的腾讯云、阿里云等,30~50 元左右就能买到一台 2 核 2G 的云服务器。

其实所有云服务器本质都差不多,区别主要在系统镜像和管理方式上。

如果你觉得这篇文章有用,记得点赞、关注、收藏,这样你下次想找的时候就不用翻半天啦。

Image

夏尾 | 你专属的 AI 口袋

期待未来,我们能用 AI 一起解放生产力,成为超级个体