2010-08-14 3 views
7

이상적인 레일 서버는 무엇입니까? Linode와 같은 VPS에서 동작합니다. 어떤 사이트도 다음 트위터가되지는 않겠지 만 잘 확장해야합니다. 또한 여러 사이트를 지원해야하며 모든 사이트는 레일입니다 3. 그리고 데이터베이스는 동일한 서버에 있어야합니다 (현재).이상적인 레일 서버

아파치 또는 nginx를 사용해야합니까?

루비 엔터프라이즈 에디션 또는 일반 루비?

이상적인 linux 배포판?

MySQL, PostgreSQL 또는 다른 것?

디렉토리를 배치해야하는 방법 (레일 사이트 또는 다른 것을 넣을 위치)은 어떻게해야합니까?

배포 옵션?

다른 건 없나요?

답변

14

아파치 또는 nginx를 사용해야합니까? 특정 Apache 기능이 필요하지 않다면 Nginx가 여기에서 선호하는 경로 인 것 같습니다. Passenger를 사용하는 경우 Apache와 Nginx가 모두 지원됩니다. 여객 here에 대한 자세한 내용.

루비 엔터프라이즈 에디션 또는 일반 루비? 정말 REE는 Ruby 1.8에서만 사용 가능합니다. Rails 3의 더 이상 선호되지 않는 버전입니다. Rails 3은 1.8에 몇 가지 문제가 있었지만 지금까지는 해결했을 것입니다. 일반적으로 Ruby 1.9.2는 Rails 3를 잘 실행합니다.

이상적인 Linux 배포판? 이것은 실제로 중요하지 않습니다. 확실하지 않은 경우 우분투는 많은 지식이 있으므로 좋은 선택이며 사용하기가 쉽습니다. Slicehost에는 VPS를 시작하는 데 유용한 기사가 많이 있으며, 많은 사람들이 우분투에만 초점을 맞 춥니 다 : http://articles.slicehost.com/.

MySQL, PostgreSQL 또는 다른 것? 이것은 분명히 주관적입니다. MySQL은 분명 가장 많이 사용되는 곳이며, 확실하지 않다면 좋은 출발점입니다. 그러나 사람들은 종종 PostgreSQL이 MySQL을보다 깔끔하고 쉽게 사용한다고 주장합니다. 만약 당신이 방금 시작했다면, 이미 정보의 양 때문에 이미 MySQL을 추천 할 것입니다.

디렉토리를 배치해야하는 방법 (레일 사이트 또는 다른 것을 넣을 위치)은 어떻게해야합니까? 당신이 좋아하는 곳이면 어디서든지 레일 프로젝트를 넣을 수 있기 때문에 홈 디렉토리에 넣기 만하면됩니다. 웹 서버가 정적 자산에 액세스 할 수 있는지 확인하십시오.

배포 옵션? 카피스트라 노가 인기입니다. 방금 변경 사항을 적용하고 cap deploy을 입력하면 작업이 시작됩니다.

다른 건 없습니까? 이 모든 것이 압도적 인 것처럼 보이는 경우 Heroku과 같은 간단한 솔루션을 살펴보십시오. 그들은 당신을 위해 모든 것을 준비하고 유연성을 잃어 버리지 만 이것에 대해 걱정할 필요가 없습니다. 가격이 그렇게 나쁘지는 않으며 무료 옵션을 제공합니다.

3

나는 kyl이 그것을 아주 잘 요약했다고 생각한다. 그러나 레일즈 베타 4 이후 (그리고 지금은 RC 사용) 내가 무엇을 사용했는지 정확하게 알려줄 것이라고 생각했습니다. 이 설정은 나를 위해 잘 작동했습니다.

랙 공간 클라우드 서버 - 서버를 완전히 제어 할 수 있습니다. 즉시 서버의 크기를 조정할 수 있습니다. 다른 사이트에 대한 설정을 복제하려면 스냅 샷 이미지를 찍을 수도 있습니다. 그것의 싸고 내 의견으로는 아마존 구름보다.

CentOS 5.4 - 단단하지만 kyl이 언급 한 것처럼 어떤 배포판도 잘 동작 할 것입니다.

루비 1.9.2RC 2 - 지금까지 레일즈 3에는 문제가 없었습니다. Ruby Enterprise를 1.9.2로 포팅 할 때 확실히 사용할 수 있습니까? (그래도 작동하는지 확실하지 않습니다.)

Nginx - 빠르고 가볍습니다. 나는 아파치보다 훨씬 맘에 든다. 여객 앞에서 잡동사니가 얇고 얇습니다.

-이 설정은 개인적인 취향입니다. 나는 수년간 그것을 사용 해왔다. 확장이 필요한 경우 마스터/슬레이브 또는 마스터/마스터 구성을 쉽게 설정할 수 있습니다. 어떤 사람들은 sqlite를 사용하여 성공을 거두었지만 좀 더 튼튼한 것을 선호합니다.

Github - 소스 코드 제어를위한 저에게 꼭 필요한 제품입니다. 번들러는 github과 잘 작동합니다.

응용 프로그램 서버 - 나는 이것에 관해서도 여전히 논쟁 중입니다. 동시성을 처리하기 위해 새로운 루비 프로세스를 생성하는 데 걸린 시간을 알기 전까지 Passenger 2.2.15에 만족했습니다. 나를 위해 새 프로세스를 생성하는 데 최대 30 초가 소요되며 앱이 잠겨 있으므로 스폰되는 동안 요청을 처리 할 수 ​​없습니다. 로드가 너무 오래 걸리는 내 앱 또는 레일즈 3인지 지금 조사 중입니다. 이 문제는 승객 3으로 해결됩니다. 다행히도 곧 발표 될 것입니다. 그 결과, 나는 승객 3이 나올 때까지 Thin 또는 Mongrel을 사용할 것입니다.

Capistrano - Rails 3에 적합합니다. git 태그로 앱 버전 관리를위한 몇 가지 캡 조리법을 찾는 것이 좋습니다 ... 또는 직접 작성하십시오.

다른 건 없습니까? 실제로 서버와 관련이 없지만 재사용 할 수있는 앱의 모든 부분에 새 플러그인 API를 사용하는 것이 좋습니다. railties 및 엔진에 읽기. Jeweler로 보석을 만들고 보석상 갈퀴 작업을 사용하여 github으로 버전을 간단하게 만들 수 있습니다. 그런 다음 Gemfile 또는 github 소스를 gemfile에 추가하고 번들을 설치하거나 업데이트하여 github 태그 또는 master에서 배치 할 수 있습니다. 나는 레일즈 3 엔진에 대한 모든 일반적인 애플 리케이션 코드 (블로그, 인증 등)를 이식했다. 그리고 그 코드를 재사용해야 할 때마다 새로운 앱의 Gemfile에 그냥 놓습니다.

관련 문제