Nginx 十大优化 与 防盗链

https://blog.csdn.net/zonghua521/article/details/78249325

Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发.
Nginx以事件驱动(epoll)的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理、负载平衡。但是Nginx并不支持cgi方式运行,原因是可以减少因此带来的一些程序上的漏洞。所以必须使用FastCGI方式来执行PHP程序。

由于Nginx本身的一些优点,轻量,开源,易用,越来越多的公司使用nginx作为自己公司的web应用服务器,本文详细介绍nginx源码安装的同时并对nginx进行优化配置。

一、Nginx的优化

1、编译安装前优化

编译前的优化主要是用来修改程序名等等,目的更改源码隐藏软件名称和版本号

安装zlib-devel、pcre-devel等依赖包

[root@www ~]# yum -y install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel openssl openssl-devel

下载nginx的源码包:http://nginx.org/download

解压源码包:

[root@www ~]# tar zxf nginx-1.10.2.tar.gz

[root@www ~]# cd nginx-1.10.2/

隐藏软件名称和版本号

[root@www nginx-1.10.2]# vim src/core/nginx.h

//此行修改的是你想要的版本

#define NGINX_VERSION      "1.10.2"     //第13行

//此行修改的是你想修改的软件名称

#define NGINX_VER          "nginx/" NGINX_VERSION  //第14行

修改上面的信息,即可更改nginx显示版本。例如:

#define NGINX_VERSION      "7.0"

#define NGINX_VER          "IIS/" NGINX_VERSION

修改HTTP头信息中的connection字段,防止回显具体版本号

拓展:通用http头 ,通用头包含请求和响应消息都支持的头,通用头包含Cache-Control、 Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。对通用头的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头,一般将会作为实体头处理。那么也就是说有部分设备,或者是软件,能获取到connection,部分不能,要隐藏就要彻底!

[root@www nginx-1.10.2]# vi src/http/ngx_http_header_filter_module.c

修改前:

static char ngx_http_server_string[] = "Server: nginx" CRLF;  //第49行

修改后:

static char ngx_http_server_string[] = "Server: IIS" CRLF;

定义了http错误码的返回

有时候我们页面程序出现错误,Nginx会代我们返回相应的错误代码,回显的时候,会带上nginx和版本号,我们把他隐藏起来

[root@www nginx-1.10.2]# vi src/http/ngx_http_special_response.c

修改前

static u_char ngx_http_error_tail[] =     //第29行

"<hr><center>nginx</center>" CRLF

"</body>" CRLF

"</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值