2012-05-30 1 views
7

RVM Ruby 1.9.3-p194를 사용하여 매우 기본적인 Rails 3.2.3 평가판 사이트를 "프로덕션"서버 (실제로는 프로덕션이 아닌, 고맙게도!)에 배포 한 결과,레일 콘솔 대 프로덕션 서버의 서버 차이점

╔══════════════════════════════════════╤═══╗ 
║ command issued      │OK?║ 
╟──────────────────────────────────────┼───╢ 
║ bundle exec rails console   │ N ║ 
║ bundle exec rails console production │ Y ║ 
║ bundle exec rails server    │ Y ║ 
║ bundle exec rails server production │ N ║ 
╚══════════════════════════════════════╧═══╝ 

내 첫 번째 질문 :이 예상되는 명령은 여기에 나열된의, 사실 하는가?는 (I 오른쪽 열의 패턴이 N-Y-N-Y해야한다 생각했을 것이다.)

상세 정보 : bundle exec rails consolesqlite3를 보석이 서버에 설치되어 있지 않은 것을 이해할 이유로 실패. 그러나 bundle exec rails server production은 훨씬 덜 이해할 수 추적에 실패

$ bundle exec rails server production 
Exiting 
/home/spkspike/www/spike.sampablokuper.com/releases/20120530134819/vendor/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler.rb:63:in `require': cannot load such file -- rack/handler/production (LoadError) 
from /home/spkspike/www/spike.sampablokuper.com/releases/20120530134819/vendor/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler.rb:63:in `try_require' 
from /home/spkspike/www/spike.sampablokuper.com/releases/20120530134819/vendor/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler.rb:16:in `get' 
from /home/spkspike/www/spike.sampablokuper.com/releases/20120530134819/vendor/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:269:in `server' 
from /home/spkspike/www/spike.sampablokuper.com/releases/20120530134819/vendor/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands/server.rb:59:in `start' 
from /home/spkspike/www/spike.sampablokuper.com/releases/20120530134819/vendor/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:55:in `block in <top (required)>' 
from /home/spkspike/www/spike.sampablokuper.com/releases/20120530134819/vendor/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:50:in `tap' 
from /home/spkspike/www/spike.sampablokuper.com/releases/20120530134819/vendor/ruby/1.9.1/gems/railties-3.2.3/lib/rails/commands.rb:50:in `<top (required)>' 
from script/rails:6:in `require' 
from script/rails:6:in `<main>' 

내 두 번째 질문 : 가장이 오류를 해결하는 방법을?

답변

18

는 생산 환경을 사용하여 생산 모드에서 서버를 시작 싶지 않아?

rails server -e production 

레일 콘솔 환경과 서버 -e 환경을 레일 사이의 구문 차이는 또한에 WEBrick 당신이 RAILS_ENV = 생산을 실행해야합니다 ....이 정확한지 얇은 서버의 경우 피타

+0

의 비트입니다 레일즈 –

3

콘솔 생산의 경우 환경을 지정하고 서버의 경우에는 다른 것을 지정합니다 (아마 webrick/...을 사용할 서버).

그래서 당신이 환경을 지정하려면 수행

ENV=production rails server