Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
nginx官网地址:
http://nginx.org/
nginx的工作原理大家可以参考这一篇文章:http://blog.csdn.net/qq_39591494/article/details/78071417
一、隐藏nginx的版本信息
1)首先要下载nginx包这里以1.10.2为例;
# wget http://nginx.org/download/nginx-1.10.2.tar.gz
--2017-09-26 18:26:02-- http://nginx.org/download/nginx-1.10.2.tar.gz
正在解析主机 nginx.org (nginx.org)... 95.211.80.227, 206.251.255.63, 2001:1af8:4060:a004:21::e3, ...
正在连接 nginx.org (nginx.org)|95.211.80.227|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Found
位置:http://124.205.69.169/files/9215000004BCB4F3/nginx.org/download/nginx-1.10.2.tar.gz [跟随至新的 URL]
--2017-09-26 18:26:03-- http://124.205.69.169/files/9215000004BCB4F3/nginx.org/download/nginx-1.10.2.tar.gz
正在连接 124.205.69.169:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:910812 (889K) [application/octet-stream]
正在保存至: “nginx-1.10.2.tar.gz”
100%[========================================================================================>] 910,812 4.63MB/s 用时 0.2s
2017-09-26 18:26:03 (4.63 MB/s) - 已保存 “nginx-1.10.2.tar.gz” [910812/910812])
2)安装nginx所需的支持包
#yum install -y gcc gcc-c++ pcre-devel zlib-devel
已加载插件:fastestmirror, langpacks
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/4): extras/7/x86_64/primary_db | 112 kB 00:00:00
(2/4): updates/7/x86_64/primary_db | 2.9 MB 00:00:01
(3/4): base/7/x86_64/group_gz | 156 kB 00:00:02
(4/4): base/7/x86_64/primary_db | 5.7 MB 00:00:09
Determining fastest mirrors
* base: mirrors.neusoft.edu.cn
* extras: mirrors.shuosc.org
* updates: mirrors.shuosc.org
正在解决依赖关系
--> 正在检查事务
---> 软件包 gcc.x86_64.0.4.8.5-16.el7 将被 安装
--> 正在处理依赖关系 libgomp = 4.8.5-16.el7,它被软件包 gcc-4.8.5-16.el7.x86_64 需要
3)创建nginx用户
# useradd -M -s /sbin/nologin nginx
4)解压nginx并配置
# tar zxf nginx-1.10.2.tar.gz
[root@yankerp ~]# cd nginx-1.10.2/
[root@yankerp nginx-1.10.2]# vi src/core/nginx.h 13行
#define nginx_version 1010002
#define NGINX_VERSION "6.6.6" #此行修改的是你想要的版本号
#define NGINX_VER "YanKerp/" NGINX_VERSION #此行修改的是你想修改的软件名称
配置完以后我们继续配置错误码的返回文件定义了http错误码的返回,有时候我们页面程序出现错误,Nginx会代我们返回相应的错误代码,回显的时候,会带上nginx和版本号,我们把他隐藏起来
[root@yankerp nginx-1.10.2]# vim src/http/ngx_http_special_response.c 29行
#static u_char ngx_http_error_tail[] =
"
Yankerp " CRLF
"
" CRLF "