So konfigurieren Sie Apache für Flask und PHP auf demselben Server
P粉547170972
P粉547170972 2024-01-10 17:18:45
0
1
423

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粉547170972
P粉547170972

Antworte allen(1)
P粉431220279

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.

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage