跳转到主要内容

简介

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

前置条件

  • Square Cloud 账户:通过注册页面使用你的邮箱进行注册。
  • 有效的付费套餐:为你的应用提供专属资源和优化的性能。查看我们可用的套餐,选择最适合你需求的方案。

创建项目

要创建 FastAPI 应用,在按照以下步骤操作之前,你的系统上需要安装 Python 和 pip。

安装库

安装好 Python 和 pip 后,创建你的 FastAPI 项目。首先,安装所需的依赖:
Terminal

开发项目

创建一个 Python 文件(例如 main.py),并添加以下代码来实现一个基础的 FastAPI 应用:
main.py
在上面的代码中,我们实现了一个简单的路由,访问时会返回 “Hello, World!”。该应用被配置为在 80 端口上运行,这是默认的 HTTP 端口。 接下来,我们需要创建依赖文件。在 Python 中,我们可以使用 requirements.txt 或 pyproject.toml。

选择生产服务器

Uvicorn 本身就是一个适用于生产环境的 ASGI 服务器,因此不需要额外的 WSGI 服务器。在 Square Cloud 上,不要运行 python main.py,而是在你的配置文件中设置 START 字段来直接启动 Uvicorn:
squarecloud.config
对于流量较高的应用,你可以添加额外的 Uvicorn worker,例如 START=python -m uvicorn main:app --host 0.0.0.0 --port 80 --workers 4

部署

准备好项目文件后,你现在可以将它们上传到 Square Cloud 并托管你的项目。 为此,请创建一个包含所有项目文件的 ZIP 文件。

通过控制面板

1

访问上传页面

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

配置你的环境

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

部署你的项目

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

确认你的应用已上线

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

通过 CLI

要使用此方法,你需要在项目根目录中创建一个名为 squarecloud.app 的配置文件。该文件将包含项目所需的配置。

配置文件指南

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

安装 CLI

首先,你的环境中需要已安装 CLI。如果尚未安装,请在终端中运行以下命令:
如果你已经安装,我们建议对其进行更新。为此,请在终端中运行以下命令:
2

进行身份验证

现在,要进行身份验证并使用其他 CLI 命令,你可以在此处点击 “Request API Key” 找到你的授权密钥。获取授权密钥后,运行以下命令:
3

上传你的项目

最后,要使用 CLI 将应用部署到 Square Cloud,你需要运行以下命令:
或者,如果你手动创建了 zip 文件,可以使用:
4

确认你的应用已上线

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

故障排查

自定义域名

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

最低内存要求

简单网站/API 的最低要求为 512MB RAM。对于使用框架的站点(Next.JS、React、Vue、Angular 等),我们始终建议至少 1GB RAM。对于更大型的应用,请分配更多 RAM,以防止应用内存耗尽而崩溃。

找不到此站点。

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

站点响应超时……

请检查你是否在应用中正确配置了端口 80主机 0.0.0.0。我们建议使用 Square 强制注入的环境变量:来自 .env 文件的 PORTHOST

更多资源

有关 FastAPI 及其高级工具的更多详细信息,请访问 FastAPI 官方文档。 在那里,你将找到深入的技术指南、专门的教程和完整的 API 文档,帮助你充分利用 FastAPI 的各项功能。

联系我们

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