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