Я пытаюсь запустить прослушивание uwsgi через пользовательский порт 8008.Как упоминалось в разделе о безопасности uwsgi docs , я использовал uid
и gid
параметры, чтобы сделать его от www-data
user
uwsgi --http-socket :8008 --uid=www-data --gid=www-data
Но я постоянно получаю ошибку
bind(): Permission denied [core/socket.c line 769]
После устранения этой проблемы я понял, что uwsgi пытается подключиться к порту 80, даже когда я выбираю другой.
После многих попыток кажется, что он всегда связывается с80 порт.Наряду с выбранным мной портом.
Например, вывод (* от имени root)
uwsgi --http-socket :8008
содержит
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address :80 fd 3
uwsgi socket 1 bound to TCP address :8008 fd 4
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
другой пример с настройкой переменной среды:
UWSGI_SOCKET=:8009 uwsgi --http-socket :8008
производит
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address :8009 fd 3
uwsgi socket 1 bound to TCP address :80 fd 4
uwsgi socket 2 bound to TCP address :8008 fd 5
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
- Независимо от того, как его настроить: через cli-params, .yml-file или переменные окружения.
- Независимо от того, какой параметрвыбрать
http-socket
или http
или просто socket
- Независимо от того, как указать этот порт:
0.0.0.0:8008
или просто :8008
(или даже сокет UNIX)
Он всегда пытается привязаться к 80-му порту и разумно терпит неудачу, если делает это от пользователя, не являющегося rootи из python pip3 - такое же поведение.
Есть идеи о том, что мне не хватает?Заранее спасибо.