跳转到主要内容

简介

要在 Square Cloud 上开发和托管 n8n 实例,遵循一套结构化的配置和前置条件流程至关重要。本技术指南将涵盖整个过程,从初始设置到生产环境部署。

前置条件

  • Square Cloud 账户:通过注册页面使用你的邮箱进行注册。
  • 有效套餐:为你的应用提供专属资源和优化的性能。查看我们可用的套餐,选择最适合你需求的方案。
n8n 以 3 GB RAM 运行(见下方的 MEMORY=3072),因此需要至少 4 GB 的套餐,例如 Standard:更小的套餐没有这么多 RAM。本指南运行在 Node.js 运行时上。

获取项目

n8n 运行在 Node.js 上,因此项目只需要一个 package.json,在 dependencies 中列出 n8n,并包含一个启动它的脚本:
package.json
n8n 的版本是特意固定的:如果使用 latest,任何一次重新安装都可能跳到带有破坏性变更的新主版本。n8n 2.x 需要 Node.js 24 或更高版本,VERSION=recommended 即可满足。 以后要更新时,先用 npm view n8n version 查看最新版本,阅读 n8n 发行说明,修改 package.json 中的版本,然后重新上传你的项目。
我们已经在 n8n-web releases 中准备好了所有可供部署的内容。你只需下载 project.zip 并上传即可。

配置 Square Cloud

在项目根目录创建 squarecloud.app 文件:
squarecloud.app
START=npm run start 会运行 package.json 中的 start 脚本。通过控制面板上传时,请手动将运行时设置为 Node.js,并使用 npm run start 作为启动命令。MEMORY 值遵循平台的规格规则:如果你想调整它,请参见为什么会有 RAM 最低要求。

环境变量

设置下面的变量。你可以将它们放在项目根目录的 .env 文件中(n8n 启动时会加载它),或者在上传表单的 Advanced configuration 或控制面板中,把它们设置为应用的环境变量。请将 my-n8n-subdomain 替换为你的 SUBDOMAIN。
.env
  • N8N_PORT 和 N8N_LISTEN_ADDRESS 让 n8n 在所有网络接口的 80 端口上监听,Square Cloud 会将你子域名的流量转发到这里。n8n 不会读取 Square Cloud 设置的 PORT 变量,因此必须设置 N8N_PORT。
  • N8N_HOST、N8N_PROTOCOL 和 N8N_WEBHOOK_URL 告诉 n8n 它的公共地址。较早的指南把最后一个变量称为 WEBHOOK_URL,它在 n8n 2.x 中已被弃用。更多选项请参见 n8n endpoint 变量。
在控制面板中设置的变量优先于 .env 文件。

ZIP 中包含什么

  • package.json
  • squarecloud.app
  • .env(如果你把上面的变量放在其中)
不要包含 node_modules/:Square Cloud 会在服务器上安装 n8n。

部署并验证

通过控制面板

1

访问上传页面

访问上传页面并上传你的项目 zip 文件。
2

配置你的环境

上传 zip 后,你需要为项目配置名称、主文件或运行时环境以及其他设置。
如果你上传的是 Web 项目,请务必选择 “Web Publication” 并为项目设置子域名。
3

部署你的项目

最后,点击 “Deploy” 按钮,即可将项目托管到 Square Cloud。
部署完成后,你可以在控制面板中监控项目的状态和日志。
正在上传应用到 Square Cloud
4

确认你的应用已上线

首次部署通常在一分钟内完成。在控制面板中,等待你的应用状态显示为运行中,并检查日志中是否有启动错误。
如果你部署的是网站或 API,请在浏览器中打开 https://<your-subdomain>.squareweb.app,你应该能看到应用正常响应。如果你部署的是机器人,发送一条命令确认它已上线。
应用无法启动?请参见故障排除指南,了解最常见的原因和解决方法。

通过 CLI

要使用此方法,你的项目根目录中需要有一个名为 squarecloud.app 的配置文件。它告诉 Square Cloud 如何运行你的应用。

配置文件指南

了解如何创建定义你应用环境的 squarecloud.app 配置文件。
1

安装 CLI

安装 Square Cloud CLI。如果你已经安装,运行同一条命令即可更新:
2

登录

运行下面的命令。它会打开你的浏览器:在浏览器中批准登录后,CLI 即可使用。无需复制任何 API 密钥。如需在脚本和 CI 中使用,请参阅 CLI 身份验证。
3

上传你的项目

在项目文件夹中运行下面的命令。CLI 会将当前文件夹打包为 zip(排除 squarecloud.ignore 中列出的内容)并上传:
要上传你自己创建的 zip,请通过 --file 传入:
4

确认你的应用已上线

首次部署通常在一分钟内完成。直接在终端中检查你的应用状态和日志:
如果你部署的是网站或 API,请在浏览器中打开 https://<your-subdomain>.squareweb.app,你应该能看到应用正常响应。如果你部署的是机器人,发送一条命令确认它已上线。
应用无法启动?请参见故障排除指南,了解最常见的原因和解决方法。

首次访问

部署完成后,请立即打开 https://my-n8n-subdomain.squareweb.app 并创建所有者账户。第一个打开该页面的人会成为实例的所有者,所以请在与任何人分享该 URL 之前完成这一步。

常见错误

自定义域名

若要使用自定义域名(例如 mysite.com)来代替默认 URL mysite.squareweb.app,你需要 Standard 计划或更高等级。默认 URL 由配置文件中的 SUBDOMAIN 字段决定。要连接你的域名,请参阅如何设置自己的域名。

最低内存要求

网站和 API 的最低要求为 512MB RAM,足以在静态运行时上托管静态构建产物。对于在服务器上渲染页面的应用(Next.js、Nuxt、Angular SSR 等),我们建议至少 1GB RAM。对于更大型的应用,请分配更多 RAM,以防止应用内存耗尽而崩溃。

找不到此站点。

请检查子域名/域名是否与 SUBDOMAIN 字段或自定义域名设置中配置的内容一致。如果你刚上传站点,请等待最多 60 秒,让 Square 启用首次访问。

站点响应超时……

你的服务器必须监听端口 80 和主机 0.0.0.0。Square Cloud 会在你的应用中设置 PORT(80)和 HOST(0.0.0.0)环境变量:请在代码中读取它们,而不要硬编码其他值。只监听 localhost 或 127.0.0.1 的服务器永远收不到请求。

n8n 在你的子域名上没有响应

n8n 会忽略 PORT 和 HOST 变量。请检查是否设置了 N8N_PORT=80 和 N8N_LISTEN_ADDRESS=0.0.0.0,然后重启应用。

Webhook URL 指向内部端口

如果没有 N8N_WEBHOOK_URL,n8n 在工作流中显示的 webhook URL 会指向内部端口,外部服务将无法访问。请将 N8N_WEBHOOK_URL 设置为你的公共地址,例如 https://my-n8n-subdomain.squareweb.app/,然后重启应用。

后续步骤

环境变量

通过控制面板或 CLI 管理 n8n 的设置和密钥。

自定义域名

用你自己的域名提供 n8n,然后更新 N8N_HOST 和 N8N_WEBHOOK_URL。

Uptime Kuma

监控 n8n 和你的其他服务。
有关 n8n 的更多信息,请参阅 n8n 官方文档。

联系我们

如果你仍然遇到技术问题,我们的专业支持团队可以为你提供帮助。联系我们,我们很乐意协助你解决任何问题,支持质量正是开发者给予 Square Cloud 4.9/5 评分(共 402 条评价)(Google 与 Trustpilot)的重要原因之一。