Próbowałem skonfigurować nginx, aby działał z jedną z moich aplikacji railsowych, kiedy spojrzałem na dane wyjściowe ps -e | grep nginx
, zdałem sobie sprawę, że procesy robocze nginx działają z użytkownikiem nikt.
Czy istnieje powód, dla którego nie działają jako dane www?
Odpowiedzi:
Tak. Najprawdopodobniej nie określiłeś użytkownika w konfiguracji nginx .
Dyrektywa użytkownika: http://nginx.org/en/docs/ngx_core_module.html#user
Jak uruchomić Nginx jako konkretny użytkownik?
Możesz określić użytkownika / grupę, z której działa nginx, w konfiguracji nginx.
Oto przykład, jak mogłaby wyglądać konfiguracja nginx (zwróć uwagę na dyrektywę użytkownika):
Po prostu zaktualizuj konfigurację, a następnie załaduj ponownie lub uruchom ponownie nginx i powinieneś być gotowy.
Oczywiście powinieneś wybrać użytkownika, który działa najlepiej dla twojego systemu, w Debian / Ubuntu domyślnie są dane www, więc jest to rozsądny wybór.
źródło
Proces główny jest uruchamiany jako root, a następnie nginx będzie
setuid()
/setgid()
doUSER
/GROUP
. JeśliGROUP
nie jest określony, nginx używa tej samej nazwy coUSER
.Domyślnie jest to
nobody
użytkownik inobody
grupa lub lub nogroup--user=USER
i--group=GROUP
ze./configure
skryptu.Możesz edytować nginx.conf i
set user to www www;
źródło