Я пытался настроить nginx для работы с одним из моих приложений rails, когда, глядя на вывод ps -e | grep nginx
, я понял, что рабочие процессы nginx запускаются с пользователем nobody.
Есть ли причина, по которой они не работают как www-данные?
Я пытался настроить nginx для работы с одним из моих приложений rails, когда, глядя на вывод ps -e | grep nginx
, я понял, что рабочие процессы nginx запускаются с пользователем nobody.
Есть ли причина, по которой они не работают как www-данные?
Ответы:
Да. Скорее всего , вы не указали пользователя в своей конфигурации nginx .
Пользовательская директива: http://nginx.org/en/docs/ngx_core_module.html#user
Как запустить nginx от имени конкретного пользователя?
Вы можете указать пользователя / группу, от которой будет работать nginx, в конфигурации nginx.
Это пример того, как может выглядеть конфигурация nginx (обратите внимание на директиву пользователя):
Просто обновите ваш конфиг, а затем перезагрузите или перезапустите nginx, и все будет хорошо.
Конечно, вы должны выбрать пользователя, который лучше всего подходит для вашей системы, в Debian / Ubuntu по умолчанию есть www-данные, так что это разумный выбор.
источник
Главный процесс запускается от имени пользователя root, тогда nginx будет
setuid()
/setgid()
toUSER
/GROUP
. ЕслиGROUP
не указан, то nginx использует то же имя, что иUSER
.По умолчанию это
nobody
пользователь иnobody
или nogroup группа или--user=USER
и--group=GROUP
из./configure
сценария.Вы можете редактировать nginx.conf и
set user to www www;
источник