Python 托管多个VirtualHost实例
我的django项目由许多应用程序、库和中间件组成。我希望在不同的虚拟主机上运行此项目的不同配置(因为不同的用例和需求,例如:一个用于用户,一个用于M2M api,等等)。从问题中我了解到,只要我有单独的wsgi引导文件,托管它应该不会有问题,但我不明白为什么会出现以下行:Python 托管多个VirtualHost实例,python,django,apache,mod-wsgi,Python,Django,Apache,Mod Wsgi,我的django项目由许多应用程序、库和中间件组成。我希望在不同的虚拟主机上运行此项目的不同配置(因为不同的用例和需求,例如:一个用于用户,一个用于M2M api,等等)。从问题中我了解到,只要我有单独的wsgi引导文件,托管它应该不会有问题,但我不明白为什么会出现以下行: os.environ['DJANGO_SETTINGS_MODULE'] = 'site1.settings' 不会导致同时部署的错误。如果我有几个虚拟主机,它们有自己的wsgi配置文件,所有这些文件都设置了DJANGO_
os.environ['DJANGO_SETTINGS_MODULE'] = 'site1.settings'
不会导致同时部署的错误。如果我有几个虚拟主机,它们有自己的wsgi配置文件,所有这些文件都设置了DJANGO_SETTINGS_MODULE系统变量,那么它们是否会覆盖彼此的设置
是否每次请求都会“及时”更改此设置?在这种情况下,有没有更有效的方法来处理这种多主机设置
谢谢,django安装都有自己的python范围。这意味着site1的变量在site2中不可用。这与两个python shell相同。您无法访问其他人环境 因此,您有两个正在运行的项目实例。一个用于站点1,一个用于站点2
我也以这种方式处理我的安装,但我可以想象,最好只使用一个安装,并在子页面中提供类似API的内容。但是我不知道这是否对性能有显著的改善。是的,默认情况下,每个WSGI应用程序在一个进程中都有自己的子解释器。隔离并不总是完美的,但通常是有效的。为了实现最佳隔离,最好结合使用WSGIDaemonProcess/WSGIProcessGroup,为每个wsgi应用程序使用单独的mod_wsgi守护进程进程组。