2011-11-14 11 views
8

मेरे पास रेल 3.1, यूनिकॉर्न और अपाचे सेटअप है। मेरी अपाचे सेटिंग्स नीचे हैं और production.rb this जैसा दिखता है। मुझे h264 स्ट्रीमिंग का उपयोग करना पसंद है, लेकिन चूंकि रेल इन वीडियो फ़ाइलों की सेवा कर रहा है, अपाचे मोड काम नहीं करेगा।रेल 3.1, यूनिकॉर्न और अपाचे: स्थैतिक फ़ाइलें

DocumentRoot /blabla/current/public 

RewriteEngine On 
Options FollowSymLinks 

<Proxy balancer://unicornservers> 
    BalancerMember http://127.0.0.1:4000 
</Proxy> 

# Redirect all non-static requests to rails 
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f 
RewriteRule ^/(.*)$ balancer://unicornservers%{REQUEST_URI} [P,QSA,L] 

ProxyPass/balancer://unicornservers/ 
ProxyPassReverse/balancer://unicornservers/ 
ProxyPreserveHost on 

<Proxy *> 
Order deny,allow 
Allow from all 
</Proxy> 

XSendFile On 
XSendFileAllowAbove on 

मुझे serv_static_assets को सक्षम करना है या मैं कोई स्थिर सामग्री डाउनलोड नहीं कर सकता। मेरे पास भी प्रीकंपील्ड संपत्तियां हैं लेकिन इससे कोई फर्क नहीं पड़ता क्योंकि सार्वजनिक निर्देशिका से कोई फ़ाइल उपलब्ध नहीं है जब तक कि रेल (रैक मुझे लगता है) सेवा नहीं कर रहा है।

क्या मुझे config.action_controller.asset_host का उपयोग करना चाहिए या मेरे अपाचे कॉन्फ़िगरेशन में कुछ गड़बड़ है।

उत्तर

19

इस समस्या के लिए मेरे पास post है (हाँ यह भी मेरे साथ हुआ), उम्मीद है कि इससे मदद मिलेगी। क्योंकि यह ओवरराइड अपनी Rewrite Rule

यहाँ मेरी अपाचे सर्वर config है

प्रमुख मुद्दा, ProxyPass/balancer://unicornservers/ पैटर्न दूर करने के लिए है।

<VirtualHost *:80> 

    ServerName example.org 
    DocumentRoot /dir/of/your/project 

    RewriteEngine On 

    # Redirect all non-static requests to unicorn 
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f 
    RewriteRule ^/(.*)$ balancer://unicornservers%{REQUEST_URI} [P,QSA,L] 

    <Proxy balancer://unicornservers> 
    BalancerMember http://127.0.0.1:2007 
    </Proxy> 

</VirtualHost> 
+0

यह काम किया, धन्यवाद! बीटीडब्ल्यू। आपका आलेख लिंक लोकहोस्ट को इंगित करता है। – jiriki

+0

मैंने लिंक तय किया, धन्यवाद! – Manic

+1

सही, पूर्ण समझ में आता है, रेल के लिए मैंने पाया है कि सभी गाइड 3 + apache + यूनिकॉन/पतली इस समस्या है – Rob

0

बस अपने production.rb कोड से:

# Specifies the header that your server uses for sending files 
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache 
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx 

कोशिश 'एक्स Sendfile' शीर्षक के साथ एक लाइन uncomment, अपने यूनिकॉर्न के पूल को पुनः आरंभ और फिर से कोशिश।

+0

धन्यवाद लेकिन इससे मदद नहीं मिली। – jiriki

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