跳到主要内容

Fly.io

Fly.io 拥有强大的 WebSocket 支持,可以将您的应用程序部署到离用户最近的 数据中心。他们的定价非常吸引人,具有非常慷慨的免费层,允许您免费托管多达 3 个应用程序。

要开始使用 Fly,请安装 flyctl,然后进行身份验证:

fly auth login

要使用 flyctl 部署应用程序,您需要在 Python 应用程序文件夹中添加以下三个文件。

创建 requirements.txt,列出应用程序依赖项。至少应该包含 flet 模块:

requirements.txt
flet

创建 fly.toml,描述 Fly 应用程序:

fly.toml
app = "<你的应用程序名称>"

kill_signal = "SIGINT"
kill_timeout = 5
processes = []

[env]
FLET_SESSION_TIMEOUT = "60"

[http_service]
internal_port = 8000
force_https = true
auto_stop_machines = true
auto_start_machines = true
min_machines_running = 0

[http_service.concurrency]
type = "connections"
soft_limit = 200
hard_limit = 250

<你的应用程序名称> 替换为所需的应用程序名称,该名称也将用作应用程序 URL 的一部分,例如 https://<你的应用程序名称>.fly.dev

默认情况下,Flet Web 应用程序将在端口 8000 上运行,但您可以通过设置 FLET_SERVER_PORT 环境变量来更改。

FLET_SESSION_TIMEOUT 是用户会话的生命周期,以秒为单位。

完整的环境变量列表 由 Web 应用程序支持。

创建 Dockerfile,包含构建应用程序容器的命令:

Dockerfile
FROM python:3-alpine

WORKDIR /app

COPY requirements.txt./
RUN pip install --no-cache-dir -r requirements.txt

COPY..

EXPOSE 8000

CMD ["python", "main.py"]

main.py 是您的 Python 程序文件。

备注

Fly.io 将每个应用程序部署为 Docker 容器,但 Fly 的一个很棒的功能是提供免费的远程 Docker 构建器,因此您不需要在机器上安装 Docker。

接下来,切换命令行到应用程序文件夹,并运行以下命令来创建和初始化新的 Fly 应用程序:

fly apps create --name <你的应用程序名称>

部署应用程序通过运行:

fly deploy

就是这样!打开浏览器中的应用程序通过运行:

fly apps open