Назад | Перейти на главную страницу

почему процесс nginx запускается с пользователем none

Я пытался настроить nginx для работы с одним из моих приложений rails, когда смотрел на вывод для ps -e | grep nginx , Я понял, что рабочие процессы nginx запускаются без пользователя.

Есть ли причина, по которой они не работают как www-данные?

Есть ли причина, по которой они не работают как www-данные?

Да. Ты скорее всего не указал пользователя в вашей конфигурации nginx.

Директива пользователя: http://nginx.org/en/docs/ngx_core_module.html#user

syntax: user user [group];
default:    
user nobody nobody;
context:    main

Как запустить nginx от имени конкретного пользователя?

Вы можете указать пользователя / группу, под которой работает nginx, в конфигурации nginx.

Это пример того, как может выглядеть конфигурация nginx (обратите внимание на директиву пользователя):

pid                 /path/to/nginx.pid;
user                www-data www-data;
worker_processes    1;

events {
   worker_connections  1024; # usually 1024 is a good default
}

http {
   # more code goes here
}

Просто обновите свою конфигурацию, а затем перезагрузите или перезапустите nginx, и все будет в порядке.

Конечно, вы должны выбрать пользователя, который лучше всего подходит для вашей системы, в Debian / Ubuntu по умолчанию есть www-data, так что это разумный выбор.

Главный процесс запускается от имени пользователя root, затем nginx будет setuid()/setgid() к USER/GROUP. Если GROUP не указан, тогда nginx использует то же имя, что и USER.

По умолчанию это nobody пользователь и nobody или группа nogroup или --user=USER и --group=GROUP из ./configure сценарий.

Вы можете редактировать nginx.conf и set user to www www;