2014-10-06 98 views
0

在beeing终于满意我的开发机器上的结果后,我决定使用capistrano在我的VPS上部署我的Rails 4应用程序。因为我选择了NGINX和Unicorn。现在我注意到我需要更改一些内容才能使所有工作都能在生产环境中进行,但不知何故,我无法更新视图。视图将不会更新生产

什么我已经做的是:

  1. 通过设置config.action_controller.perform_caching假
  2. 手动检查的文件清除浏览器缓存
  3. 禁用缓存配置/ production.rb远程服务器使用ssh
  4. 重新启动我的服务器堆栈

其实我的本地文件AR e与生产服务器上的同步,但是在浏览器中没有看到任何更改。我还可以做些什么?有什么我错过了吗?我赞赏 任何帮助。

+0

请问如何重新启动你的堆栈?你确定独角兽已经重新启动了吗? – number5 2014-10-06 22:43:54

+0

我正在运行一个实际执行以下命令的脚本:bundle exec unicorn -c config/unicorn.rb -E production。我只是手动测试它,它似乎工作正常。然后我开始使用NGINX:sudo service nginx restart。 – 2014-10-06 22:57:26

回答

1

1.验证,如果你没有剩余缓存tmp文件,

What i already did is: 
    Disabling the cache in config/production.rb by setting config.action_controller.perform_caching to false 

我认为,这意味着高速缓存被启用之前,因此一些缓存文件可能已被先前创建和现在由服务NGINX没有通过导轨,你没有提到你手动清除缓存

你可以看看你的“公共”文件夹,看看是否有缓存文件并手动删除它们,但一定要知道你是什么做和不要删除可能由您的应用程序的另一部分使用的文件上。或者你可以尝试通过控制台清除在生产服务器缓存

# from the root directory of your application, open your rails console 
$ RAILS_ENV=production rails c 
# Then in the console, type 
> Rails.cache.clear 

2.确认,如果没有代理缓存

这可能是你的页面是由外部组件缓存,这样作为代理。您应该从本地控制台检查服务器的输出。登录到您的服务器控制台并运行curl以从本地主机获取页面的输出(不要使用服务器的外部IP),然后查看源代码以查看输出是否已更新。这将缩小一点问题的根源进一步调查

+0

感谢您的回复。这在某种程度上很奇怪,但我无法在公共文件夹中看到任何缓存文件,并且当我运行您的建议命令时,我收到一条错误消息,告诉我在tmp中没有缓存文件夹。 – 2014-10-07 15:40:08

+0

编辑我的答案给你另一个想法 – Benj 2014-10-08 01:24:51