简介
要在 Square Cloud 上开发和托管 ,遵循一套结构化的配置和前置条件流程至关重要。本技术指南将涵盖整个过程,从初始设置到生产环境部署。前置条件
创建项目
要创建 NestJS 应用,在按照以下步骤操作之前,你的系统需要先安装 Node.js 和 npm。安装 CLI
要使用 NestJS 命令行界面(CLI),你需要将其全局安装到系统中。运行以下命令:@nestjs/cli 包全局安装到你的系统中,使你可以在终端的任何位置使用 nest 命令。
开发项目
要创建一个新的 NestJS 项目,运行以下命令:nest new my-app 用于创建一个新的 NestJS 项目。nest new 命令是随 nest(NestJS 命令行界面)一起提供的工具,用于初始化一个新的 NestJS 应用。
my-app 是新应用的名称。该命令会创建一个名为 my-app 的新目录,并为一个基础的 NestJS 应用设置好必要的文件和依赖。
使用 nest new my-app 命令生成 NestJS 项目后,要修改端口需要编辑的文件是 main.ts。该文件位于项目根目录下的 src 文件夹中。
你可以使用以下命令启动开发服务器:
构建项目
NestJS 使用 TypeScript,因此在运行应用之前,你必须将 TypeScript 代码编译为 JavaScript。 你可以运行以下命令来编译应用:package.json 文件中定义的 build 脚本,该脚本进而运行 nest build 命令。此命令会将你的 TypeScript 代码编译为 JavaScript。运行此命令后,编译生成的 JavaScript 文件将位于项目的
dist 目录中。这些文件正是你在生产环境中运行应用时所使用的。运行应用的主文件将是
dist/main.js。
部署
准备好项目文件后,你现在可以将它们上传到 Square Cloud 并托管你的项目。 为此,请创建一个包含所有项目文件的 ZIP 文件。通过控制面板
1
访问上传页面
访问上传页面并上传你的项目 zip 文件。
2
配置你的环境
上传 zip 后,你需要为项目配置名称、主文件或运行时环境以及其他设置。
如果你上传的是 Web 项目,请务必选择 “Web Publication” 并为项目设置子域名。
如果你上传的是 Web 项目,请务必选择 “Web Publication” 并为项目设置子域名。
3
部署你的项目
最后,点击 “Deploy” 按钮,即可将项目托管到 Square Cloud。
部署完成后,你可以在控制面板中监控项目的状态和日志。
部署完成后,你可以在控制面板中监控项目的状态和日志。

4
确认你的应用已上线
首次部署通常在一分钟内完成。在控制面板中,等待你的应用状态显示为运行中,并检查日志中是否有启动错误。
如果你部署的是网站或 API,请在浏览器中打开
如果你部署的是网站或 API,请在浏览器中打开
https://<your-subdomain>.squareweb.app,你应该能看到应用正常响应。如果你部署的是机器人,发送一条命令确认它已上线。
通过 CLI
要使用此方法,你需要在项目根目录中创建一个名为squarecloud.app 的配置文件。该文件将包含项目所需的配置。
配置文件指南
了解如何创建定义你应用环境的
squarecloud.app 配置文件。1
安装 CLI
首先,你的环境中需要已安装 CLI。如果尚未安装,请在终端中运行以下命令:如果你已经安装,我们建议对其进行更新。为此,请在终端中运行以下命令:
- Windows
- Linux、macOS 和 WSL
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 文件的 PORT 和 HOST。
