精华帖 (0) :: 良好帖 (5) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-04
最后修改:2008-12-04
用Apache2.2,Mongrel1.1.5,Ruby 1.8.6,Rails2.2.2搞了个应用,访问量极少,每天才4000个请求 但第二天访问应用,浏览器总是出示一片空白,查Apache的access.log,请求是有的,而且还返回200;error.log没异常信息;rails的log一片空白,明显转不到rails这层。 重启mongrel服务,一切就好了。 真的晕死了,原样转到CentOS下,用lighttpd+fastcgi,一点问题都没有 但我们这种保守企业,正式生产环境要求必须Windows,没别的选择了 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-12-04
写个简单的ruby脚本,每隔几分钟跑一次,直接请求mongrel,如果mongrel超时或者返回信息不正常,立刻重起mongrel。这就叫做Site Status Health Check。
|
|
返回顶楼 | |
发表时间:2008-12-04
windows上装vmware,vmware上装centos,即便这样也比直接跑在Windows上好的多.
|
|
返回顶楼 | |
发表时间:2008-12-04
既然这么保守就不应该选择ruby on rails
|
|
返回顶楼 | |
发表时间:2008-12-04
谢谢Robbin的指导,看来只能这样了,但为什么会出现这种情况呢?难道就简单解释为“rails不适合在windows上跑?”
我也考虑过vmware啊,但咱们还没有正版,呵呵,我主要是想尝个鲜,反正对于小应用,咱们企业对用什么语言开发没多少限制,只要没版权问题就好。 |
|
返回顶楼 | |
发表时间:2008-12-04
nhyjq 写道 谢谢Robbin的指导,看来只能这样了,但为什么会出现这种情况呢?难道就简单解释为“rails不适合在windows上跑?”
我也考虑过vmware啊,但咱们还没有正版,呵呵,我主要是想尝个鲜,反正对于小应用,咱们企业对用什么语言开发没多少限制,只要没版权问题就好。 不知道,因为我没有在Windows上面运行过Mongrel。 |
|
返回顶楼 | |
发表时间:2008-12-04
vmware server不要钱,vmware esxi也不要钱,vmware esxi真是好东西啊
|
|
返回顶楼 | |
发表时间:2008-12-04
我也碰到过类似的问题,当时还以为是Rails返回的网页编码问题,最后仔细研究mongrel的日志,发现是Rails日志rotatelog的BUG!
如果同一个Rails APP目录下运行多个Rails进程,到晚上零点切换日志的时候Rails进程就会因为同时rename同一个log文件出错死掉,而且Rails日志中不会记录任何错误。 把enviroment.rb里面的RAILS_DEFAULT_LOGGER = Logger.new("#{RAILS_ROOT}/log/#{RAILS_ENV}#{Date.today.to_s}.log", "daily") 去掉就不再出现空白页面了 不知道你那边是不是一样的情况,仅供参考! |
|
返回顶楼 | |
发表时间:2008-12-04
我们在linux上用fastcgi跑Rails也遇到blank page的问题,ops发现问题是每天切换日志文件写日志引起的,到第二天时,多个进程都试图关闭log file再重新打开一个,第二个关闭打开的进程运行出错,每个进程使用单独的日志文件或不每天切换或用syslog都可以避开这个问题
|
|
返回顶楼 | |
发表时间:2008-12-04
原来如此阿,我是自己写了一个log.sh shell脚本来切换日志,呵呵,看来还是我的办法高级,不但可以切换日志,还可以分析日志做很多report的工作。
|
|
返回顶楼 | |