Solucione el error de TemplateNotFound de Flask en Gunicorn

Tengo una aplicación Flask que estoy intentando implementar con Gunicorn y nginx. Sin embargo, aunque funciona bien localmente, produce un error de TemplateNotFound cuando ejecuto con Gunicorn en mi servidor remoto.

No estoy seguro de cómo empezar a depurar esto, y mucho menos por qué está fallando ... me encantaría ayudar en el primero, si no en el último. Pensé que tal vez era un problema de permisos, así que cambié la carpeta de plantillas al 777 ... sin suerte. Aquí están todos los detalles relevantes:

instalar script

Comenzando con una simple instalación de Ubuntu 10.04, ejecuto esto para configurar el servidor y obtener mi código:https://github.com/total-impact/total-impact-deploy/blob/master/deploy.sh. Luego puse este archivo de configuración nginx en / etc / nginx / sites-available / total-impact:

server {
    location / {
        proxy_pass http://127.0.0.1:8000;
    }
}

Finalmente, navego por el directorio de aplicaciones y ejecutogunicorn web:app, y golpear la dirección IP del servidor. Esto genera un 500 en el navegador, y esta salida en la línea de comandos:

traza de pila
root@jc:/home/ti/total-impact-webapp/totalimpactwebapp# gunicorn web:app2012-05-28 23:15:06 [15313] [INFO] Starting gunicorn 0.14.3
2012-05-28 23:15:06 [15313] [INFO] Listening at: http://127.0.0.1:8000 (15313)
2012-05-28 23:15:06 [15313] [INFO] Using worker: sync
2012-05-28 23:15:06 [15316] [INFO] Booting worker with pid: 15316
2012-05-28 23:15:12,274 - totalimpactwebapp.core - ERROR - Exception on / [GET]
Traceback (most recent call last):
  File "/usr/local/lib/python2.6/dist-packages/flask/app.py", line 1292, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python2.6/dist-packages/flask/app.py", line 1062, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python2.6/dist-packages/flask/app.py", line 1060, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python2.6/dist-packages/flask/app.py", line 1047, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/ti/total-impact-webapp/totalimpactwebapp/web.py", line 60, in home
    return render_template('index.html', commits=False)
  File "/usr/local/lib/python2.6/dist-packages/flask/templating.py", line 120, in render_template
    return _render(ctx.app.jinja_env.get_template(template_name),
  File "/usr/local/lib/python2.6/dist-packages/jinja2/environment.py", line 719, in get_template
    return self._load_template(name, self.make_globals(globals))
  File "/usr/local/lib/python2.6/dist-packages/jinja2/environment.py", line 693, in _load_template
    template = self.loader.load(self, name, globals)
  File "/usr/local/lib/python2.6/dist-packages/jinja2/loaders.py", line 115, in load source, filename, uptodate = self.get_source(environment, name)
  File "/usr/local/lib/python2.6/dist-packages/flask/templating.py", line 61, in get_source
    raise TemplateNotFound(template)
TemplateNotFound: index.html

Respuestas a la pregunta(3)

Su respuesta a la pregunta