对不起,这个问题听起来很基本 但我无法在网络上的任何地方找到答案......
我目前正在Ubuntu服务器上运行我的Rails应用程序。 到目前为止,我总是关闭生产应用程序,然后再进行更改,运行rake assets:clean assets:precompile
,并且只在进程完成后再次启动Rails应用程序。
我不确定是否需要关闭应用程序(即如果我不这样做,我的应用程序将表现不正常)。 它会导致大约5分钟的停机时间。
如果这是必须的,那么也许我应该尝试进行本地预编译/更高级的部署程序,以减少停机时间? (根据http://guides.rubyonrails.org/asset_pipeline.html#local-precompilation尝试本地编译,但是在删除原始public/assets
并从repo中提取本地预编译的public/assets
后,生产服务器正在进行机架超时所有的时间都不会呈现任何东西。)
是的,您运行rake assets:precompile
Rails查看您的assets
文件夹,并将非Javascript或CSS的所有内容复制到public/assets
。 然后通过读取app\\assets\\javascripts\\application.js
和application.css
来创建application.js
,通过读取app\\assets\\stylesheets\\application.css
,加载它在那里找到的所有“require”文件。 所以是的 ..你可以这样做 .. 但如果你运行rake assets:clean
..然后预编译......那么public/assets
将用新的编译资产更新。
别忘了重启服务器 :)