[英]Ruby on rails application cannot find a JavaScript runtime in production environment(deploy with passenger and nginx)?
[英]Ruby on Rails application can not find stylesheets and javascript in production environment?
我在ubuntu
使用passenger
和nginx
部署了Ruby on Rails
應用程序,但是在我的應用程序中找不到css
和js
文件。
這是錯誤消息:
open() "/var/nginx/blog/public/stylesheets/application.css" failed (2: No such file or directory)
實際上, /var/nginx/blog/app/assets/javascripts/
/var/nginx/blog/public/stylesheets/application.css
實際上不存在,我的js
文件在/var/nginx/blog/app/assets/javascripts/
,我的css
文件在/var/nginx/blog/app/assets/stylesheets
在我的nginx.conf
,我這樣寫:
location ~ ^/(assets|images|javascripts|stylesheets|system)/ {
expires max;
add_header Cache-Control public;
}
好像這里是錯的地方! 但是我對此發表評論,它仍然找不到js
和css
。 如何配置以獲取這些文件?
也許您應該將資產放在public/
文件夾中。 您是否嘗試預編譯資產?
rake assets:precompile
您應該在要部署的遠程服務器上運行RAILS_ENV=production bundle exec rake assets:precompile
。
assets:precompile
rake任務,壓縮並最小化您的資產,以快速可靠地進行高負荷生產。 無需在您的開發環境上運行此任務。
如果可以顯示您的部署腳本,那就更好了。 但是大多數部署解決方案(如capistrano)會自動執行此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.