2013-08-09 3 views
3

Я в растерянности здесь ...Запуск питон под Nginx

Я пытаюсь использовать uwsgi запустить мою флягу приложение. Используя пример на WSGI Quick Start, я заставляю его работать.

Для развития (restserver.py):

from api import app 

if __name__ == '__main__': 
    app.run(debug=True, port=8080) 

Как бы запустить сервер uwsgi с этим?

Я попытался это (restserver.fcgi):

#!/usr/bin/python 
from flup.server.fcgi import WSGIServer 
from api import app 

if __name__ == '__main__': 
    WSGIServer(app, bindAddress='/var/run/fcgi.sock').run() 

, но при чтении больше я вижу, что uwsgi хочет, чтобы вызвать метод application по умолчанию. Я могу изменить, что, конечно, но у меня нет и application метод так при запуске:

/usr/local/bin/uwsgi --http :9090 --wsgi-file restserver.fcgi 

Я получаю следующее сообщение в журнале регистрации начала:

unable to find "application" callable in file restserver.fcgi 
+0

Вы редактируете файл uwsgi.ini? В последнее время я настраивал nginx на uswsgi и flask, и мне было больно, но мне это удалось, я помню, что вам нужно указать вызываемый в вашем файле uwsgi.ini, вы должны указать приложение как вызываемое там, и оно должен исправить эту ошибку. У меня есть что-то вроде этого: callable = app. Существует также опция touch-reload, и у меня есть путь к runerver.py touch-reload = /home/###/bla/bla/run.py. Надеюсь, это поможет. –

ответ

3

Все, что нужно изменить начало команда

/usr/local/bin/uwsgi --http :9090 --wsgi-file restserver.fcgi --callable app 

или изменить способ импорта приложения опоки в restserver.fcgi для

#!/usr/bin/python 
from flup.server.fcgi import WSGIServer 
from api import app as application 

if __name__ == '__main__': 
    WSGIServer(application, bindAddress='/var/run/fcgi.sock').run() 

Docs on using uWSGI with Flask

PS: На самом деле ваша колба appявляется WSGI приложение.

+0

спасибо. Я понял, что через несколько минут после того, как я разместил вопрос. Я смотрел на fast-cgi, а затем на restserver.fcgi. Теперь я могу просто использовать обычный файл 'restserver.py' для его запуска. – Asken

Смежные вопросы