문제

나는 직선 Mongrel을 사용했고, Apache 뒤에서 Mongrel 클러스터를 사용했으며, Thin을 살펴보았는데 Passenger에 매우 흥미를 갖게 되었습니다.Nginx도 살펴봤습니다.저는 MRI, Ruby Enterprise Edition, Rubinius 및 JRuby를 살펴보았습니다.많은 옵션이 있으며 각각은 새로운 성배라고 주장합니다.

완전히 새로운 최신 배포를 위한 최선의 옵션은 무엇입니까?유일한 가정은 다음과 같습니다.

  • 이 앱은 Rails 2.2 기반입니다.(2.2가 아직 완전히 출시되지 않았다는 것을 알고 있지만 이번 배포도 마찬가지입니다.)
  • 서버는 Linux 기반입니다.아마도 Ubuntu Hardy일 것입니다. 하지만 실제로는 이 경우에는 무엇이든 가장 잘 작동합니다.
  • Rails는 완벽하게 작동해야 하며 아마도 MySQL 데이터베이스와 통신해야 합니다.
  • 다른 모든 것은 협상 가능합니다.

이러한 특히 광범위한 제약 조건을 고려할 때 어떤 소프트웨어 조합이 동시성 및 낮은 오버헤드 측면에서 최상의 결과를 얻을 수 있습니까?

저는 "작업자" mpm과 Passenger + Ruby Enterprise Edition을 갖춘 Apache를 선호하고 있습니다. 왜냐하면 Apache가 즉각적인 안정성과 설정 및 유지 관리의 단순성을 제공하기 때문입니다.

다른 옵션을 선택하면 특히 더 나아질 가능성이 있나요?

도움이 되었습니까?

해결책

2 주 전에 Mongrel Cluster에서 승객으로 전환했습니다 (Debian Linux Server). 나는 잠시 되돌아 보지 않았다. 승객은 아마도 새 서버를 시작하고 실행하는 가장 쉬운 방법 일 것입니다. 성능과 신뢰성도 합리적입니다.

개인적으로, 나는 배치 문제를 다루기보다는 흥미 진진한 새로운 Rails 프로젝트에 참여하는 데 시간을 보내고 싶습니다. 승객은 정확히 그렇게 할 수 있습니다. 그러나 Mongrel 또는 다른 것들이 어떤 종류의 특별한 요구 사항이있는 경우에도 여전히 바람직 할 수 있습니다 (대부분의 제품에는 적용되지 않음).

다른 팁

오늘 아침 DHH는 자신의 블로그 에서이 주제에 대해 이야기합니다.

그러나 어쨌든 승객의 메시지는 침몰하기가 조금 느 렸습니다. 이미 많은 큰 사이트가 달려 있습니다. Shopify, MTV, Geni, Yammer를 포함하여, 우리는 곧 첫 번째 TA-DA 목록으로 이동할 것이며, 그 후 나머지 37signals 스위트는 이후에 빨리 이사 할 것입니다.

따라서 Mod_php에서 멀리 떨어진 사람들이 자신의 세부 사항에 대해 수동으로 구성된 수동으로 구성된 조각의 멀티 계층 설정을 실행 해야하는 이유가 여전히 있지만, 우리는 마침내 기본 답변에 정착했다고 생각합니다. Rails 응용 프로그램의 첫 번째 배치에 대해 실제로 생각할 필요가없는 것. 상자 밖으로 작동하는 것. 그 상자가 공유 호스트이더라도!

http://www.loudthinking.com/posts/30-myth-1-rails-is-hard-to-deploy

Shopify (백만 요청/일)를 승객으로 전환하는 주제에 대한 Tobias Lütke :

이 모든 것이 정상 작업 중에 Shopify가 사용하는 총 기억량은 평균 9GB에서 평균 5GB로 갔음을 의미합니다. 우리는 더 많은 Shopify 프로세스와 더 많은 Memcached Space간에 절감 효과를 고르게 배포하여 평균 응답 시간을 210ms로 130ms로 옮겼으며 지난 몇 개월 동안 트래픽이 30% 증가했습니다.

결론적으로 :이 시점에서 다른 배포 전략을 선택할 이유가 없습니다. 간단하고 완전하며 빠르며 잘 문서화되어 있습니다.

http://blog.leetsoft.com/2008/11/15/passenger

우리는 지난 18개월 동안 오래된 표준 nginx -> 잡종 스택을 사용해 왔으며 처음 설정하는 것이 쉽지는 않았지만 유연성이 입증되었으며 트래픽이 매우 높은 일부 사이트를 처리했습니다.특히 Nginx는 매우 견고하고 빠르며, 앱 페이지 캐싱을 사용할 수 있다면 많은 요청을 처리할 수 있습니다.

갇혀 있는 잡종들이 문제가 되었기 때문에 우리는 그들이 잘못 행동할 때 그들을 죽이기 위해 monit을 사용합니다.다시 말하지만, 설정하는 것이 완전히 쉬운 일은 아니었지만 현재 우리는 많은 사이트에서 동일한 프로세스를 사용했습니다.

우리는 아직 승객을 다루지 않았으므로 아마도 더 쉽고 안정적일 것입니다. 그것에 대해서는 다른 응답자에게 맡길 것입니다. 내가 말할 수 있는 것은 nginx로 견고한 스택을 구축하지 못할 이유가 전혀 없다는 것입니다. 그리고 잡종.

우리는 Fron Nginx+Mongrel을 승객으로 전환했습니다.

나는 Nginx와 Mongrel 클러스터가 매우 똑똑한 사람들에 의해 승인 되었음에도 불구하고 승객이 철도의 새로운 표준이 될 것이라고 완전히 믿습니다. 승객의 최근 발전은 실제로이를 추진했습니다.

현재 구성은 다음과 같습니다.

웹 서버

  • 우분투 8.04 LTS
  • Apache2의 Phusion 승객
  • MRI Ruby 1.8.6 및 친구 (양식 apt)
  • Ruby Gems 1.3.0 (소스에서 설치)

데이터베이스 서버

  • Centos 5
  • MySQL 클러스터 (방금 전환했지만 유망합니다)

정확한 Linux 배포판을 표준화 한 결과 우리는 Capitrano 레시피를 작성하여 배치를 돕고 (구성의 약간의 변동이 많은 서비스 중단의 원인 이었음) 우리의 삶을 단순화 할 수있었습니다.

살펴보십시오 litespeed. 1 CPU에서 실행되는 무료 버전을 얻거나 멀티 CPU를 얻기 위해 지불 할 수 있습니다. 약간 비싸지 만 록 견고하고 Rails를 훌륭하게 처리합니다 (즉, 메모리를 적게 사용하고 모니터링 및 설정을위한 오버 헤드가 적습니다). 나는 그것에 막대한 양의 앱을 실행하고 비트를 놓치지 않습니다.

또한 Mongrel에서 Mod_passenger로 전환했으며 설정 및 유지 관리에 필요한 이러한 노력으로 안정성이 크게 향상되었습니다. 좋은 선택.

또 다른 금 :

Josh Peek 's 슬라이스 호스트 보석 감가 회의보다 훨씬 간단하고 체계적인 Capistrano 레시피로 가득합니다. 거기에는 특히 슬라이스 호스트에 관한 것이 없습니다.

Ubuntu Hardy에서 Apache2와 승객과 함께 새로운 앱을 호스팅하고 있습니다. 대부분의 시나리오에서 가장 쉽고 최상의 옵션처럼 보입니다. 나는 그 목적으로 SliceHost.com에 합류했습니다. 그들은 좋은 리뷰를 받고 일등석 호스트에서 가장 경쟁력있는 가격을 가지고있는 것 같습니다.

나는 새로운 고객이기 때문에 아직 보증 할 수는 없지만 가이드와 지원 옵션의 범위는 인상적입니다.

당신이 언급하지 않은 것은 앱이 얼마나 크고 인기가 있는지입니다. 이 기준은 의사 결정 과정에 영향을 줄 수 있습니다.

Capistrano + 실제로 우분투에 스택을 설정하고 배포를 물리적으로 관리하는 경우.

서버 아키텍처를위한 Nginx는 Mongrel Clusers로 프록시합니다. 그것은 최신 출혈 엣지 기술이 아니지만 잘 작동하고, 문서화되어 있으며, 소규모 VPS에서 작업 할 때에도 매우 높은 성능입니다. 애플리케이션을 보지 않았다고 가정하면 128MB SliceHost VPS를 슬래시 할 수 있으며 더 많은 것을 위해 계속 돌아올 수 있습니다.

그 말 : a 많은 Nginx가 실제로 어떻게 작동했는지 알아낼 때까지 처음으로 Gotchas. 그 후 약간의 러시아 악센트가있는 작은 아파 릿처럼 놀랍습니다.

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