如何源码安装nginx1.15.0版本及修改server头信息已达到隐藏http server头信息的目的

最近Nginx出了最新版本1.15.0;平常我们都是通过centos yum源 或 ubuntu sudo apt install <selected package> 安装;现在我们来折腾一下,通过源码安装;

首先我这里演示的机子为ubuntu,centos也大同小异;

安装前的准备:

1、因为我机子之前装个nginx 1.12;这里我把它清理干净,重新装新的包;

清理Nginx包命令如下:

dpkg --get-selections|grep nginx  #列出Nginx关联的包

sudo apt-get --purge remove nginx # 删除Nginx包

sudo apt-get --purge remove nginx-common #删除nginx-common

sudo apt-get --purge remove nginx-core #删除nginx-core

2、下载源码nginx  1.15.0;这里我们直接从官网去下载;

sudo wget  http://nginx.org/download/nginx-1.15.0.tar.gz 

3、安装包已经下载完成了,开始解压安装包,通过tar解压;

sudo tar -xzf nginx-1.15.0.tar.gz #解压

cd nginx-1.15.0 #进入解压目录

非必须】源码修改Nginx版本信息为wavefar,去掉版本号;对Nginx已一个简单的隐私保护作用;

指令如下:

sudo sed -i -e 's/1.15.0//g'  -e 's/nginx\//wavefar/g'  -e  's/"NGINX"/"wavefar"/g' src/core/nginx.h

cat  src/core/nginx.h #查看是否被修改了

另外还有两种方式更改参数:

1、通过Nginx配置文件http模块信息屏蔽版本信息;

http {

   server_tokens off;    

}

扩展:如何隐藏程序脚本语言呢?如PHP脚本,需在php.ini配置文件中修改expose_php = On改为expose_php = Off 即可;

2、通过程序动态输出返回头信息;

检查以上配置都修改完后,我们开始安装:

非必须】1、sudo useradd www #添加用户

2、开始预编译及安装

sudo ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
sudo make && make install

3、可能安装中存在一些异常,根据异常我们简单的处理;

常见的问题如下:

权限问题:我们这里为了简单处理,统一为将nginx-1.15.0 目录设置(读写可执行) sudo chmod -R 775 nginx-1.15.0

如果提示“cp:cannot create regular file `/usr/local/nginx/sbin/nginx':

使用命令处理:sudo cp -rfp objs/nginx /usr/local/nginx/sbin/nginx #复制编译目录objs的文件nginx到/usr/local/nginx/sbin/nginx

4、检查是否安装成功,nginx配置文件是否正确,然后启动nginx:

/usr/local/nginx/sbin/nginx -v #检查是否安装成功;如下图说明安装成功

/usr/local/nginx/sbin/nginx -t #检查配置文件是否正确;如下图说明配置文件正常

我这里的服务器IP是192.168.64.128;访问结果如下;

通过curl -i localhost 如下头信息;

至此我们的Nginx1.15.0配置已经完成了,更多Nginx相关的配置优化文章后续更新;2019元旦节快到了,祝大家节日快乐!

猜你喜欢

转载自blog.csdn.net/xia296/article/details/85341986