J'essayais de configurer Nginx pour courir avec l'un de mes Rails Apps, lorsqu'il s'agit d'examiner la sortie pour ps -e | grep nginx
, J'ai réalisé que Nginx Travailler Les processus fonctionnent avec l'utilisateur personne.
Y a-t-il une raison pour laquelle ils ne fonctionnent pas comme www-Data?
Y a-t-il une raison pour laquelle ils ne fonctionnent pas comme www-Data?
Oui. Vous avez le plus probablement n'a pas spécifié l'utilisateur dans votre Nginx Config .
Directive utilisateur: http://nginx.org/en/docs/ngx_core_module.html#user
syntax: user user [group];
default:
user nobody nobody;
context: main
Vous pouvez spécifier l'utilisateur/groupe que NGinx fonctionne comme dans la configuration NGinx.
Ceci est un exemple de ce qu'une configuration NGinx pourrait ressembler (remarquez la directive utilisateur):
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
}
Mettez simplement à jour votre configuration puis rechargez ou redémarrez NGinx et vous devriez être bon à partir.
Bien sûr, vous devriez choisir l'utilisateur qui fonctionne le mieux pour votre système, dans Debian/Ubuntu, il existe des données www par défaut, c'est donc un choix sensible.
Le processus maître est exécuté en tant que root, puis Nginx setuid()
/setgid()
à USER
/GROUP
. Si GROUP
n'est pas spécifié, Nginx utilise le même nom que USER
.
Par défaut, il est nobody
utilisateur et nobody
ou groupe de nogroupes ou le --user=USER
et --group=GROUP
du ./configure
script.
Vous pouvez éditer nginx.conf et set user to www www;