2012-05-30 14 views
7

आरएमवी रूबी 1.9.3-पी 1 9 4 के साथ एक "उत्पादन" सर्वर (वास्तव में उत्पादन में नहीं, धन्यवाद!) के लिए एक बहुत ही बुनियादी रेल 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 ║ 
╚══════════════════════════════════════╧═══╝ 

मेरा पहला सवाल: इस उम्मीद है के आदेशों यहाँ सूचीबद्ध, सच? (मैं सोचा होगा अधिकार स्तम्भ में पैटर्न एन वाई-एन-Y होना चाहिए।)

और जानकारी: bundle exec rails console समझ में आता है कारण यह है कि sqlite3 मणि सर्वर पर स्थापित नहीं है के लिए विफल रहता है। हालांकि, 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 पर्यावरण रेल के बीच वाक्य रचना अंतर पतली सर्वर के लिए एक PITA

+0

का एक सा यह सही है है .... इसके अलावा Webrick के लिए आप RAILS_ENV = उत्पादन चलाने की आवश्यकता होगी रेल एस –

3

कंसोल उत्पादन के मामले में पर्यावरण निर्दिष्ट करता है और सर्वर के मामले में यह कुछ और निर्दिष्ट करता है (शायद कौन सा सर्वर वीब्रिक/... का उपयोग करने के लिए)।

तो अगर आप पर्यावरण निर्दिष्ट करने के लिए चाहते हैं:

ENV=production rails server 
संबंधित मुद्दे