2014-07-22 11 views
0

리눅스를 재시작 할 때마다 rails s을 실행하여 dev env에서 레일스 애플리케이션을 시작해야합니다.개발 환경에서 로그인하기 전에 레일즈 앱 자동 실행

리눅스가 다시 시작될 때 주어진 레일즈 애플리케이션을 자동으로 시작할 수 있습니까?

솔루션이 프로덕션 환경에서 앱을 실행하는 데 가까이 있다고 가정합니다.

프로덕션 사이트에서 앱을 실행 한 적이 없습니다.

UPDATE 1

나는이 문제에 대한 자세한 내용을 봤 나 How can I make “rc.local” run on startup?에 가까운 무언가를 발견했습니다.

/etc/rc/local :

#!/bin/sh -e 
# 
# rc.local 
# 
# This script is executed at the end of each multiuser runlevel. 
# Make sure that the script will "exit 0" on success or any other 
# value on error. 
# 
# In order to enable or disable this script just change the execution 
# bits. 
# 
# By default this script does nothing. 

/home/askar/.rvm/rubies/ruby-2.1.2/bin/ruby /home/askar/work/rails/smn/bin/rails s 

exit 0 
내가 운영하는 수 있어요

$ ls -al /etc/rc.local

-rwxr-xr-x 1 root root 423 Jul 23 12:41 /etc/rc.local

:

$/etc/rc.local & 

하지만 난 다음 부팅시에 자동으로 시동 할 정도로 실행하려고하면 :

sudo /etc/init.d/rc.local start 

나 오류 :

Could not find rake-10.2.1 in any of the sources 
Run `bundle install` to install missing gems. 
+0

명령을'sudo '하면 루트로 실행되고 사용자의'askar'에서 설정 한 적절한'gemset' 또는'ruby'를 적재하기 위해'rvm'이 필요로하는 환경 변수와 것들에 더 이상 접근 할 수 없습니다. – DiegoSalazar

+0

부팅시 rc.local을 시작하는 방법을 알아 내려고 시도 중 ... – Askar

답변

1

Apache 또는 Nginx와 같은 실제 웹 서버와 Passenger와 같은 루비 커넥터를 실행해야합니다. rail s을하는 것이 훨씬 쉽습니다. 스테이징 또는 프로덕션 서버를 설정하는 것과 같다고 생각됩니다.

특히 Linux의 경우이 작업을 수행하는 방법에 대한 유용한 자습서가 많이 있습니다.

+0

이 경우 서버 유형이 중요하지 않습니다. 이 사용자가 묻는 것은 apache, nginx 또는 webrick 여부에 관계없이 서버를 시작하는 방법입니다.로그인 스크립트에 rails 명령을 추가하는 것만 큼 문제가됩니다. – DiegoSalazar

+0

로그인 프로파일 또는 서버 시작 스크립트에서 테스트 서버를 실행할 수 있다는 것에 동의합니다. OP는 프로덕션 서버와 같은 것을 묻습니다. 시작시'rails server'를 실행하면 내가 아는 한 한 응용 프로그램으로 제한됩니다. –

+0

더 많은 앱을 실행하려면 포트를 지정하십시오 :'rails server -p 3001' 등등. – DiegoSalazar

0

당신은 bash는 명령을 추가해야합니다 로그인 스크립트에

cd path/to/rails/project; rails s 

같은 당신의 ~/.bashrc 파일로. 로그인 스크립트는 리눅스 박스에 로그인 할 때마다 레일즈 서버를 시작합니다. OSX에서는 LaunchAgents에 로그인 항목을 추가합니다.

+0

로그인없이 레일즈 애플리케이션을 실행할 수있는 방법이 있습니까? – Askar

+0

init.d에 명령을 추가해야합니다. http://stackoverflow.com/questions/12973777/how-to-run-a-shell-script-at-startup – DiegoSalazar

+0

조언을 주셔서 감사합니다. 나는 몇몇 새로운 발견으로 나의 포스트를 새롭게했다. – Askar

0

Prax https://github.com/ysbaddaden/prax 같은 것을 볼 수도 있습니다.이 루비는 OSX 용 Powe의 순수 루비 대안으로, 랙 프록시로 실행하고 sitename.dev에서 사이트에 액세스 할 수 있습니다. 당신이 여러 사이트를 쉽게 링크 할 수 있기 때문에 레일스보다 더 좋아합니다. 포트에 대해 걱정하지 않고 이름으로 액세스 할 수 있습니다.

+0

Mac OS X가 아닌 Linux를 사용하고 있습니다.) – Askar

+0

예 prax는 Linux에서 작동합니다. OSX에서는 작동하지 않습니다. Pow는 OSX 버전입니다. 미안, 내 말씨가 물러 섰다. Prax는 순수한 루비 버전입니다. 시작할 때 실행되도록 설정하고 : 3000을 제거 할 수 있습니다. 리눅스 등에서 작동합니다 – Doon

+0

하지만 로그인하면 올바르게 동작할까요? 로그인하지 않고 앱을 시작하고 싶습니다. – Askar