example español python apache mod-wsgi bottle

español - corriendo Apache+Bottle+Python



bottle python example (4)

No hay un punto de conexión desde su archivo wsgi a su archivo hello.py .
Coloque el contenido en su hello.py en la aplicación.wsgi y reinicie su servidor web.
Eso debería resolver el problema.

Para hacer que su aplicación sea modular, de modo que pueda poner el código en varios archivos, consulte el equivalente a Bottle de Blueprints (utilizado por Flask framework)

Ok, estoy tratando de ejecutar Python con Bottle.py, a través de Apache y mod_wsgi, y hasta ahora no funciona ...

Lo estoy ejecutando en Windows, usando un xampp. python v2.7

el código que agregué a httpd (configuración de Apache):

<VirtualHost *> ServerName example.com WSGIScriptAlias / C:/xampp/htdocs/GetXPathsProject/app.wsgi <Directory C:/xampp/htdocs/GetXPathsProject> Order deny,allow Allow from all </Directory> </VirtualHost>

mi código app.wsgi:

import os os.chdir(os.path.dirname(__file__)) import bottle application = bottle.default_app()

y mi hello.py:

from bottle import route @route(''/hello'') def hello(): return "Hello World!"

cuando estoy tratando de ir a localhost / hello recibo un error 404 y no tengo ningún otro error en el archivo de registro de Apache, probablemente me falta algo básico, estaré encantado de recibir ayuda.


No veo su hello.py referenciado en ninguna parte.

Deberías simplemente poner el contenido de hello.py (la route ) en app.wsgi.


Estoy agregando mi conclusión para las personas que tendrán el mismo problema que yo: como Kneel-Before-ZOD y ron.rothman, tuve que escribir mi código en el archivo WSGI ya que Python está ejecutando el código desde allí, PERO si Si desea obtener sus propios archivos py, tiene que IMPORTARlos desde los archivos WSGI de esa manera:

from hello import application

el "hola" es el nombre de archivo de Python y la "aplicación" es como debería escribir en su archivo py NO en wsgi:

application = bottle.default_app()

también tuve que reiniciar Apache cada vez que hice un cambio (y no lo sabía, por eso me volvía loco). TNX para los chicos que me ayudaron. GooLuck.


O los comentarios de Duan fueron un buen punto de partida para separar el app.wsgi y el archivo python de la aplicación. Pero eran un poco crípticos para que yo pudiera entender. Después de perder el tiempo durante un par de horas, esto es lo que funcionó para mí:
[ Por cierto, estoy trabajando en OSX. Ajuste las rutas, usuario, grupo de acuerdo a su sistema operativo ]

/Library/WebServer/Documents/hello_app/app.wsgi:

import sys sys.path.insert(0, "/Library/WebServer/Documents/hello_app") import bottle import hello application = bottle.default_app()

/Library/WebServer/Documents/hello_app/hello.py:

from bottle import route @route(''/hello'') def hello(): return "Hello World!"

/etc/apache2/extra/httpd-vhosts.conf:

<VirtualHost *:80> ServerName xyz.com WSGIDaemonProcess hello_app user=_www group=_www processes=1 threads=5 WSGIScriptAlias /v1 /Library/WebServer/Documents/hello_app/app.wsgi <Directory /Library/WebServer/Documents/hello_app> WSGIProcessGroup hello_app WSGIApplicationGroup %{GLOBAL} Order deny,allow Allow from all </Directory> </VirtualHost>

No olvide reiniciar su servidor Apache.