Tại sao quá trình nginx chạy với người dùng không ai


16

Tôi đã cố gắng thiết lập nginx để chạy với một trong những ứng dụng rails của mình, khi nhìn vào đầu ra ps -e | grep nginx, tôi nhận ra các quy trình nginx worker chạy với người dùng không có ai.

Có một lý do tại sao họ không chạy dưới dạng dữ liệu www?


1
Có vẻ là một câu hỏi hợp lý dẫn đến một câu trả lời đầy thông tin - tại sao người hỏi lại đưa ra quan điểm?
không phải là bản vá

Câu trả lời:


25

Có một lý do tại sao họ không chạy dưới dạng dữ liệu www?

Đúng. Bạn rất có thể chưa chỉ định người dùng trong cấu hình nginx của bạn .

Chỉ thị của người dùng: http://nginx.org/en/docs/ngx_core_module.html#user

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

Làm thế nào để chạy nginx như một người dùng cụ thể?

Bạn có thể chỉ định người dùng / nhóm mà nginx chạy dưới dạng, trong cấu hình nginx.

Đây là một ví dụ về cấu hình nginx có thể trông như thế nào (chú ý chỉ thị của người dùng):

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
}

Đơn giản chỉ cần cập nhật cấu hình của bạn và sau đó tải lại hoặc khởi động lại nginx và bạn sẽ ổn.

Tất nhiên, bạn nên chọn người dùng hoạt động tốt nhất cho hệ thống của mình, trong Debian / Ubuntu có dữ liệu www theo mặc định, vì vậy đó là một lựa chọn hợp lý.


Dữ liệu www là theo hiểu biết của tôi chứ không phải chủ sở hữu / nhóm của / var / www và không nên sử dụng cùng một người dùng cho quy trình nginx ( stackoverflow.com/questions/22336186/iêu ) Cài đặt nginx mới thông qua apt trên debian sử dụng nginx người dùng. Có lẽ bạn muốn thay đổi ví dụ sang sử dụng người dùng nginx.
nhị phân

4

Quá trình tổng thể được chạy dưới quyền root, sau đó nginx sẽ setuid()/ setgid()đến USER/ GROUP. Nếu GROUPkhông được chỉ định, thì nginx sử dụng cùng tên với USER.

Theo mặc định, đó là nobodyngười dùng và nobodynhóm nogroup hoặc --user=USER--group=GROUPtừ ./configuretập lệnh.

Bạn có thể chỉnh sửa nginx.conf và set user to www www;

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.