我使用Ruby on Rails
和ubuntu
在passenger
部署了nginx
个应用,但是找不到我的css
和js
个文件应用
以下是错误消息:
open() "/var/nginx/blog/public/stylesheets/application.css" failed (2: No such file or directory)
事实上,/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
。
如何配置获取这些文件?
答案 0 :(得分:3)
也许您应该将资源放在public/
文件夹中。你尝试预编译资产吗?
rake assets:precompile
答案 1 :(得分:2)
您应该在部署的远程服务器上运行RAILS_ENV=production bundle exec rake assets:precompile
。
assets:precompile
rake任务压缩和最小化您的资产,以实现快速可靠的高负载生产使用。不需要在开发环境中运行此任务。
如果您可以展示您的部署脚本会更好。但是像capistrano这样的大多数部署解决方案都是自动完成的。