2013-09-16 3 views
2

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 직원들이 여기에 답변

답변

관련 문제