我有罪,这么严重的问题居然没有发现.也难怪,这么长时间居然一条新留言也没有,的确是有点可疑.
直到今天中午,郑泽宇同学在QQ上和我说起了这件事情,我才去亲测了一下,返回了大大的405……
震精了!!
我上周末的时候用hiawatha 替换掉了cherokee,用 varnish cache 替换了 squid cache.应该是出在这两个上面了。
首先检查hiawatha ,基本可以排除.
目标锁定varnish,报错 405 Method not allow,应该是请求转发后置服务器时候出现method 丢失了.查了半天没找到原因.
真是奇怪阿。
后来又怀疑是验证码的问题(上次有个叫 “Clickcha” 的插件不就是吗?远程调用了某api),赶紧把WP-ImgCode mod停了,鬼知道它用了非主流方法呢.
测试一下,问题依然. 囧rz
每次都死在wp-comments-post.php上,忽然想去看看该文件源码。在wordpress svn 里面找到了它,一打开,没看两行,杯具了。
该文件的第一行(除注释)就是过滤非法提交方法的函数,只允许post请求.
看来应该是varnish 向 hiawatha 转发时候出现了问题,用 pass 替换 lookup (具体参见:http://www.varnish-cache.org/docs/2.1/tutorial/vcl.html).
问题解决.
有了自己的VPS,在选择软件上有了很大的自主权。自己喜欢什么就用什么,只要高兴就好。
对于web server 的选择,其实有很多个,都是很优秀的,有时候会让人左右为难。
我也是这样。
当初刚到手VPS的时候,第一时间卸掉了自带的apache 1.x 吧(记不清了~)。
原因很简单,我不喜欢用老的版本,因为:
1.有很多已知的 bug 和 CVE。
2.老版本性能上肯定是不如较新版本的
3.就是个人原因,比较喜欢追求新版本(据说这也是一种病),版本控~
所以,我卸载的毅然决然。
其实我一直是apache httpd 的追随者,不可否认的是apache 的 httpd 在全世界的使用率也是最高的。
具体的数据是多少,我一时也说不清楚。
可惜的很,当我拿到VPS的时候,apache httpd 2.3.5 alpha 发布有段时间了。
其实,这是我最想安装的版本。
不过很遗憾的是,该版本不支持,或者说是没有得到 php 5.3.x 分支的支持。
我当时测试的是 php的5.3.2版本.毛病体现在apache httpd 不能正常载入生成的 libphp5.so.
后来被确认是php 开发组没有及时的跟进.这也是为什么以 alpha 形式发布的原因.(具体可以参见Maillist)
我测试了一下apache httpd 2.2.15 是可以正常工作的.
既然用不了新的版本,那就等一等.
先换个别的暂时顶替一下.web server 种类很多.
大概看了一下,国内用的比较多的是 号称快过apache httpd 10倍速的nginx 和 相对来讲低调的多的 lighttpd.
nginx 我以前用过一段时间,当时是为了搭建个web 共享平台,纯粹是directory index 了.
而 lighttpd 我是久仰大名,比如 著名的开源播放器 videolan的 ftp 就是用它搭的。
我之前的也小用过一段时间.
不过,我都不是很喜欢.换句话说,用过一次就不打算再用了.
原因很简单,它们的配置文件让我感觉很奇怪。
或者说是,配置文件的格式让我很蛋疼.
你见过 "port" => 80 这样的配置吗?真的是很别扭.
像nginx 里面居然还出现了 {} 这样的区块!貌似还有嵌套……
我想问一句,这是程序源码吗?要搞成这样..总之是让人很头晕。
能不能像 html、xml 那样有序,一目了然?
可能是我用apache httpd 的时间长了,先入为主了
不过不可否认的是,像httpd.conf 那样的配置的确更加易读、易懂、易改、易扩展.
而在多方考察后,我选择的是工作原理与nginx、lighttpd 一样都为fcgi server的Cherokee.
不为别的,就是为的一个省心,为的一个Cherokee-admin 的程序.
它可以让轻松我配置好一切,而不用去和配置文件打交道.
而且,我要说的是而且,它的并发处理和负载能力一点也不输于nginx之流.
再者它的吉祥物我很是喜欢,一个奔跑的小家伙,很棒!
见图:
这是它的官网(http://www.cherokee-project.com/),有兴趣可以看看.
另外,如果你的网站架设在Cherokee上,可以到该地址(http://www.cherokee-project.com/cherokee-domain-list.html) 去提交你的网址,一旦被确认就会被加入到列表中哟
不过Cherokee现在也不是很稳定,有不少潜在的bug.
像这几天,一天一个新版本,人家月经,它日经!
像这种日经般的更新,一般人哪有那么多闲工夫去跟进.
特别是一些个大站,几年难得更新一次。上次看到淘宝网的报错信息,人家的jboss还是04年编译的呢
可见,频繁更新只是我等这些小站站长热衷的事情,不过本人表示影响不大 :)
茫茫软件的海洋,选择一款自己喜欢的才是王道,不盲从、不跟风,只选适合自己的.
标签:
开源,
OpenSource,
Software,
软件,
Apache httpd server,
nginx,
lighttpd,
Cherokee,
Web Server,
网站服务器
发表于:2010年4月29日
归类于:
其他,
个人 且
2 个留言