在同一个apache服务器上运行django和flask

时间:2012-02-20 06:57:05

标签: python django apache flask

我正试图在同一个apache服务器上运行django和flask。

WSGISocketPrefix /var/www/wsgi
<VirtualHost *:80>
        ServerAdmin name@email.com
        ServerName  domain.com
        ServerAlias www.domain.com
        DocumentRoot /var/www/
        LogLevel warn
        WSGIDaemonProcess apache processes=2 maximum-requests=500 threads=1
        WSGIProcessGroup apache
        Alias /media /var/www/media/

        WSGIScriptAlias / /var/www/djangoapps/django.wsgi
        WSGIScriptAlias /app1 /var/www/flaskapps/app.wsgi
</VirtualHost>
  1. 第一个WSGIScriptAlias在root:domain.com中运行django应用。
  2. WSGIScriptAlias的第二个实例需要在子域中运行烧瓶应用:app1
  3. 但由于主站点位于django上,当我尝试点击:domain.com/app1时,django的urls.py会尝试处理该url命令。但urls.py不应该处理它,因为它是一个独立的烧瓶应用程序。

    任何想法我该如何解决?

2 个答案:

答案 0 :(得分:7)

我不确定这是否可以解决问题,但您是否尝试更改脚本别名的顺序,以便在/app1之前找到/

WSGISocketPrefix /var/www/wsgi
<VirtualHost *:80>
        ServerAdmin name@email.com
        ServerName  domain.com
        ServerAlias www.domain.com
        DocumentRoot /var/www/
        LogLevel warn
        WSGIDaemonProcess apache processes=2 maximum-requests=500 threads=1
        WSGIProcessGroup apache
        Alias /media /var/www/media/
        WSGIScriptAlias /app1 /var/www/flaskapps/app.wsgi
        WSGIScriptAlias / /var/www/djangoapps/django.wsgi

</VirtualHost>

答案 1 :(得分:0)

对于任何想要在2018年实现相同目标的人来说,这确实对我有帮助:

https://www.phusionpassenger.com/library/deploy/apache/deploy/python/

我知道这是题外话,但是在找到“乘客描述”的链接之前,我发现了20个搜索问题。

这里的ev是本教程的专家:

.xjb