J'ai découvert mod_wsgi-express aujourd'hui et je pense que c'est un projet vraiment cool. Je n'arrive pas à croire que cette seule commande soit nécessaire pour déployer des applications Web Python/Django.Servir des fichiers statiques en utilisant mod_wsgi-express avec ProxyPass dans Apache ne fonctionne pas
mod_wsgi-express start-server project/wsgi.py
Cependant, la documentation semble toujours manquante (ou je n'ai pas trouvé?). Pour autant que je vois, il n'est pas mentionné dans les documents officiels here.
J'héberge deux petits sites sur la même machine, en utilisant VirtualHost. Donc, j'ai besoin de proxy à un autre port comme celui-ci:
<VirtualHost *:80>
ProxyPreserveHost On
ServerName example.com
ProxyPass "/" "http://localhost:8000"
</VirtualHost>
Jusqu'ici tout va bien. Je courais mod_wsgi-express comme suit:
mod_wsgi-express start-server --url-alias /static /path/to/static project/wsgi.py
Vous voyez, je suis en train de définir des fichiers statiques config en elle-même mod_wsgi-express. Cependant, les fichiers statiques ne sont pas servis et donne 502 Erreur de proxy. Par conséquent, les requêtes dynamiques par proxy fonctionnent, mais pas les fichiers statiques. Site fonctionne également fichier lorsque vous accédez directement au port 8000. Qu'est-ce que je manque ici? Bien sûr, je pourrais ajouter config dans VirtualHost lui-même pour servir ces fichiers statiques, mais si cela fonctionne avec mod_wsgi-express, cela rendrait la configuration beaucoup plus simple et plus facile à déployer.
Pour configurer Apache en tant que proxy devant mod_wsgi-express, vous pouvez lire http://blog.dscpl.com.au/2015/06/proxying-to-python-web-application.html et http: //blog.dscpl.com.au/2015/07/redirection-problems-when-proxying-to.html Ignore le fait que mod_wsgi-express s'exécute dans Docker. Les mêmes concepts s'appliquent. –
Merci beaucoup @GrahamDumpleton Deuxième poste est en effet très détaillé sur le problème ci-dessus. J'ai facilement pu résoudre le problème suite à votre message. Bravo :) – chhantyal