2010-03-11 9 views
6

मुझे हमारे वेबसर्वर में से एक के साथ एक गंभीर समस्या है ... एक अच्छी तरह से काम करने वाले मोंगेल/हैप्रोक्सी-क्लस्टर के साथ आंतरिक अल्फा परीक्षण करने के बाद, हम अपने पहले उत्पादन सर्वर (ग्राहकों के लिए यात्री के साथ nginx का उपयोग करना चाहते थे इस सर्वर तक पहुंच जाएगा)।पैसेंजर/nginx के साथ रेल केवल विकास मोड में क्यों काम करता है? कोई लॉग उपलब्ध नहीं है

हालांकि, मैं यात्री/nginx के साथ विकास मोड के माध्यम से केवल रेल ऐप चला सकता हूं।

ऐप स्वयं उत्पादन मोड में मोन्गल या वीब्रिक के साथ सही चलता है।

इस मामले के साथ मेरी सबसे बड़ी समस्या यह है कि मुझे nginx या रेल-लॉग में कोई जानकारी नहीं मिलती है (केवल तभी जब मैं मोंगेल या वीब्रिक का उपयोग करता हूं)।

अनुमतियां सही हैं। यात्री-स्थिति से पता चलता है कि ऐप चल रहा है, लेकिन मुझे हमेशा स्थिर 500.html-त्रुटि पृष्ठ मिलता है ...

यह बहुत अच्छा होगा अगर आप मुझे संकेत दे सकते हैं और समस्या को हल करने में मेरी सहायता कर सकते हैं।

मैं पोस्ट के निचले भाग में config डाल ... यह सही config rails_env development; साथ काम करता है, लेकिन मैं उत्पादन मोड ;-)

आप आपकी मदद के लिए बहुत बहुत धन्यवाद उपयोग करना चाहते हैं!


संस्करण: उबंटू 8.04.2 64 बिट/ nginx-0.7.64 (संकलित और यात्री-2.2.11 के माध्यम से स्थापित)

बिल्ली /opt/nginx/conf/nginx.conf

user www-data; 
worker_processes 4; 

error_log logs/error.log; 

#pid  logs/nginx.pid; 


events { 
    worker_connections 1024; 
} 


http { 
     passenger_root /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11; 
     passenger_ruby /usr/bin/ruby1.8; 


    passenger_log_level 3; 
    include  mime.types; 
    default_type application/octet-stream; 

    #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 
    #     '$status $body_bytes_sent "$http_referer" ' 
    #     '"$http_user_agent" "$http_x_forwarded_for"'; 

    access_log logs/access.log; 

    sendfile  on; 
    #tcp_nopush  on; 

    #keepalive_timeout 0; 
    keepalive_timeout 65; 

    #gzip on; 

    server { 
     listen  80; 
     server_name <<servername>>; 


root /srv/app01/public; 
passenger_enabled on; 
} 
+0

ओह, मैं भूल गया, रेल संस्करण 2.3 है।5 –

+0

मुझे यात्री नहीं पता, लेकिन मुझे nginx पता है ... क्या आपके पास 'सर्वर' के तहत 'स्थान' अनुभाग नहीं होना चाहिए? –

+0

और आप सर्वर पर एक बंद '} 'खो रहे हैं या http –

उत्तर

3

डिफ़ॉल्ट रूप से Nginx के साथ यात्री उत्पादन मोड में चलता है। पैसेंजर मॉड्यूल के साथ संकलित nginx स्थापित करने के लिए passenger-install-nginx-module कमांड का उपयोग करें। क्या आप सुनिश्चित हैं कि आपने उत्पादन मोड के लिए डेटाबेस बनाया और माइग्रेट किया है?

rake db:create RAILS_ENV=production 
rake db:migrate RAILS_ENV=production 

आपका nginx.conf मुझे सही दिखता है। सुनिश्चित करें कि nginx उपयोगकर्ता (E.g www-data) आपके रेल ऐप तक पहुंच है।

गुड लक

+0

हाय, आपके उत्तर के लिए धन्यवाद ... डेटाबेस ठीक से सेटअप है और फ़ाइल अनुमतियां सही होनी चाहिए, क्योंकि nginx + यात्री विकास मोड में काम करता है ... क्या आपके पास कोई संकेत है जहां मुझे डीबग/लॉग संदेश मिल सकते हैं? –

0

मैं रेल पर nginx पीछे यात्री 2.3.5 चलाने के लिए, और मैं बहुत ही समस्या थी। मेरा समाधान हमेशा यात्री/nginx में विकास मोड पर स्विच करना है या वेबबैक में उत्पादन मोड डीबग करने के लिए है, लेकिन ऐसा लगता है जैसे आपने दोनों की कोशिश की है।

क्या आपने अपने nginx.conf में error_log logs/error.log; लाइन को असम्बद्ध करने का प्रयास किया था?

+0

हाय, आपके उत्तर के लिए धन्यवाद ... क्या शर्म की बात है, विकास मोड हमारे लिए बहुत धीमा है, हम कैशिंग और सभी सामान चाहते हैं ... मैंने ऊपर पोस्ट में देखे गए लाइन को असम्बद्ध कर दिया है। शायद हमें यह जांचना होगा कि कुछ सुविधाओं को अक्षम करके और पुनः प्रयास करके समस्या (कैशिंग या जो कुछ भी) है ... –

+0

मैं स्थायी रूप से विकास में चलने की अनुशंसा नहीं करता, केवल अस्थायी रूप से त्रुटि का कारण ढूंढने के लिए। वैसे भी, जहां तक ​​मैं कह सकता हूं, यह एक यात्री बग है। निराशा होती। – Tom

2

सिर्फ

यात्री रैक से स्विच करेंगे रेल के लिए अपने app निर्देशिका से config.ru को हटा दें और सब कुछ

+0

जो मेरे लिए काम किया। बहुत बहुत धन्यवाद! – cbrulak

0

काम करेंगे यह रेल में एक बग है। असफलता मिडलवेयर लॉग फ़ाइलों में त्रुटि संदेश को सही ढंग से फ़्लश नहीं करता है। मैंने कुछ महीने पहले इस मुद्दे की सूचना दी और तय की लेकिन उन्होंने इसे अभी तक जारी नहीं किया है: https://rails.lighthouseapp.com/projects/8994/tickets/3577-failsafe-middleware-should-flush-the-logger पैच को स्वयं लागू करें और आपको लॉग में त्रुटि संदेश देखने में सक्षम होना चाहिए।

संबंधित मुद्दे