我正在使用大量资产的Rails应用程序,这可悲的是不能减少.在生产中这不是问题,但在开发中,每个访问页面的〜20个资源请求无法由应用程序服务器(如webrick或Thin)快速提供.
所以我开始在开发中使用Nginx来为公共/资产提供任何东西.请注意,Nginx纯粹是一个开发工具 – 我们不打算在生产中使用它.
为了工作,我只需要做两件事情:
>将config.assets.debug设置为false
>运行rake资产:预编译
可悲的是,我的设置有两个问题(后者是最重要的)
>每个资产变更都需要手动运行耙子资产:再次预编译
>为了让应用服务器接收新编译的资源,我必须重新启动它.
什么是正确的Nginx /资产管道设置,在预编译后不需要重新启动Rails服务器?
也欢迎自动编译.
解决方法
这个设置对我有用:
>在config.asset_host中包含Nginx端口> config.assets.debug = false> config.assets.digest = true> config.assets.compile = true>在启动Rails服务器之前,运行rm -rf public / assets; rake tmp:clear tmp:cache:清除资产:清理资产:预编译>启动Rails服务器>在每项资产变化中,运行rake资产:再次预编译.守卫可以照顾这个.