Passenger 4.0.17의 오픈 소스 버전을 사용하고 있으며 문서에서 나에게 명확하지 않은 동작을 식별하려고합니다. 나는 누군가가 도울 수 있기를 바라고있다.Nginx + Phusion Passenger try_files
server {
listen 443;
server_name www.example.com;
root /path/to/my/app/public;
location/{
passenger_enabled on;
rails_env production;
# etc. ....
}
}
그리고이 일을 : 이렇게 차이가
있습니까?
server {
listen 443;
server_name www.example.com;
root /path/to/my/app/public;
try_files $uri @passenger
location @passenger {
passenger_enabled on;
rails_env production;
# etc. ....
}
}
나는 처음부터 습관적으로 행동 해 왔지만, 두 번째가 더 좋은지 궁금해지기 시작했습니다.
첫 번째 예에서는 여객 작업자 프로세스가 모든 요청을 처리하고 두 번째 예에서는 승객 작업자 프로세스가 Nginx가 정적 응답을 제공 할 수없는 요청 만 처리한다고 예상합니다. Nginx에 대한 여객 모듈이 이미 try_files 불필요한 지시어를 만드는 인 - 내장 된 정보의 수준이없는 경우
하지만 ... 내 마음의 뒷면에서
, 나는 궁금하다. (위에서 사용 된 try_files 지시어가 Nginx가 처리 할 수있는 요청을 처리하지 못했다면 Passenger 문서에서 다룰 수 있었으면 좋겠지 만, 전혀 언급이 없습니다.)
묻는 이유는 분명합니다.
Nginx 작업자 프로세스에서 정적 인 콘텐츠를 제공 할 수 있는데도 승객 작업자 프로세스가 필요하지 않은 경우 (더 많은 메모리를 차지하며 비효율적 인) 승객 프로세스는 그들이 실제로 처리해야하는 요청을 처리하도록 자유롭게하고 소수의 근로자만으로도 돈을 벌 수있을 것입니다.
다시 ... 설명서에서이 부분을 전혀 다루지 않습니다. 알고있는 사람의 정보는 크게 감사하겠습니다! Phusion 직원들이 여기에 답변