返回首页

张小三资源网
    站长必备网站 ╭∩╮(︶︿︶)╭∩╮!高性价比VPS推荐。
08月282017

Nginx如何打补丁-nginx打补丁实例

Posted by 张小三资源网 2017年08月28日 Tags:
对于一些小白站长来说,nginx发布漏洞后一般都会选择升级版本,但对于企业级来说如果有提供补丁的话会选择编译补丁的方式。下面张小三资源网就教一些新手朋友们来打nginx补丁吧。

打补丁前先查看已编译的nginx模块,重新编译的时候要用: 运行 ./sbin/nginx -V 或者 /usr/bin/nginx -V
[root@xxxxxx ~]# ./sbin/nginx -V
nginx version: nginx/1.x.x
built by gcc x.x.x xxx (Red Hat xxx) (GCC)
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_gzip_static_module --with-ipv6

查看nginx依赖(可选):ldd ./sbin/nginx 或者 ldd /usr/bin/nginx

然后了解下补丁格式,大家可以看官方补丁格式,比如http://nginx.org/download/patch.2013.space.txt。 通常采用-P参数来打补丁(可参考之前PHP打补丁的文章),但有时候版本跨越太大,这时最好采用手工修改或者直接选择升级。
手工修改的话就对照着补丁里的代码,修改你当前nginx源码目录里相应的文件代码即可:
--- src/os/unix/ngx_files.c //表示问题产生在src/os/unix/ngx_files.c文件中,该行不要加到ngx_files.c文件
+++ src/os/unix/ngx_files.c //表示问题要在src/os/unix/ngx_files.c文件中修改以修复,该行不要加到ngx_files.c文件中
@@ -183,6 +183,12 @@ ngx_write_chain_to_file(ngx_file_t *file //-182,6表示修复前该处代码的位置为183行的后6行,+183,12表示修复后该处代码占183行的后12行
         /* create the iovec and coalesce the neighbouring bufs */
 
         while (cl && vec.nelts < IOV_MAX) {
+
+            if (ngx_buf_special(cl->buf)) {      //+号表示该行代码原来没有,要新加进去;修复时+号不要加到代码中
+                cl = cl->next;
+                continue;
+            }
+
             if (prev == cl->buf->pos) {
                 iov->iov_len += cl->buf->last - cl->buf->pos;
#最后进入你的nginx源码目录进行make编译,这里要编译的模块和你之前查看的已编译模块参数一样即可:
cd nginx-1.x.x/
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_gzip_static_module --with-ipv6
make
#编译好后先移动备份曾经的编译文件比如:
mv /usr/nginx/sbin/nginx /usr/nginx/sbin/nginx.old

#最后使用当前编译生成的新文件(在objs目录下),复制过去即可。
cp objs/nginx /usr/nginx/sbin/
/etc/init.d/nginx reload
老外vps无特别说明(即使用优惠码)都按优惠后的价格续费。此vps无爱可看之前其它文章
发现Out of Stock说明缺货中,可考虑购买其它VPS。自备谷歌浏览器有简单的翻译功能。

买老外的域名、vps都需美元。有信用卡可直接购买。无卡无美元的注册Paypal到淘宝找人充美元即可。老外VPS购买教程参考:http://www.zxsdw.com/index.php/archives/259/

添加新评论 »

zxsdw.jpg

张小三资源网QQ交流群:292348362

讯美IDC

最近回复

  • 山野愚人居: 很实用,全命令就是方便!
  • 张小三资源网: 帮公司的企业站放在板瓦工,顺带还装了个博客跟出海,没压力。不满意30天退款不墨迹,搬瓦工外号传家宝,...
  • zhujiwiki: 速度可以,建站差强人意
  • Asiaidc.net: CentOS与Debian都是不错的选择,视个人爱好和使用情况而选择就好,据说国内CentOS过户多...
  • 韩国K金时尚首饰: 与人为善,不仅是为人之道也是生财之道。
张小三资源网 is powered by Typecho))) 网站地图