Hello World - Flask / Apache / mod_wsgi - nenhuma resposta do Apache
Eu estou seguindo o tutorial emhttp://www.enigmeta.com/2012/08/16/starting-flask/ para desenvolver e implantar um aplicativo de balão simples para o Apache usando o mod_wsgi. Eu acho que eu reduzi isso a uma falha na minha configuração do Apache. Se eu executar o helloflask.py a partir da linha de comando, tudo funciona bem. Eu posso acessá-lo via wget de outro shell no localhost: 5000, e recebo a resposta correta. Eu também tenho outros hosts virtuais (non wsgi) em funcionamento, então eu sei que o Apache está rodando e respondendo a outros pedidos na porta 80.
Eu tenho a seguinte estrutura:
/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
Configuração do Apache: /etc/apache2/sites-available/helloflask.mydomain.com
<VirtualHost *:80>
ServerName helloflask.mydomain.com
WSGIDaemonProcess helloflask user=myuser group=myuser threads=5
WSGIScriptAlias / /sites/helloflask.mydomain.com/helloflask/application.wsgi
<Directory /sites/helloflask.mydomain.com/helloflask>
WSGIProcessGroup helloflask
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
LogLevel warn
ErrorLog /sites/helloflask.mydomain.com/log/error.log
CustomLog /sites/helloflask.mydomain.com/log/access.log combined
</VirtualHost>
Eu ativo o vhost, reinicio o apache e não obtenho resposta do navegador. "Servidor não encontrado", então não há resposta 500, nada. Nenhuma entrada nos registros de acesso / erro (específicos para este vhost). Eu obtenho o seguinte no log de erros Apache abrangente cada vez que eu reiniciar:
[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
Eu estou querendo saber se essas duas [avisar] linhas indicando diferentes versões do Python são o meu problema, mas eu não sei como ou o que modificar para corrigi-lo. Qualquer sugestão é apreciada.
Obrigado!