Я новичок в использовании 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;
}