Comment configurer Apache pour Flask et PHP sur le même serveur
P粉547170972
P粉547170972 2024-01-10 17:18:45
0
1
424

Le serveur que j'ai mis à niveau/mis à jour a des pages utilisant php et python. J'ai réécrit la page basée sur Python en utilisant le framework Flask et configuré Apache en utilisant wsgi :

<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

Sur l'ancien serveur, l'url pointant vers le répertoire était par défaut l'option index.php 使用 DirectoryIndex (définie dans un autre fichier de configuration). Sur le nouveau serveur, je reçois un message « Erreur de serveur interne » et un code de réponse 500 dans le journal des erreurs.

La question ultime est donc de savoir comment configurer Apache pour qu'il serve à la fois les pages traitées par php et les pages traitées par python ? (Remarque : il existe plusieurs pages traitées par PHP dans le répertoire flask)

Edit : J'ai ajouté une autre AliasMatch 行,似乎可以执行我想要的操作。我还能够从第二个 AliasMatch ligne pour supprimer "php":

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

répondre à tous(1)
P粉431220279

Comme mentionné dans mon montage, la directive AliasMatch a fonctionné. D'après la documentation, cela permet à Apache d'héberger des fichiers statiques, qui, je suppose, incluent également des fichiers php.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal