Pregunta

Me han dicho que wsgi es el camino a seguir y no mod_python.Pero más específicamente, ¿cómo configuraría su entorno de servidor de múltiples sitios web?¿Elección del servidor web, etc.?

¿Fue útil?

Solución

Apache + mod_wsgi es una opción común.

Aquí hay un simple ejemplo host virtual, configuración de un seguimiento riguroso de las solicitudes de / wsgi / algo para la aplicación (que pueden releer PATH_INFO para elegir una acción, o como lo está haciendo su despacho). La URL raíz '/' también se encamina a la aplicación 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>

Puede usar la directiva WSGIProcessGroup para separar los controladores para diferentes dominios virtuales si lo desea. Si necesita guiones VHosts' para ser ejecutado bajo diferentes usuarios a los que tendrá que utilizar WSGIDaemonProcess en lugar del intérprete de Python incrustado.

application.py sería, cuando se ejecuta, deje su WSGI exigible en la variable global ‘aplicación’. También puede agregar un pie de página run-as-principal para la compatibilidad con CGI de la vieja escuela:

#!/usr/bin/env python
from mymodule import MyApplication

application= MyApplication()

if __name__=='main':
    import wsgiref.handlers
    wsgiref.handlers.CGIHandler().run(application)

Otros consejos

Me gustaría recomendar Nginx para el servidor web. Rápido y fácil de configurar.

probablemente querrá tener un usuario UNIX por host virtual - por lo que cada directorio principal tiene su propia aplicación, el medio ambiente pitón y la configuración del servidor. Esto le permite reiniciar una aplicación particular, con seguridad, simplemente matando procesos de trabajo que posee su host.

Sólo un consejo, creo que sirve.

Se puede usar Apache y mod_wsgi . De esa manera, todavía puede utilizar el soporte integrado de Apache para vhosts.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top