最近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元旦节快到了,祝大家节日快乐!