在localhost上使用WSGI / Apache运行两个django实例

时间:2014-12-13 15:27:22

标签: django apache mod-wsgi apache-config django-wsgi

我有一个门户网站,可以从我需要在本地计算机上测试的另一个数据服务器(基于HTTP)获取数据。

在生产环境中,将存在多个版本的Web门户,但数据服务器较少。

这是我的WSGI配置

WSGISocketPrefix /var/run/wsgi

WSGIDaemonProcess portal 
WSGIScriptAlias / /home/rep/portal/wsgi/wsgi.py
<Location />
        WSGIProcessGroup portal
</Location>

WSGIDaemonProcess dal 
WSGIScriptAlias /dal /home/rep/dal/wsgi/wsgi.py
<Location /dal>
        WSGIProcessGroup dal
</Location>

门户网站代码尝试使用http://localhost/dal/api/foo?bar=baz

等网址获取JSON数据

DAL服务器仅提供网址格式

url(r'^/api/(?P<apiName>[a-zA-Z]+)', 'dal.dbapi.apiHandler'),

当我打开http://127.0.0.1/时,我会获得门户网站主页。

当我打开http://127.0.0.1/dal/foo?bar=baz时,我获得了门户网站的404页面,而不是来自dal应用程序的JSON数据

我尝试配置虚拟主机,不同的端口以及所有端口,但我无法正常工作。

在生产中,这些服务器可能位于不同的计算机上,但我需要能够在开发期间在我的本地主机上测试它们。

提前致谢

1 个答案:

答案 0 :(得分:0)

好的,我明白了......

如果您没有设置WSGIProcessGroup属性,那么递归请求将最终出现在错误的django实例上。

因此,为每个VirtualHost设置一个唯一的WSGIProcessGroup