Назад | Перейти на главную страницу

UWSGI не может импортировать модуль mysite с nginx и flask

Я новичок в использовании uwsgi и nginx, и я не смог понять, почему я получаю эту ошибку от uwsgi:

ImportError: No module named mysite
unable to load app 0 (mountpoint='my_ipaddr|') (callable not found or import error)

Вот мой файл конфигурации nginx:

server {
    listen   80;
    server_name my_ipaddr;

    location /static {
      alias /var/www/mysite/static;
    }

    location / {
          include      uwsgi_params;
          uwsgi_pass   unix:/tmp/mysite.sock;
          uwsgi_param  UWSGI_PYHOME  /var/www/mysite/venv;
          uwsgi_param  UWSGI_CHDIR /var/www/mysite;
          uwsgi_param  UWSGI_MODULE app;
          uwsgi_param  UWSGI_CALLABLE app;
    }

Вот мой mysite.ini для uwsgi:

[uwsgi]
vhost=true
socket=/tmp/mysite.sock
venv = /var/www/mysite/venv

Вот мой app.py:

from flaskext.markdown import Markdown
from views import app

Markdown(app)

def main():
    app.run()

if __name__ == '__main__':
    main()

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

Перенос настроек с nginx на uwsgi решил мою проблему:

mysite.ini:

[uwsgi]
vhost=true
socket=/tmp/mysite.sock
venv = /var/www/mysite/venv
chdir = /var/www/mysite
module = app
callable = app

Файл конфигурации nginx:

server {
        listen   80;
        server_name my_ipaddr;

        location /static {
          alias /var/www/mysite/static;
        }

        location / {
              include      uwsgi_params;
              uwsgi_pass   unix:/tmp/mysite.sock;
        }