Nginx 0.8.0发布,不过很遗憾
时间:2009-06-05
来源:互联网
changes:http://nginx.net/CHANGES
还是不支持POST静态页面

不过修复了一个内存地址分配的错误,不知道会不会给稳定性带来提升。
作者: peacock 发布时间: 2009-06-05
作者: cnkiller 发布时间: 2009-06-05
cnkiller 发表于 2009-6-5 16:43
你用ajax POST一个js就知道了
作者: peacock 发布时间: 2009-06-05
作者: cnkiller 发布时间: 2009-06-08
刚发现;
作者: 木頭 发布时间: 2009-06-08
老土了吧
作者: cnkiller 发布时间: 2009-06-08
作者: willko 发布时间: 2009-06-08
willko 发表于 2009-6-8 23:31
作者: peacock 发布时间: 2009-06-09
作者: peacock 发布时间: 2009-06-09
作者: peacock 发布时间: 2009-07-10
peacock 发表于 2009-6-9 09:32
作者: ytcheng 发布时间: 2009-07-20
ytcheng 发表于 2009-7-20 09:57
PS:现在已经0.8.5了,还是不支持

作者: peacock 发布时间: 2009-07-20
在编译之前修改下源码就可以实现这种功能,以前看过这文章,但一下子没有记录下来,google下
看下这文章
http://blog.s135.com/post/337/
http://qianyang1985cn.blog.163.com/blog/static/6924056720091194549314/
作者: ronin 发布时间: 2009-08-03
第一个设置方法很多人都测试过了,行不通,从0.7开始,每个版本我都重新测试,都行不通。
在0.6的时候就有这个补丁了,不过很遗憾,到了现在的0.8.7都没有把这个补丁/功能加进去。
这个补丁在linux上好做,但是在windows上,我还真不知道怎么编译。
作者: peacock 发布时间: 2009-08-03
作者已经说明不会支持这个功能,所以最好的办法就是自己修改源码或者用补丁
作者: ronin 发布时间: 2009-08-04
第一,我不做公网服务器
第二,我的客户没有人使用linux
所以,解决这个问题,看来只有我自己了。
不过很纳闷,为什么nginx不把这个功能加上,除了nginx,所有web服务器都支持POST静态页面,这是一个很常见的功能。
作者: peacock 发布时间: 2009-08-04
作者: ronin 发布时间: 2009-08-04
ronin 发表于 2009-8-4 14:50
但是2003的iis6不是太理想,支持fast-cgi也不好。
而用户的主流服务器基本上都是2003

作者: peacock 发布时间: 2009-08-04
作者: lions 发布时间: 2009-08-05
但是2003的iis6不是太理想,支持fast-cgi也不好。
而用户的主流服务器基本上都是2003

peacock 发表于 2009-8-4 16:51
作者: subs 发布时间: 2009-08-11
subs 发表于 2009-8-11 01:33
作者: peacock 发布时间: 2009-08-11
http://www.cnbeta.com/articles/90678.htm
作者: 木頭 发布时间: 2009-08-11
http://www.cnbeta.com/articles/90678.htm
木頭 发表于 2009-8-11 11:18
从,0.7.x开始,我每天都要刷nginx.net几十次,直到nginx支持POST静态文件为止

作者: peacock 发布时间: 2009-08-11
peacock 发表于 2009-8-11 10:54
作者: subs 发布时间: 2009-08-12
subs 发表于 2009-8-12 01:33
之所以想选择Nginx,有几个原因:
1、我只能用Windows,因为客户有Linux服务器的可能性极小
2、我不指望客户的服务器用2008或者更高版,所以也不指望用IIS,事实上,我还从未见过,见过的基本上都是2003,甚至有2000的
3、除了IIS,其它的Web服务器在Linux上都要比Windows上好得多
4、Nginx的速度要比Apache快得多,而LightTPD还没有真正意义的Windows版本,只是第三方通过Cywin模拟的
综上几点,我只能在Apache和Nginx上做一个选择,Apache已经发展很多年,已经很成熟,很稳定,也是我一直使用的Web服务器,但Apache在Windows上无法正常稳定的使用Fast-CGI,就目前来说,Windows上能高效、正常、稳定的使用Fast-CGI的,只有IIS 7及以上版本,也就是Windows 2008和2008 R2。
所以我想尝试使用Nginx,事实上,我已经在开发环境中使用了2个月,而且还是在非服务器版本的操作系统上,每天都测试10多个小时,期初Nginx刚出Windows版的时候,的确很不稳定,很容易就挂掉,但之后每个版本的升级,发现Nginx开始变得稳定起来,如果经常关注Nginx官方网站(比如我),会发现Nginx更新非常频繁,几乎一个星期更新一两次。
经过2个月左右的测试,虽然至今都不支持POST静态页面,但我还是决定在下一个项目中,尝试使用Nginx,如果有POST静态页面,我将采用Apache来作为代理。
作者: peacock 发布时间: 2009-08-12
对一个存在的静态文件请求POST方法将返回405.
你可以修改错误405为200 OK, 将虚拟静态地址(非真实文件)代理到一个其他动态脚本上.
如果想直接对静态文件进行POST方法请求, 可以对发行版本中的源码进行修改后重新编译.
编辑源码中的HTTP模块中的静态模块(http\modules\ngx_http_static_module.c)[code] if (r->method & NGX_HTTP_POST) {
return NGX_HTTP_NOT_ALLOWED;
}[/code]将该段代码注释, 即可对静态文件直接进行POST方法请求.
作者: d9tx 发布时间: 2009-08-16
网上所写的3种解决办法,我都了解过了
1、设置error_page 405 =200 @405;
这个方法只有极少数人测试成功
2、打补丁,只适用于*nix
3、修改源代码,也就是你说的这个方法,在*nix上很容易编译,但是在Windows上,我还不知道怎么才能编译
很让人不解的是,既然官方知道这是个“问题”,而且有了补丁,也有人找到了“问题”所在(源代码),为什么就不直接把这个“问题”解决了,事实上,官方早在0.6.x的时候,就知道这个“问题”了,而直到现在的0.8.8,都不愿意加入这个功能!
作者: peacock 发布时间: 2009-08-16
对一个存在的静态文件请求POST方法将返回405
将对真实存在的静态文件的POST方法请求一律返回 405, 既是不同意使用该方法.
因为是开源程序, 你对官方发行版本不满意可以自行修改代码.
BTW: 就像PHP不想让count函数计算字符长度一样, 你不满意可以自行修改源码.
就我个人来说严谨第一, 灵活第二.
我比较支持NGINX和PHP这种模式.
作者: d9tx 发布时间: 2009-08-16
或者反过来可以这样说,为什么别人能做的,Nginx就不敢做呢!
作者: peacock 发布时间: 2009-08-16
或者反过来可以这样说,为什么别人能做的,php就不敢做呢!
让我分析, 答案应该是因为你不是作者.
你可以自己创立一个pginx和coc的分支发行版本.
然后写一篇
[推荐]Pginx 0.0.x + COC 0.0.X(peacock)搭建胜过Nginx十倍的Web服务器(第1版)
也许会有许多FANS...
作者: d9tx 发布时间: 2009-08-16
如果我提出的这个建议属于过分的要求,那我觉得Nginx没必要开源了。
可以肯定的是,除php之外,count函数并不是所有语言都能计算字符串的长度!!!
还可以肯定的是,除Nginx之外,你肯定找不到一个不支持POST静态页面的Web服务器!!!
作者: peacock 发布时间: 2009-08-16
我想知道的是为什么,而不是为什么不听取我的建议。
作者: peacock 发布时间: 2009-08-16
不过你既然强烈要求了, 我这次开发的时候一定同意这种请求模式.
作者: d9tx 发布时间: 2009-08-16
对于,nginx来说如果没设置fastcgi_pass都是静态文件,而不是通过后缀来判断的。而对于不具备处理能力的静态文件,post是没有意义的。又因为nginx支持文件方式传递post数据,而文件的清除可能是由后端程序来处理。允许post静态文件,很容易产生大量垃圾文件。我想,这就是为什么nginx不支持post静态文件的原因了。一是会有问题,二实在是没意义。
php-fpm以及nginx的安装网上比较多,就不重复了,主要是配置nginx方面,nginx 0.5.9以上都支持这个功能。
只需三个参数就可以实现了。
client_body_in_file_only clean;
client_body_temp_path /dev/shm 1 2;
fastcgi_param REQUEST_BODY_FILE $request_body_file;
存放的路径可以使用内存文件系统,例如tmpfs、ramdisk之类的。更正确的来说是优化http报文性能,因为http里能发送报文的不只是post方法,只是觉得大家更熟悉post而已。
作者: ronin 发布时间: 2009-11-16
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28