2012-12-04 5 views
0

코드와 db를 서버에 설정했습니다. rails 명령을 실행했지만 로컬 시스템이 종료되면 서버가 종료됩니다. 웹 서버가 서버에서 실행되도록하는 방법이 있습니까? 서버 자체에 코드가 있으므로 Capistrano가 필요하지 않을 수도 있습니다. Webrick은 현재 사용중인 웹 서버입니다.레일 응용 프로그램 배포 : 웹 서버가 종료됩니다.

이것은 첫 번째 배포이며 도움이 될 것입니다.

미리 감사드립니다.

답변

0

thin 서버에서 애플리케이션을 실행 해보십시오.

gemfile에 gem 'thin'을 작성하십시오.
do bundle install
쓰기 thin startrails s.
서버에는 전까지 중지되지 않습니다 당신이 thin stop

를 작성하지 않는 한 나는 위의 당신을 위해 일 것이라 생각합니다.

1

WEBrick을 Production에서 사용하는 것은 매우 드뭅니다. Stack Overflow discussion of why이 있으며 많은 사람들이 웹 전체에서 그렇게하지 못한다고 말하고 있습니다. 나는 진짜로 의 팬이 아니다 "모두가 그렇게 말하기 때문에!" 답변을 제공하지만 Google이 귀하에게 많은 의견을 제공합니다.

rails server -d

그러나 : 응용 프로그램이 널리 사용되지 않고 당신이 당신의 서버에 여분의 자원을했습니다 경우 서버를 시작할 때

그러나, 당신은 데몬 모드에서 실행할 수 있습니다 유일한 방법은 한 번 시작이 PID를 얻고 과정에 kill를 호출하는 것입니다 중지 :

kill -9 thepidhere

(나는 필요하다고 -9를 발견하거나 중지하는 것을 거부)

다른 서버로 변경하려면 thin, UnicornNginx을 확인하십시오. 크고 딱딱하고 사용자 정의가 가능한 솔루션을 보려면 Apache와 Mongrel에 대해 this post을 확인하십시오.

+0

+1을 사용하지 않는 webrick ... 동시 사용자가 두 명 이상인 경우 더 나은 것이 필요합니다. – sevenseacat

0

레일스 명령으로 로컬 터미널을 열지 않아도 실행할 수 있도록 데몬 프로세스를 만들어야합니다. 레일 s -d와 같은 것을 시도해보십시오. 승객을 설치하고 승객 출발 -d 또는 엷은 선을 쓰고 레일 s -d를 씁니다.

더 나은 배포를 위해 위와 같은 독립 실행 형으로 응용 프로그램을 실행하는 경우 응용 프로그램을 자동으로 시작하는 초기화 스크립트를 추가하는 것이 좋습니다.