Estoy siguiendo el tutorial en http://www.enigmeta.com/2012/08/16/starting-flask/ para desarrollar e implementar una aplicación de matraz simple para Apache usando mod_wsgi. Creo que lo he reducido a una falla en mi configuración de Apache. Si ejecuto helloflask.py desde la línea de comandos, funciona bien. Puedo acceder a través de wget desde otro shell en localhost: 5000, y obtengo la respuesta correcta. También tengo otros hosts virtuales (no wsgi) en funcionamiento, así que sé que Apache se está ejecutando y responde a otras solicitudes en el puerto 80.
Tengo la siguiente estructura:
/sites/helloflask.mydomain.com /helloflask application.wsgi helloflask.py (rest of env from virtualenv) /log access.log error.log
helloflask.py:
from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" if __name__ == "__main__": app.run()
application.wsgi:
import os, sys, logging logging.basicConfig(stream=sys.stderr) PROJECT_DIR = '/sites/helloflask.mydomain.com/helloflask' activate_this = os.path.join(PROJECT_DIR, 'bin', 'activate_this.py') execfile(activate_this, dict(__file__=activate_this)) sys.path.append(PROJECT_DIR) from helloflask import app as application
Configuración de Apache: /etc/apache2/sites-available/helloflask.mydomain.com
ServerName helloflask.mydomain.com WSGIDaemonProcess helloflask user=myuser group=myuser threads=5 WSGIScriptAlias / /sites/helloflask.mydomain.com/helloflask/application.wsgi WSGIProcessGroup helloflask WSGIApplicationGroup %{GLOBAL} Order deny,allow Allow from all LogLevel warn ErrorLog /sites/helloflask.mydomain.com/log/error.log CustomLog /sites/helloflask.mydomain.com/log/access.log combined
Habilito vhost, reinicio apache y no obtengo respuesta del navegador. “Servidor no encontrado”, así que no hay respuesta 500, nada. No hay entradas en los registros de acceso / error (específicos para este vhost). Obtengo lo siguiente en el registro de errores general de Apache cada vez que reinicio:
[Sat Jun 29 20:07:58 2013] [notice] caught SIGTERM, shutting down [Sat Jun 29 20:07:59 2013] [warn] mod_wsgi: Compiled for Python/2.7.2+. [Sat Jun 29 20:07:59 2013] [warn] mod_wsgi: Runtime using Python/2.7.3. [Sat Jun 29 20:07:59 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.6 with Suhosin-Patch mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations
Me pregunto si esas dos líneas [advertidas] que indican diferentes versiones de Python son mi problema, pero no sé cómo o qué modificar para solucionarlo. Cualquier sugerencia es apreciada.
¡Gracias!
¿A qué ip señala helloflask.mydomain.com? Intenta agregar
127.0.0.1 helloflask.mydomain.com helloflask
A su archivo de hosts, y apuntando su navegador web a
http://helloflask.mydomain.com