开始之前
- 你的电脑上需要安装 Ruby。如果尚未安装,可以从 Ruby 官方网站 下载,或使用 rbenv 或 rvm 等版本管理器。
- 一个 Square Cloud 账户:使用邮箱或 GitHub 注册。
- 一个有效的计划。查看计划并选择适合你项目的计划。
配置 Square Cloud
如果你通过控制面板上传应用,可以跳过本节:控制面板会自动为你创建
squarecloud.app 配置文件。配置文件参考
squarecloud.app 文件告诉 Square Cloud 如何运行你的应用:主文件、内存、运行时版本、名称,以及网站所用的子域名。- 机器人或 Worker
- 网站或 API
squarecloud.app
Square Cloud 运行什么
-
如果配置文件中未定义
START字段,Square Cloud 将执行ruby MAIN,其中MAIN指定的文件即为 Ruby 文件(例如main.rb)。如果定义了START字段,则会直接执行其中的值。通常将START定义为bundle exec ruby main.rb或其他合适的启动命令。有关配置文件参数的更多信息,请访问配置参数。 -
在启动应用之前,Square Cloud 会运行
bundle install来安装Gemfile中列出的 gem。 -
运行时会设置
RACK_ENV=production,因此 Rails 和 Sinatra 等 Rack 应用会以生产模式启动。
Bundler 从环境变量中读取其设置,这些环境变量会在
bundle install 运行之前加载。要在生产环境中排除不必要的 gem 分组,请配置变量 BUNDLE_WITHOUT=development:test。网站和 API 的端口与主机
Square Cloud 会将PORT 环境变量设为 80,将 HOST 设为 0.0.0.0。你的服务器必须在该端口和所有网络接口上监听。Rails 在生产环境中无需修改即可做到;使用 Puma 或 Sinatra 时,请读取 ENV.fetch("PORT", 80) 并绑定到 0.0.0.0。
准备项目
必需文件
squarecloud.app,位于 ZIP 的根目录。main.rb,或MAIN中设置的文件:你的 Ruby 入口点。Gemfile(必需):缺少它的上传会以INVALID_DEPENDENCY失败。- 由 Bundler 生成的
Gemfile.lock:请包含它,让服务器安装相同版本的 gem。
不需要包含的文件
vendor/bundle和.bundle:为你的电脑安装的 gem。Square Cloud 会在服务器上运行bundle install。log/和tmp/,如果你的应用会创建它们。
框架指南
Ruby on Rails
部署
通过控制面板
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 的配置文件。它告诉 Square Cloud 如何运行你的应用。
配置文件指南
了解如何创建定义你应用环境的
squarecloud.app 配置文件。1
安装 CLI
安装 Square Cloud CLI。如果你已经安装,运行同一条命令即可更新:
2
登录
运行下面的命令。它会打开你的浏览器:在浏览器中批准登录后,CLI 即可使用。无需复制任何 API 密钥。如需在脚本和 CI 中使用,请参阅 CLI 身份验证。
3
上传你的项目
4
确认你的应用已上线
首次部署通常在一分钟内完成。直接在终端中检查你的应用状态和日志:如果你部署的是网站或 API,请在浏览器中打开
https://<your-subdomain>.squareweb.app,你应该能看到应用正常响应。如果你部署的是机器人,发送一条命令确认它已上线。
后续步骤
环境变量
将密钥和设置放在代码之外,并在运行时读取。
自定义域名
在 Standard 及以上计划中,用你自己的域名提供应用。
故障排除
修复无法启动的应用或没有响应的站点。

