On m'a dit que wsgi est le chemin à parcourir et pas mod_python. Mais plus précisément, comment définiriez-vous votre environnement de serveur multi-site? Choix du serveur web, etc?Comment voulez-vous configurer un serveur web python avec plusieurs vhosts?
Répondre
Apache + mod_wsgi est un choix commun. Voici un exemple simple de vhost, configuration pour mapper toutes les demandes de/wsgi/quelque chose à l'application (qui peut alors regarder PATH_INFO pour choisir une action, ou bien vous faites votre répartition). L'URL racine '/' est également acheminée vers l'application WSGI.
LoadModule wsgi_module /usr/local/lib/mod_wsgi.so
...
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /www/example/htdocs
WSGIScriptAliasMatch ^/$ /www/example/application.py
WSGIScriptAlias /wsgi /www/example/application.py
</VirtualHost>
Vous pouvez utiliser la directive WSGIProcessGroup pour séparer des gestionnaires pour différents vhosts si vous le souhaitez. Si vous avez besoin que les scripts de vhosts soient exécutés sous différents utilisateurs, vous devrez utiliser WSGIDaemonProcess à la place de l'interpréteur Python intégré. Lors de l'exécution, application.py laisserait votre appel WSGI dans la variable globale 'application'. Vous pouvez également ajouter un pied de page de run-as-principale pour la compatibilité avec l'ancienne école CGI:
#!/usr/bin/env python
from mymodule import MyApplication
application= MyApplication()
if __name__=='main':
import wsgiref.handlers
wsgiref.handlers.CGIHandler().run(application)
Je recommanderais Nginx pour le serveur Web. Rapide et facile à mettre en place.
Vous voudriez probablement avoir un utilisateur Unix par vhost - donc chaque répertoire personnel contient sa propre application, son environnement python et sa configuration de serveur. Cela vous permet de redémarrer une application particulière en toute sécurité, simplement en supprimant les processus de travail que votre vhost possède.
Juste un conseil, j'espère que ça aide.
J'ai cherché une raison d'essayer nginx, donc je vais frapper ce sur ma machine locale. Merci! – schmilblick
Le mode démon de mod_wsgi vous permet de déléguer des applications WSGI à des processus distincts pour chaque hôte virtuel, ou même au sein du même hôte virtuel. Vous pouvez ensuite forcer le redémarrage d'une application WSGI de différentes manières sans avoir à redémarrer l'ensemble d'Apache. –
Vous pouvez utiliser Apache et mod_wsgi. De cette façon, vous pouvez toujours utiliser le support intégré d'Apache pour les vhosts.
- 1. Comment configurer nginx pour fonctionner avec le serveur web Jetty6?
- 2. Comment configurer VS2008 pour ouvrir uniquement un serveur Web dans une solution avec plusieurs projets?
- 3. Configurer plusieurs applications Django sur un serveur
- 4. Plusieurs installations de Django - Comment configurer un multiplex transparent via le serveur web (Lighttpd)?
- 5. Comment configurer un serveur svn non-local?
- 6. Comment configurer Python pour .NET avec Python 2.6.1?
- 7. Comment configurer l'adresse IP avec CherryPy?
- 8. Rewrite commun Cadre VHosts multiples
- 9. Plusieurs connexions réseau simultanées - Serveur Telnet, Python
- 10. Comment configurer VirtualHost pour une application Sinatra avec Passenger?
- 11. Comment connecter un serveur Web
- 12. Coller (Python) Serveur Web - Autoreload Problème
- 13. Stocker des scripts Python sur un serveur web
- 14. Comment configurer le projet symfony sur un serveur local?
- 15. Comment configurer des URL sans extension avec le serveur Visual Web Development?
- 16. mod_rewrite, vhosts sur Apache 2.2 (windows)
- 17. Configurer l'unité avec un fichier de configuration pour plusieurs applications
- 18. Connexion à un serveur Web avec Android
- 19. comment configurer un teambuild
- 20. Comment écrire un serveur HTTP python pour écouter sur plusieurs ports?
- 21. Comment configurer plusieurs déclencheurs pour Cruisecontrol.NET?
- 22. Comment créer un serveur Web d'images?
- 23. Comment configurer 1: plusieurs relations dans MySQL
- 24. Comment configurer un serveur de messagerie crypté de manière bidirectionnelle?
- 25. Serveur HTTP Python avec XML-RPC
- 26. Comment fonctionne un serveur Web non-forking?
- 27. Un petit serveur Web
- 28. Configurer Roundup avec Apache
- 29. Création d'une application Web dans SharePoint avec plusieurs frontaux Web
- 30. Disposition efficace pour un serveur python distribué?
Vous n'avez pas besoin d'utiliser WSGIScriptAliasMatch comme indiqué pour le montage à la racine du site Web. Vous pouvez toujours utiliser WSGIScriptAlias, il suffit d'avoir le premier argument '/'. WSGIScriptAliasMatch serait effectivement utilisé assez rarement. –