Я использую uwsgi, работающий в режиме императора, для обслуживания нескольких приложений Django на одном сервере. Поэтому для каждого проекта у меня есть собственный файл конфигурации, подобный этому:
<uwsgi>
<master>true</master>
<processes>1</processes>
<vaccum>true</vaccum>
<chmod-socket>666</chmod-socket>
<socket>/tmp/%n.sock</socket>
<uid>www-data</uid>
<gid>www-data</gid>
<pythonpath>%d../%n</pythonpath>
<module>%n</module>
</uwsgi>
Все работает нормально, единственное, что меня беспокоит или чего я не совсем понимаю, это когда я запускаю uwsgi с "uwsgi --emperor / home / user / apps / vassals /" Я получаю предупреждающее сообщение "* ВНИМАНИЕ: вы запускаете uWSGI как root !!! (используйте флаг --uid) *".
Могу ли я игнорировать это сообщение или это означает, что uwsgi не учитывает настройки uid gid в файлах конфигурации проекта?
Большое спасибо. Марио
uWSGI будет предупреждать вас всякий раз, когда вы запускаете его как root. Независимо от использования (вполне нормально запускать императора с правами root, чтобы вассалы могли быть сопоставлены с другим uid), вы получите предупреждение. Пользователи должны осознавать, когда запускают корневые процессы.
Вы можете проигнорировать это, однако для лучшей практики вам следует указать запущенного пользователя.
uwsgi --emperor /path/to/vassels/* --uid www-data --gid www-data
Он жалуется, что процесс emperor запущен от имени root. Теперь, хотя это не обслуживает никаких запросов, это может быть потенциальной проблемой. У каждого из сосудов будет указанная вами конфигурация.
Всегда желательно, если это вообще возможно, запускать процесс изолированно.