nginx işlemi neden hiç kimse ile çalışmıyor


16

Nginx'i ray uygulamalarımdan biriyle çalışacak şekilde ayarlamaya çalışıyordum, çıktıya bakarken ps -e | grep nginxnginx çalışan işlemlerinin hiç kimseyle kullanıcı tarafından çalıştırılmadığını fark ettim.

Www-data olarak çalışmamalarının bir nedeni var mı?


1
Bilgilendirici bir cevaba yol açan makul bir soru gibi görünüyor - soru soran neden bir noktaya değindi?
notapatch

Yanıtlar:


25

Www-data olarak çalışmamalarının bir nedeni var mı?

Evet. Büyük olasılıkla kullanıcıyı nginx yapılandırmanızda belirtmediniz .

Kullanıcı Yönergesi: http://nginx.org/en/docs/ngx_core_module.html#user

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

Belirli bir kullanıcı olarak nginx nasıl çalıştırılır?

Nginx yapılandırmasında nginx'in çalıştığı kullanıcı / grubu belirtebilirsiniz.

Bu, bir nginx yapılandırmasının nasıl görünebileceğine bir örnektir (kullanıcı yönergesine dikkat edin):

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
}

Yapılandırmanızı güncelleyin ve ardından nginx'i yeniden yükleyin veya yeniden başlatın ve gitmek için iyi olmalısınız.

Tabii ki sisteminiz için en iyi olan kullanıcıyı seçmelisiniz, Debian / Ubuntu'da varsayılan olarak bir www verisi vardır, bu yüzden mantıklı bir seçimdir.


www-data benim anlayışım yerine / var / www'nin sahibi / grubu ve aynı kullanıcıyı nginx işlemi için kullanmak iyi bir fikir değil ( stackoverflow.com/questions/22336186/… ) nginx'in apt yoluyla yeni kurulumu debian kullanıcı nginx kullanır. Belki örneği nginx kullanıcısını kullanarak değiştirmek istersiniz.
binaryanomaly

4

Ana işlem kök olarak çalıştırılır, ardından nginx setuid()/ setgid()to USER/ olur GROUP. Eğer GROUPbelirtilmemişse nginx aynı adı kullanır USER.

Varsayılan olarak bu kadar nobodykullanıcı ve nobodyya nogroup grubu ya --user=USERve --group=GROUPgelen ./configurekomut dosyası.

Nginx.conf dosyasını düzenleyebilir ve set user to www www;

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.