2011-08-28 8 views
5

का उपयोग करके मैंने रेल उत्पादन 3.1.0rc6, पतला और Nginx चलाने वाला एक उत्पादन वातावरण स्थापित किया है।config.action_dispatch.x_sendfile_header को अनदेखा करते हुए रेल? पतला + Nginx

किसी कारण से config/environments/production.rb में सेट किया गया है, रेलों ने इसे पूरी तरह से अनदेखा कर दिया है; संपत्ति सेवा कर रहे हैं नहीं किया जा रहा है, और एक फ़ाइल के लिए प्रतिक्रिया हेडर इस प्रकार है:

Server: nginx/1.0.5 
Date: Sun, 28 Aug 2011 00:26:08 GMT 
Content-Type: image/png 
Content-Length: 0 
Cache-Control: no-cache 
Last-Modified: Sat, 27 Aug 2011 23:47:35 GMT 
Etag: "af4810c52cb323d9ed061d1db5b4f296" 
X-UA-Compatible: IE=Edge,chrome=1 
X-Sendfile: /var/www/***/app/assets/images/bg-linen-light.png 
X-Runtime: 0.004595 
X-Content-Digest: da39a3ee5e6b4b0d3255bfef95601890afd80709 
Age: 0 
X-Rack-Cache: stale, valid, store 

200 OK 

तो यह रेल अभी भी हैडर स्थापित कर रही है लगता है। मैंने sendfile_header लाइन को config/application.rb पर जोड़ने का प्रयास किया है, लेकिन मुझे लगता है कि इसे ओवरराइड किया जा रहा है या अनदेखा किया जा रहा है। पतला के लिए

मेरे YML फ़ाइल:

--- 
chdir: /var/www/*** 
environment: production 
address: 0.0.0.0 
port: 3000 
timeout: 30 
log: log/thin.log 
pid: tmp/pids/thin.pid 
max_conns: 1024 
max_persistent_conns: 512 
require: [] 

wait: 30 
servers: 1 
daemonize: true 

Nginx vhost:

upstream *** { 
    server 127.0.0.1:3000; 
} 

server { 
    listen 80; 
    server_name ***; 
    root /var/www/***/public; 
    index index.html; 

    location/{ 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $http_host; 
     proxy_redirect off; 

     if (-f $request_filename/index.html) { 
      rewrite (.*) $1/index.html break; 
     } 

     if (-f $request_filename.html) { 
      rewrite (.*) $1.html break; 
     } 

     if (!-f $request_filename) { 
      proxy_pass http://***; 
      break; 
     } 
    } 
} 

मैं पहले से ही /etc/init.d/thin stop की कोशिश की है तो इसे फिर से, कई बार शुरू करने कोई लाभ नहीं हुआ।

उत्तर

3

मैं production.log में यह भर में आया था:

Started GET "/assets/bg-linen-light.png" for ***** at 2011-08-28 11:04:42 +0400 
Served asset /bg-linen-light.png - 304 Not Modified (102ms) 

समस्या यह है कि ब्राउज़र है कि फाइल का अनुरोध किया था इससे पहले किx_sendfile_header यह क्या होना चाहिए में बदल गया था, तो यह लगता है कि रेल (और/या ब्राउज़र) परिवर्तनीय बदलने के बाद बिल्कुल कुछ भी नहीं करता है।

इस मुद्दे को rails console पर जाकर और Rails.cache.clear टाइप करके हल किया गया था। उस समस्या को हल करने के बाद एक कठिन ताज़ा करें!

Started GET "/assets/bg-linen-light.png" for ***** at 2011-08-28 11:06:06 +0400 
Served asset /bg-linen-light.png - 200 OK (4ms) 
संबंधित मुद्दे