0

我最近在新的雲生產環境中首次實施了Capistrano。當我運行cap deploy時,一切似乎都正常。我可以在瀏覽器中訪問我的實時應用程序,但我的靜態文件似乎加載非常緩慢(如5.0-12.0s)。緩慢的資產管道/靜態文件

查看爲清晰度回答config.assets.compile

回答

1

靜態文件加載速度很慢,因爲它們可能不是靜態的,而是由鏈輪提供服務。

檢查production.rb並查看config.assets.compile = true或未設置。這意味着Sprockets正在完成這項工作。您還會看到正在使用的遠期標題。

看一看/home/my_user/my_app/current/public看看assets是否存在;我懷疑它沒有。

那意味着mkdir -p不起作用。最可能的原因是部署用戶沒有足夠的權限來創建目錄。

修復此問題,並檢查(如果這是從3.0或之前版本升級的應用程序),則您的配置設置與管道指南的last section中的配置匹配。

+0

謝謝。我發現我錯誤地理解了'#不要回退到資產管道,如果預編譯的資產錯過了'。如果'config.assets.compile = true',那麼即使它們被預編譯,它也會在運行時編譯它們。 – 2012-01-18 21:57:30

+0

關於'cap deploy',資產正在成功編譯。如果我手動刪除資產文件夾,然後再次「cap deploy」,它們就會重新出現。如果我(作爲同一用戶)ssh並運行mkdir -p/...命令,沒有權限問題。這是我在deploy.rb中錯過的東西嗎? – 2012-01-18 21:59:16

+0

如果compile爲true,則Sprockets處理資產請求(如果它們不存在於「public/assets」中(默認值爲false)。如果它是假的,那麼你的應用程序將返回404缺失的資產。你是否使用標準的部署腳本(通過在你的Capfile中包含'load'deploy/assets'')? – 2012-01-18 21:59:50