Heim  >  Fragen und Antworten  >  Hauptteil

So konfigurieren Sie Apache für Flask und PHP auf demselben Server

Der Server, den ich aktualisiert/aktualisiert habe, verfügt über Seiten, die PHP und Python verwenden. Ich habe die Python-basierte Seite mit dem Flask-Framework umgeschrieben und Apache mit wsgi konfiguriert:

<VirtualHost *:443>
    ServerName my_fake_site
    ...
    AliasMatch ^\/((?:flask_dir1|flask_dir2).*)\.((css|php|png)$((?:\?.*)?)) /var/www/html/app/.
    AliasMatch ^\/(.*)\.(css|html|php|png) /var/www/html/.

    WSGIDaemonProcess main_proc processes=8 python-home=/var/www/html/venv
    WSGIScriptAlias / /var/www/html/wsgi.py
    <Directory /var/www/html/>
        WSGIProcessGroup main_proc
        WSGIApplicationGroup %{GLOBAL} 
        Require all granted
    </Directory>

    SSLEngine on
    ...
</VirtualHost>

WSGIPythonPath /var/www/html
WSGIPythonHome /var/www/html/venv

Auf dem alten Server war die URL, die auf das Verzeichnis verweist, standardmäßig auf die Option index.php 使用 DirectoryIndex eingestellt (in einer anderen Konfigurationsdatei festgelegt). Auf dem neuen Server erhalte ich die Meldung „Interner Serverfehler“ und den Antwortcode 500 im Fehlerprotokoll.

Die ultimative Frage ist also, wie man Apache so konfiguriert, dass sowohl von PHP verarbeitete Seiten als auch von Python verarbeitete Seiten bereitgestellt werden. (Hinweis: Es gibt mehrere PHP-verarbeitete Seiten im Flask-Verzeichnis)

Bearbeiten: Ich habe eine weitere AliasMatch 行,似乎可以执行我想要的操作。我还能够从第二个 AliasMatch-Zeile hinzugefügt, um „php“ zu entfernen:

AliasMatch ^\/((?:flask_dir1|flask_dir2).*)\.((css|php|png)$((?:\?.*)?)) /var/www/html/app/.
AliasMatch ^\/(.*)\.(css|html|png) /var/www/html/.
AliasMatch ^\/((?:php_dir1|php_dir2).*) /var/www/html/

P粉547170972P粉547170972306 Tage vor401

Antworte allen(1)Ich werde antworten

  • P粉431220279

    P粉4312202792024-01-11 00:36:41

    As mentioned in my edit, the AliasMatch directive worked. From the documentation, this allows Apache to host static files, which I guess also includes php files.

    Antwort
    0
  • StornierenAntwort