Рейтинг:0

Не могу запустить wsgi через Nginx

флаг er

Сначала: Когда я запустил nginx, я вижу ошибки в журнале:

unix:/root/project/flask_paramiko.sock не удалось (13: Отказано в доступе) при подключении к восходящему потоку

uwsgi.ini:

[увсги]
#chdir = /корень/проект
модуль = wsgi:приложение

мастер = правда
процессы = 5

сокет = flask_paramiko.sock
chmod-сокет = 666
вакуум = правда

умирать в срок = правда

wsgi.py

из приложения импорта flask_paramiko

если __name__ == "__main__":
    app.run()

uwsgi --socket /root/project/flask_paramiko.sock --wsgi-файл wsgi.py:

не удалось найти «приложение», вызываемое в файле wsgi.py
невозможно загрузить приложение 0 (точка монтирования = '') (вызываемый объект не найден или ошибка импорта)

/usr/bin/uwsgi --ini /root/project/uwsgi.ini работает без ошибок.

Я не против, где ошибка.

anx avatar
флаг fr
anx
`/root/` не похоже на путь, который вы обычно хотели бы сделать доступным для кого-либо, кроме внутреннего системного пользователя с именем `root`. Кроме того, как именно вы запускаете uwsgi (модуль systemD? сценарий инициализации sysV? - параметр chdir может быть действительно полезен, если ваш демон инициализации не передает каталог)
Explorethetruth avatar
флаг er
Перенесено в другую папку. Запуск uwsgi через модуль systemd.
Рейтинг:0
флаг fr
anx

Вы используете два разных параметра, один указывает только файл другой модуль

--module=wsgi:приложение работает нормально без ошибок

--wsgi-файл=wsgi.py не удалось найти «приложение», вызываемое

(нет большой разницы между --опция=значение в командной строке и стоимость опции в ини)

Буквальный применение это просто имя, которое uwsgi по умолчанию ищет, если вы передаете только имя файла. Если ваше приложение называется приложение вместо этого ну так и скажи в командной строке или в конфиге.

Explorethetruth avatar
флаг er
Спасибо. Решил эту проблему. Можно ли задать дополнительный вопрос? Мое фляжное приложение обслуживает множество «маршрутов», нужно ли мне создавать их все в nginx.conf? или у nginx есть простой способ его обслуживать?
anx avatar
флаг fr
anx
Сначала спросите себя: *Нужно ли мне, чтобы Nginx по-разному обрабатывал разные маршруты?* В любом случае, внимательно прочитайте документацию вашего фреймворка (звучит как *flask*) о том, какие другие соображения важны во время развертывания, это нечто большее, чем просто маршруты.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.