J'essayais de configurer nginx pour qu'il s'exécute avec l'une de mes applications rails, lorsque ps -e | grep nginx
j'ai regardé la sortie , j'ai réalisé que les processus de travail nginx s'exécutaient avec l'utilisateur nobody.
Y a-t-il une raison pour laquelle ils ne fonctionnent pas en tant que www-data?
Réponses:
Oui. Vous n'avez probablement pas spécifié l'utilisateur dans votre configuration nginx .
Directive utilisateur: http://nginx.org/en/docs/ngx_core_module.html#user
Comment exécuter nginx en tant qu'utilisateur particulier?
Vous pouvez spécifier l'utilisateur / groupe sous lequel nginx s'exécute, dans la configuration nginx.
Voici un exemple de ce à quoi pourrait ressembler une configuration nginx (notez la directive utilisateur):
Mettez simplement à jour votre configuration, puis rechargez ou redémarrez nginx et vous devriez être prêt à partir.
Bien sûr, vous devez choisir l'utilisateur qui fonctionne le mieux pour votre système, dans Debian / Ubuntu, il y a un www-data par défaut, c'est donc un choix judicieux.
la source
Le processus maître est exécuté en tant que root, puis nginx sera
setuid()
/setgid()
versUSER
/GROUP
. SiGROUP
n'est pas spécifié, alors nginx utilise le même nom queUSER
.Par défaut, il s'agit du groupe d'
nobody
utilisateurs et /nobody
ou de nogroup ou du--user=USER
et--group=GROUP
du./configure
script.Vous pouvez éditer nginx.conf et
set user to www www;
la source