对于这个魔幻的语言,调试花了我不少力气。
这个bug
只 在windows控制台下才出现,在linux下没问题。
一个好好的登陆post,成功后本应跳转的,控制台也打出302和跳转地址,可浏览器不跳转,报错。
用http sniffer工具看了一下,只有post没有回应数据。
一点点的查源码,发现mongrel拦了个异常,确没有打印一下,害人不浅啊。
最后查出是LogTailer类的tail!方法出现问题,print时有异常抛出,但被mongrel给接了,导致这个连接就这样结束了。
hack一下lib/hack_log_tailer.rb
module Rails
module Rack
class LogTailer
def tail!
@file.seek @cursor
if !@file.eof?
contents = @file.read
@cursor = @file.tell
$stdout.print contents rescue nil
end
end
end
end
end
问题解决,
主要问题出在utf8字串上,windows console为gbk,强制打出来,可能出现异常,再底层的有兴趣的可以再跟进去看看。
分享到:
相关推荐
Mongrel2是一个基于ZeroMQ的Web服务器,语言独立,可以用17种语言编写应用,还有更多非常奇特的地方:What makes Mongrel2 special is how it satisfies these requests in a language agnostic andasynchronous way...
Mongrel 是一个 Eclipse 插件,用来在 Eclipse 环境中开发和运行基于 Tomcat 的Web应用。可方便进行配置、调试 Tomcat 会话,基于 Sysdeo Tomcat 插件开发。 安装方法:下载后将压缩包解压到 Eclipse 的 plugins ...
Mongrel是一种快速的针对Ruby的Http 服务器,专门为部署发布rails应用而产生的。 可以替代mod_ruby/fastcgi,可以用于生产部属环境。
$DAEMON cluster --port $PORT --log /var/log/redmine_mongrel.log --pidfile $PIDFILE start ;; stop) echo "Stopping Redmine with Mongrel..." kill `cat $PIDFILE` ;; restart) echo "Restarting ...
2. **Ruby编写**: 作为纯Ruby实现的服务器,Mongrel与Rails框架集成紧密,减少了中间层带来的额外复杂性。 3. **轻量级**: Mongrel体积小巧,启动快速,适合开发和测试环境。 ** 安装Mongrel ** 在Rails项目中安装...
m2php - 在 PHP 中开发 Mongrel2 处理程序的库Mongrel2: ://mongrel2.org Mongrel2 Python 库: ://sheddingbikes.com/posts/1279007133.html要求ZeroMQ 2.0.7 或更高版本: ://... 只需为您的项目创建一个 composer....
Mongrel2:与语言无关的Web服务器Mongrel2是与应用程序,语言和网络体系结构无关的Web服务器,其重点是使用现代浏览器技术的Web应用程序。特征语言不可知论者,带有一个简单的后端协议,支持Mongrel2粉丝编写的17种...
相信安装Redmine时会用到它们 win32-service-0.5.2.gem gem_plugin-0.2.3.gem mongrel_service-0.3.4-i386-mswin32.gem
MongoDB 是一个高性能、开源、无模式的分布式文档数据库,属于NoSQL数据库家族,它以其灵活性、可伸缩性和高可用性在现代Web应用程序中得到了广泛应用。MongoDB的设计理念是面向文档,允许存储结构化的JSON格式数据...
在构建高性能、高可用性的Web应用环境中,"基于Ubuntu Nginx Mongrel Mysql部署rails monit-5.0"的方案是一个常见的选择。这个方案结合了多种强大的工具和技术,以确保应用程序的稳定运行和高效管理。以下是这些关键...
**nim-mongrel2:Mongrel2 Web服务器的处理程序框架** nim-mongrel2是用Nim语言实现的Mongrel2 Web服务器的处理程序框架。Mongrel2是一款高性能、轻量级且设计独特的Web服务器,由Zed A. Shaw创建,它将HTTP协议...
2. **启动Mongrel**:在Rails应用目录下,使用`mongrel_rails cluster::start`命令启动Mongrel集群,每个实例对应一个进程。 3. **配置Nginx**:编辑Nginx的配置文件(通常为`/etc/nginx/nginx.conf`或`nginx/sites...
mongrel-1.1.4-x86-mswin32-60.gem 的gem包
pid_file: tmp/pids/mongrel.pids servers: 2 ``` 启动、重启或停止Mongrel Cluster,使用以下命令: ```bash mongrel_rails cluster::start mongrel_rails cluster::restart mongrel_rails cluster::stop ``` ...
cur, 功能强大的元编程功能 具有 static 依赖类型和动态类型。类型注释和括号。定理证明和元编程的语言。Nouncur (plural curs)1. (archaic) A mongrel.2. (archaic) A det
帮助您开发 Mongrel2 处理程序。 它还带有 ASP.NET Web 服务器的粗略端口,用于使用 m2net 而不是套接字。 金块 该库在上。 依赖关系 .NET 框架 4.0 执照 m2net 在 3 条款下获得。 m2net.asp 是根据获得,因为它源自...
我认为处理程序是长时间运行的应用程序,它发布对使用几个ØMQ套接字从 Mongrel2 服务器拉出的请求的响应。 我写Seraph是因为我想强调的是,在 Mikko Koppanen 的“php-zmq”PHP 扩展的帮助下,PHP 不再受 Apache ...
### 关于Rails、Apache与Mongrel的知识点 #### Rails with Apache and Mongrel 本文档主要介绍了如何在Windows环境下配置Apache作为静态内容服务器,并利用Mongrel来部署多个Rails应用程序。这种配置允许开发者在一...
描述中提到这是原生安装文件,无病毒无木马,适合那些需要手动安装uWSGI的用户。 uwsgi_main.c是uWSGI的核心源代码文件,其中包含了uWSGI服务器的主要功能和逻辑。这个文件对于开发者来说至关重要,因为通过阅读和...
总的来说,emongrel2是Erlang对Mongrel2的实现,它结合了Erlang的并发优势和Mongrel2的设计理念,旨在构建一个高性能、可扩展、安全的Web服务器。对于熟悉Erlang和想要在高并发场景下部署Web服务的开发者来说,这是...