0

我在生產服務器(nginx + passenger 3)上遇到rails(3.2.6)應用程序的問題。經過頁面重新加載後Rails無法找到資產

rake assets:precompile 

一個靜態頁面就像一個魅力,但幾分鐘後,我收到找不到錯誤的現有圖像的資產。如果我再次重新編譯資產,它可以正常工作,但是幾分鐘後,rails再次提出文件未找到的錯誤。

在這裏你可以看到production.rb和Gemfile中:https://gist.github.com/3937589

回答

0
  • 有什麼辦法,你的代碼是做/公用文件夾的任何操作?
  • 您是否驗證過相關資產確實位於/ public文件夾中?
  • 工作中是否有cron作業或其他進程可能會干擾您的文件系統?

什麼資產:預編譯所做的只是通過您的應用程序/資產進行工作,並將其複製到/public/assets

這樣做通常有3種優勢:未壓縮的原始文件,從助手(asset_path)和gzip文件引用時使用的原始文件+散列。

您可以直接進入您的生產服務器並查看/public/assets以驗證是否缺少任何東西。如果該文件在那裏,用戶仍然有錯誤,我會看看我的nginx配置。

+0

謝謝,我已經重新配置nginx來通過位置聲明提供靜態資產,現在它正在工作。 – Steffen

+0

很高興我能幫上忙。順便說一句歡迎來到SO。 習慣上給予滿意的答案,您發現有幫助的答案,如果答案確實解決或幫助解決問題,則應將其標記爲已接受。 – Tigraine

+0

我知道,但問題在一小時前再次出現,所以答案很有幫助,但不是解決方案。它似乎足以重新啓動乘客,軌道再次識別圖像。 – Steffen