Назад | Перейти на главную страницу

приложение mod_wsgi в двух разных портах

У меня есть приложение WSGI, работающее в prod, и мне нужно промежуточное приложение на том же сервере, поэтому я настроил два виртуальных хоста на разных портах, 80 для prod и 9090 для stag, но каждый раз, когда я запрашиваю порт 9090, он использует приложение prod и я не знаю почему. Вот моя конфигурация:

prod.conf:

LoadModule wsgi_module modules/mod_wsgi.so
NameVirtualHost *:80
ServerName dashboard
<VirtualHost *:80>
    ServerName dashboard
    WSGIDaemonProcess dashboard display-name=%{GROUP}
    WSGIProcessGroup dashboard
    WSGIScriptAlias / /srv/dashboard/wsgi.py process-group=dashboard application-group=dashboard
    WSGIPassAuthorization on
    Alias /static/ /srv/dashboard/static/
    Alias /favicon.ico /srv/dashboard/static/favicon.ico

    DocumentRoot "/srv/dashboard"
    <Directory /srv/dashboard>
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride None
        Require all granted
    </Directory>

    <Directory /srv/dashboard/static>
        Options +Indexes +FollowSymLinks +MultiViews
        Require all granted
    </Directory>

    ErrorLog "/var/log/httpd/dashboard-error.log"
    CustomLog "/var/log/httpd/dashboard-access.log" common

</VirtualHost>

stag.conf:

LoadModule wsgi_module modules/mod_wsgi.so
Listen 9090
NameVirtualHost *:9090
ServerName dashboard-stagging
<VirtualHost *:9090>
    ServerName dashboard-stagging
    WSGIDaemonProcess dashboard-stagging display-name=%{GROUP}
    WSGIProcessGroup dashboard-stagging
    WSGIScriptAlias / /srv/dashboard-stagging/wsgi.py process-group=dashboard-stagging application-group=pnpdash$
    WSGIPassAuthorization on
    Alias /static/ /srv/dashboard-stagging/static/
    Alias /favicon.ico /srv/dashboard-stagging/static/favicon.ico

    DocumentRoot "/srv/dashboard-stagging"
    <Directory /srv/dashboard-stagging>
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride None
        Require all granted
    </Directory>

    <Directory /srv/dashboard-stagging/static>
        Options +Indexes +FollowSymLinks +MultiViews
        Require all granted
    </Directory>

    ErrorLog "/var/log/httpd/dashboard-stag-error.log"
    CustomLog "/var/log/httpd/dashboard-stag-access.log" common

</VirtualHost>

Мой /var/log/httpd/dashboard-stag-access.log остается пустым, когда я запрашиваю http://dashboard.mycompany.com:9090 и он использует приложение через порт 80.

Любое руководство?

Проверьте имена файлов cookie ваших приложений, вызываемых wsgi (prod и stag), они не должны конфликтовать. Пример: у меня есть 2 приложения с flask и wsgi, использующие одну и ту же программу с разными параметрами. Мне нужно присвоить конфигурации ["SESSION_COOKIE_NAME"] разные значения, чтобы избежать конфликтов.