我有一个非常简单的 API(2 个路由),它只有 GET 请求,目前不需要任何身份验证或任何东西。
我想知道部署 API 进行生产的最佳且合适的方法是什么。我无法使用 docker,并且想以服务器方式进行操作。
所以我有几个问题:
uvicorn main:app --host 0.0.0.0 --port 80但我在想这是否是正确的生产方式?我是否只需输入该命令,API 就会自动开始侦听服务器 IP 地址吗?这种方法是否有效并且能够处理所有请求?或者我要改变什么才能让它更快?我只是对如何部署这个有点困惑,因为一篇文章说这样做,另一篇文章说这样做。
如果出于某种原因您不喜欢使用 Docker-Ce,最好的方法是为systemd-service您的应用程序创建一个单元,这样每次应用程序出现故障时,systemd 都会尝试重新启动它,然后使用 或 之类的服务器运行wgsi它gunicorn。
此链接也可以帮助您了解 systemd-services:
https://blog.miguelgrinberg.com/post/running-a-flask-application-as-a-service-with-systemd
PS 请注意,您提供gunicorn 的方式与docker 或systemd-service 并不真正相关,对于这两种方法您都需要配置gunicorn。