似乎是一个简单的问题,但我无法在任何地方找到它。我看到的每个教程都会略微不同,我很确定我已经看到过两种方式。
在我的开发环境中,我的应用程序的python,flask和所有其他依赖项都进入虚拟环境。
配置生产环境时,Nginx和uWSGI是否进入虚拟环境?
谢谢!
答案 0 :(得分:3)
首先,Nginx永远不会进入Virtualenv。它是一个os服务,与python无关。它只提供webrequests并知道如何将它们传递给上游服务(如uwsgi)。
二;不要把东西放在不需要单独版本的virtualenv中。 Uwsgi现在非常稳定,所以你几乎不需要单独的版本;所以不要把它放在venv。
第三;当您计划生产部署时,请尽可能简化。任何增加的复杂性只会使失败的可能性更高。因此,在您绝对需要之前,不要将venv放在您的产品服务器上。即便如此,你可能会在该服务器上投入大量资金。让您的服务器保持专注。我发现使用多台机器(特别是像AWS这样的云服务)更容易,每台机器都有一个目的,而不是在一台大机器上塞满所有东西(其中一个搞砸过程可以为所有其他人吃掉所有内存)
第四;当你需要更多的python项目/服务时,最好将它们与docker这样的东西分开,从那以后它们可以更好地维护并且更好地与其他东西隔离。