문제

나는 설정 Apache2 웹서버 실행하는 여러 Ruby on Rails 웹 응용 프로그램 Phusion 있습니다.내가 알고있는 승객이 급부상 루비 프로세스에 대한 요청을 처리하기.나는 다음과 같은 질문:

  • 만약 하나 이상의 요청을 처리하는 동시에,이 승객을 생성하는 여러 프로세스 또는 여러(루비)스레드가?어떻게 구성을 그것은 그래서 그것은 항상 급부상 하나의 스레드 프로세스?
  • 가 있는 경우 두 레일 응용 프로그램,상상하는 요청에 대한 응용가 프로세스 1,나중에 다음 요청에 대한 응 B 도착한다.그것은 가능한 프로세스 1 이것을 처리 요청을 뿐만 아니라?언제 어떻게 이것이 가능한가요?다시 말해서,하나의 프로세스를 허용하는 요청을 처리하는 여러 레일 응용 프로그램은 무엇입니까?
  • 나는 같은 레일 응용 프로그램에 수출되는 여러 Url 을고 여러 가상호스트(예:http://https://).이 동일한 프로세스 서비스를 제공할 수 있는 다른 가상호스트가?(응답이 될 것으로 보인 예,내가 설정한 변수에서 응답을 요청하는 가상호스트,그리고 나를 검색 할 수 있었는 값에는 가상호스트 B.)
도움이 되었습니까?

해결책

일반적으로,승객을 생성하는 새로운 프로세스에 의해 분는 ApplicationSpawner 있는 프레임워크와 응용 프로그램 코드를 미리 로드 메모리에,또는 FrameworkSpawner 는 그냥 있는 프레임워크 코드입니다.

승객,내가 알기로는,지 않는 거래에서 스레드입니다.대신,부하가 증가함에 따라서 응용 프로그램,그것은 포크는 응용 프로그램의 ApplicationSpawner 초기화하는 또 다른 인스턴스입니다.때 부하가 감소,하나 이상 응용 프로그램 인스턴스가 죽었어.

만약 승객이 구성되어에서 특정 방법(저는 믿을 선택하여"스마트"부활 방식),그것이 만들어 FrameworkSpawner,로드 레일 코드는,하지만 어떤 응용 프로그램 코드할 수 있는 여러 갈래로드하고 사용하여 응용 프로그램의 버전도 있습니다.

그래서 당신의 질문에 대답:

  • 그것이 될 것입니다 그들은 순차적으로,그가 추가로 생성 프로세스하는 경우 그 결정의 부하가 높은 충분합니다.

  • No.하나의 프로세스할 수 있습만에 속하는 하나의 레일 응용 프로그램.

  • 나는 종류의 스케치에 하나이지만,실험에서 의미가 있습니다.승용해야 충분히 똑똑하다는 것을 파악하기 위하여하더라도 그것이 실행하에서 다른 장소에서 server config,당신은 당신에 대해 얘기하고 같은 응용 프로그램입니다.그것은 아마도에 따라 응용 프로그램의 파일시스템 경로입니다.

편집:갔고 읽어이다.밝혀 나가 대부분이지만,기술적인 내용이었습니다.보 승용 설명서

다른 팁

Yup,버크 오른쪽입니다.의 경우에는 세번째 질문 Phusion 승객의 인식에 의한 신청은 그들의 응용 프로그램 뿌리 경로.그래서 심지어가 두 개 있는 경우 가상호스트는 경우에,그들은 모두 동일한 DocumentRoot 다음 Phusion 승객을 생각하는 것이 그들이 동일한 앱입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top