2010-11-20 11 views
5

मैं अपाचे, यात्री 3.0.0 और रेल 3.0.3 के तहत तैनात एक नंगे हड्डियों रेल ऐप प्राप्त करने की कोशिश कर रहा हूं। मुझे सभी प्रकार की अजीब त्रुटियां मिल रही हैं। ज्यादातर जो मुझे लगता है वह बंडलर या RAILS_ENV से संबंधित है।क्या उपयोगकर्ता मेरा रेल ऐप चला रहा है?

ऐप के बारे में केवल गैर-डिफ़ॉल्ट बात यह है कि विकास & परीक्षण वातावरण SQLite3 का उपयोग करते हैं और उत्पादन MySQL का उपयोग करता है।

जब से वेब ब्राउज़र यात्री एप्लिकेशन मार रत्न (sqlite3) के बारे में त्रुटियों है कि विशेष रूप से कर रहे हैं (Gemfile में और database.yml में) फेंक रहा है उत्पादन वातावरण की नहीं भाग के रूप में घोषित कर दिया।

मैं कैसे बता सकता हूं कि सर्वर मेरे रेल ऐप को चलाने का प्रयास कर रहा है? मैं यह सुनिश्चित करना चाहता हूं कि उस उपयोगकर्ता के लिए RAILS_ENV सही ढंग से सेट किया गया है क्योंकि मुझे लगता है कि यात्री कुछ कारणों से इस ऐप को विकास मोड में चलाने की कोशिश कर रहा है।

संपादित करें: -l जोड़ा ps aux | grep httpd

myserver:current elvis$ ps aux | grep httpd 
elvis  4424 0.4 0.0 66152 192 s000 S+ 11:03AM 0:00.00 grep httpd 
_www  1950 0.0 0.2 93024 2544 ?? S 11:40PM 0:01.23 /usr/sbin/httpd -D FOREGROUND 
root  1918 0.0 1.0 93024 10244 ?? Ss 11:39PM 0:02.75 /usr/sbin/httpd -D FOREGROUND 
_www  4084 0.0 0.2 93024 2536 ?? S  9:41AM 0:00.15 /usr/sbin/httpd -D FOREGROUND 

और ls के परिणाम ...

myserver:current elvis$ ls -l config 
total 48 
-rw-rw-r-- 1 aaron admin 1923 Nov 19 21:40 application.rb 
-rw-rw-r-- 1 aaron admin 326 Nov 19 21:40 boot.rb 
-rw-rw-r-- 1 aaron admin 741 Nov 19 21:40 database.yml 
-rw-rw-r-- 1 aaron admin 1257 Nov 19 21:40 deploy.rb 
-rw-rw-r-- 1 aaron admin 149 Nov 19 21:40 environment.rb 
drwxrwxr-x 5 aaron admin 170 Nov 19 21:40 environments 
drwxrwxr-x 7 aaron admin 238 Nov 19 21:40 initializers 
drwxrwxr-x 3 aaron admin 102 Nov 19 21:40 locales 
-rw-rw-r-- 1 aaron admin 1808 Nov 19 21:40 routes.rb 
+0

क्या आप हमें कुछ त्रुटियां दिखा सकते हैं? –

उत्तर

9

डिफ़ॉल्ट रूप से, यात्री, जो उपयोगकर्ता config/environment.rb या config.ru फ़ाइल का मालिक के रूप में अपने अनुप्रयोग चलाने को देखने http://www.modrails.com/documentation/Users%20guide%20Apache.html#user_switching

यात्री production वातावरण में डिफ़ॉल्ट रूप से चलेगा जब तक आप RailsEnv साथ अन्यथा यह बताओ, http://www.modrails.com/documentation/Users%20guide%20Apache.html#rails_env

देखेंगे
+0

ठीक है। बस उपयोगकर्ता_विचिंग लिंक पढ़ें। इसे काम करने की कोशिश कर रहा है ... कोई विचार क्या मालिक/अनुमति "config/environment.rb' पर होना चाहिए"? वेबसाइट निर्देशिका के समान ही? मेरे पास अपाचे द्वारा सेवा की गई साइट है और उस मुख्य 'स्थिर' दृष्टि में डब्ल्यू/से एक सिम्लिंक है जिसे 'रेल' कहा जाता है जो ऐप है, जहां मेरी रेल ऐप निर्देशिका को इंगित करता है। – Meltemi

+1

मुझे लगता है कि ऐप चलाने वाला उपयोगकर्ता शायद आपके मामले में एक लाल हेरिंग है। रेल विन्यास समस्या होने की अधिक संभावना है। क्या आप सर्वर पर ऐप निर्देशिका से './script/console उत्पादन' चला सकते हैं? अगर वह एक ही त्रुटि फेंकता है तो इसे डीबग करना आसान होगा। – malclocke

+0

आपके config.ru/environment.rb का स्वामी जो भी उपयोगकर्ता आपने 'बंडल इंस्टॉल' चलाया था, होना चाहिए। 'बंडल इंस्टॉल' या तो आपके बंडलर सेटिंग्स के आधार पर $ HOME/.bundle या ./help पर इंस्टॉल करता है; पूर्व के मामले में, $ HOME उस उपयोगकर्ता पर निर्भर करता है जिसने 'बंडल इंस्टॉल' का आह्वान किया था। तो यदि आप 'बंडल इंस्टॉल' के रूप में 'foobar' चलाते हैं तो आपको यह भी सुनिश्चित करना होगा कि आपका रेल ऐप 'foobar' के रूप में चल रहा है, अन्यथा यह अनुमति समस्याओं के कारण बंडलर स्थापित किए गए रत्नों तक नहीं पहुंच सकता है। – Hongli

3

आप क्या उपयोगकर्ता अपने अपाचे प्रक्रिया चल रहा है देखने के लिए ps aux | grep httpd चला सकते हैं।

+0

'ps aux | के परिणाम जोड़े गए ऊपर grep httpd'। पिछले प्रश्नों में से .. क्यों दो अलग-अलग उपयोगकर्ता httpd प्रक्रियाओं को चला रहे हैं?! – Meltemi

+0

मुझे यकीन नहीं है। यह आपके उत्पादन बॉक्स पर है, है ना? – jergason

+0

yup। उत्पादन। पहले एक रेल 2.3.5 ऐप चल रहा था। 3.0.3 चलने की कोशिश कर रहा है और सभी नरक ढीला तोड़ रहा है। – Meltemi

0
RAILS_USER=$(stat -c '%U' /YOUR_PATH/environment.rb) 

echo "Detected rails user: $RAILS_USER" 
संबंधित मुद्दे