我是一名PHP开发人员(10年),目前正在学习Python(2个月)。
我目前在Compute Engine上有一个服务器,其中包含10个不同网站/应用程序托管的10个域。 每个应用程序都有SSL,缓存,数据库连接等要求。
我正在构建一些Python(Django和Flask)应用程序,我坚持部署它们。当我使用
运行Django应用程序时python manage.py runserver 0.0.0.0:80
终端已被占用,我无法在另一个端口上启动另一个应用程序。 Gunicorn也是同样的问题。
每个Python应用程序都有一个数据库连接,SSL,Cache等。
使用我的PHP应用程序,我使用Nginx指向文件夹,LetsEncrypt将SSL添加到站点,我可以使用不同的文件夹为每个应用程序在同一服务器上部署应用程序。我也可以从Compute Engine管理员(我需要做)重新启动服务器,一旦服务器启动,所有网站都可供最终用户使用。
我想了解如何使用Python做同样的事情。由于这些项目没有支付/带来收入,我不能因为成本而将它们托管在自己的服务器上。
我在我的计算机上使用Docker容器进行开发,所以我知道我可以在一个单独的容器上部署每个应用程序。我不想走这条路。
提前感谢你的帮助。
答案 0 :(得分:0)
如果gunicorn不是您的硬性要求,您可以使用Emperor模式尝试 uWSGI 。
简单来说: Emperor 监控某些来源(即目录),并正在寻找 Vassals (您的应用程序)配置文件,以运行和管理。因此,只需很少的努力,您就可以创建一个配置来使用单个进程运行您的所有应用程序(这将在后台生成另一个进程,但据我所知,这不是问题)。
但是,你应该考虑在不同的容器中部署这些应用程序,因为这种方法缺少容器化的目的。