2010-06-06 6 views
7

이상적인하나의 웹 서버에 여러 개의 Ruby 버전이 있습니까? RVM을 사용

, 하나 개의 웹 서버에 여러 개의 루비를 가질 수있는 것이 좋지 않을까, 및 서버 구성의 일종을 통해, 서로 다른 레일 /시나/등 애플 리케이션에 루비 버전을 할당 할 수 프로젝트별로

rvm의 설명서에서 Passenger가 한 번에 하나의 Ruby에서만 작동한다는 것을 알고 있습니다. :(

타협안

는 적어도 루비 1.8 루비 1.9 인터프리터에 프로젝트를 할당 할 수있는 방법을 섞어서 할 수 있어야하는 것이 좋을 것이라고 실패. 나는 읽었습니다 Nginx를 역방향 프록시로 사용하면 Apache와 Nginx를 같은 상자에서 실행할 수 있습니다. 하나의 Ruby를 사용하는 Apache + Passenger와 Nginx + Passenger를 다른 것으로 사용하는 것이 가능합니까? Nginx에서 Passenger 이외의 다른 것을 사용합니까?

내가 잘못된 나무를 짖고 있습니까?

이 문제점에 대한 좋은 해결책이 누락 되었습니까? 나는 악몽 환경으로 들어가고 있습니까? 내가 원하는 것도 실행 가능한가, 아니면 별도의 Ruby 버전을 실행하기 위해 다른 상자를 실행해야 할 필요가 있습니까?

+0

나는 이것이 얼마나 실현 가능성이 있는지 모르겠지만 각기 다른 루비 (또는 루비 당 1 명의 사용자 만 가능)에서 실행하려는 각 프로세스마다 별도의 사용자 계정을 사용하는 것이 좋습니다. – x1a4

+0

가상화는 옵션입니까? 여러 버전의 Ruby를 실행할 수없는 이유가 있다면 다른 버전으로 가상 서버를 실행할 수 있으므로 각 OS 설치에는 하나만 있습니다. – Ken

답변

0

모든 프로젝트 (또는 적어도 하나의 서버에있는 프로젝트)를 동일한 루비 버전으로 유지하는 것은 어떻습니까? 이전 버전을 사용하거나 이전 프로젝트를 업그레이드 하시겠습니까?

나는 이런 식으로 생각할 때 가장 문제가 없다고 생각합니다.

+0

Ruby 1.8을 사용하는 것은 그리 바람직하지 않습니다. 그리고 상자에서 실행되는 모든 것이 우리 자신의 것이 아니기 때문에 Redmine 1.9와 호환되도록 (예를 들어) 시간을 낭비하는 것은 적절하지 않습니다. 또한 최소한 이상적인 설정에서는 원래 작성된 루비에서 프로젝트를 실행하는 것이 좋을 것입니다. 제 말은, rvm을 사용하면 서버에이 루비가 있다는 것입니다. 각 프로젝트에서 사용할 수있는 것이 좋을 것입니다. – Legion

1

Nginx와 함께 Thin 또는 Unicorn을 사용할 수 있습니다. 프로젝트마다 루비 버전을 설정하기 위해 신 스크립트 (god script) 나 다른 시작 스크립트를 작성하는 것 (또는 단순히 Thin/Unicorn을 수동으로 시작하는 것)이 가능합니다.

+0

RVM에 대해 궁금한 점이 있으면 freenode의 #rvm 채널 (http://webchat.freenode.net/?channels=rvm)에서 24 시간 연중 무휴로 도움을 줄 수있는 사람들이 있습니다. –

0

타협이 가능합니다. 다양한 방법으로이 방법을 사용할 수 있지만, 가장 쉬운 방법은 역순 프록시를 여러 개의 chroot 된 ruby ​​+ webserver + 레일 설치와 함께 사용하면 편리합니다.

1

여러 개의 작은 가상 컴퓨터를 사용합니까?

+0

그것이 나 였다면 1.9 용으로 새 VM/슬라이스를 설정하고 그 앱을 마이그레이션 할 것입니다. – wesgarrison

0

Mac OS X를 사용하는 경우 여러 개의 루비를 처리 할 수있는 POW!을 확인하시기 바랍니다. hoof이라는 리눅스 대안이 있는데, 아직 개발되지는 않았지만 가까워지고 있습니다.

관련 문제