使用apache2和modèwsgi在根目录下提供一个flask应用程序,并在不同的路径上提供另一个

2024-09-30 20:23:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在localhost上直接提供一个flask应用程序,在localhost/菜单上提供另一个。你知道吗

当我的apache配置如下:

<VirtualHost *:80>
ServerName localhost

# logs configuration -------------------------------------------------
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# front page ---------------------------------------------------------
WSGIDaemonProcess flask_ac user=#1000 group=#1000 threads=5
WSGIScriptAlias /front /var/www/flask_ac/hookup.wsgi

<Directory /var/www/flask_ac>
    WSGIProcessGroup flask_ac
    WSGIApplicationGroup flask_ac
    Require all granted
</Directory>

# start menus --------------------------------------------------------
WSGIDaemonProcess menus user=#1000 group=#1000 threads=5
WSGIScriptAlias /menus /var/www/flask_ac/projects/menus/hookup.wsgi

<Directory "/var/www/flask_ac/projects/menus/">
    WSGIProcessGroup menus
    WSGIApplicationGroup menus
    Require all granted
</Directory>

它工作得很好,但它是在localhost/front服务第一个应用程序,而不是仅仅在localhost上。你知道吗

如果我将第一个WSGIScriptAlias更改为:

WSGIScriptAlias / /var/www/flask_ac/hookup.wsgi

它将在localhost上正确地为第一个应用程序提供服务,但是localhost/menus上的第二个应用程序中断,并返回not found。你知道吗

我发现了this answer关于一个类似的问题,但它没有直接解决这个问题,我似乎无法理解。你知道吗


Tags: log应用程序localhostflaskwsgivarapachewww