Чому процес nginx не працює ні з ким


16

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

Чи є причина, чому вони не працюють як www-data?


1
Здається, розумне запитання, яке призвело до інформативної відповіді - чому запитуючий був підкреслений?
notapatch

Відповіді:


25

Чи є причина, чому вони не працюють як www-data?

Так. Ви, швидше за все , не вказали користувача у вашій конфігурації 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-дані, тому це розумний вибір.


Як я розумію, www-data є власником / групою / var / www, і це не дуже гарна ідея використовувати того самого користувача для nginx-процесу ( stackoverflow.com/questions/22336186/… ) Свіжа установка nginx через apt на debian використовує користувача nginx. Можливо, ви хочете змінити приклад на використання користувача nginx.
бінаномалія

4

Основний процес запускається як root, тоді nginx буде setuid()/ setgid()до USER/ GROUP. Якщо GROUPне вказано, то nginx використовує те саме ім'я, що і USER.

За замовчуванням це nobodyкористувач і nobodyчи nogroup група або --user=USERі --group=GROUPз ./configureсценарію.

Ви можете редагувати nginx.conf і set user to www www;

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.