Maison  >  Questions et réponses  >  le corps du texte

Comment configurer Apache pour Flask et PHP sur le même serveur

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粉547170972P粉547170972306 Il y a quelques jours406

répondre à tous(1)je répondrai

  • P粉431220279

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

    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.

    répondre
    0
  • Annulerrépondre