mongrel_cluster 切换日志文件报错

2019-03-25 13:47|来源: 网路

我部署了一个rails应用,使用nginx+mongrel_cluster,开了8个mongrel进程,端口从9000-9007,设置production.log是每天切换一次。
但上线后就发现一个问题,每天00:00一过,网站就down了,通过检查mongrel的日志文件发现其中有7个进程的日志中都有以下的错误:


Error during failsafe response: shifting failed. '/home/rails/apps/app1/log/production.log.20081209' already exists.

看起来是因为其中一个进程已经切换了日志文件,导致其他进程无法再次切换。请问这个问题如何解决。


问题补充
对了,忘了说一下,我设置日志切换的方式是在
environment.rb中加入

RAILS_DEFAULT_LOGGER = Logger.new("#{RAILS_ROOT}/log/#{RAILS_ENV}.log","daily")

相关问答

更多
  • 这个是在mysql的配置文件中设置的~~~设定开启二进制日志~~~
  • Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。下面介绍一下如何在一台服务器上配置Nginx+Mongrelcluster。 获得Nginx,这里我们假设大家是通过自己编译,并配置了默认的编译的参数,此处使用的是Nginx0.5.x版。 配置Mongrelcluster 我们还需要获得Mongrel和其Cluster插件(用来方便得启动多个Mongrel进程),如下通过gem进行安装: ...
  • 1.背景 MySQL的cluster方案有很多官方和第三方的选择,选择多就是一种烦恼,因此,我们考虑MySQL数据库满足下三点需求,考察市面上可行的解决方案: 高可用性:主服务器故障后可自动切换到后备服务器可伸缩性:可方便通过脚本增加DB服务器负载均衡:支持手动把某公司的数据请求切换到另外的服务器,可配置哪些公司的数据服务访问哪个服务器 需要选用一种方案满足以上需求。在MySQL官方网站上参考了几种解决方案的优缺点: 综合考虑,决定采用MySQL Fabric和MySQL Cluster方案,以及另外一种较 ...
  • 问题是你在RVM中安装了比你的系统ruby更新版本的“gem”。 降级你的宝石,它应该工作: gem update --system 1.4.1 The problem is that you have a newer version of "gem" installed inside of RVM than you do in your system ruby. Downgrade your gem and it should work: gem update --system 1.4.1
  • 那么, Nginx的配置非常简单,我相信Phusion Passenger有一个安装选项可以为你下载Nginx。 如果您需要使用彗星,还有一个http推模块正在开发中。 内存方面,Nginx的外置存储器占用空间小于Apache。 您可能还想安装Ruby Enterprise Edition以进一步减少应用程序的内存占用量。 Well, Nginx is really simple to configure and I believe that Phusion Passenger comes with an ...
  • 由于您使用的是Passenger,我认为您处于apache状态,因此您的请求不再通过Mongrel。 如果是这样,您可以在应用程序的public目录中的.htaccess文件上建立规则。 这是对如何做到这一点的探索。 Since you're using Passenger, I assume you're under apache, so your request isn't going through Mongrel anymore. If so, you can establish rules on ...
  • 我的记忆是Rails没有配置为寻找杂种(即使它已经安装)。 你可以直接运行mongrel。 但你可能会考虑转向瘦身。 工作得很好,并自动识别Rails。 http://rubygems.org/gems/thin My memory is that Rails isn't configured to look for mongrel (even if it's installed). You can run mongrel directly though. But you might consider sw ...
  • 这个问题比我想象的要简单得多。 会话计时器设置为900秒,有时编写者花费的时间比编辑同一页面内的文本的时间长,而网站上没有任何其他导航。 由于超时而导致会话无效,然后在最终提交表单时,重置了真实性令牌的会话部分,因此引发了InvalidAuthenticityToken错误。 The problem was really simpler than I ever expected it to be. The session timer was set to 900 seconds and sometimes ...
  • 我见过浏览器在过去做了一些相当奇怪的缓存......这可能看起来很明显,但是你刷新了浏览器缓存吗? 作为替代方案,您可以尝试使用cURL或Wget获取页面,并查看它是否包含您的更改。 I've seen browsers do some fairly weird caching in the past ... this probably seems obvious, but have you flushed your browser cache? As an alternative you could tr ...
  • 我想到了。 由于我不知道的原因,我需要为RailsApp2设置ServerAlias,并添加“www。”。 在ServerName前面。 所以railsapp2.com vhost文件的顶部现在看起来像这样: ServerName www.railsapp2.com ServerAlias railsapp2.com ... 出于某种原因,RailsApp1不要求这些更改正常运行。 I figured it out. For reasons unknown ...