本次使用到的虚拟机环境为Red Hat Enterprise Linux 6 64 位,ios为rhel-server-6.8-x86_64-dvd.iso,为了在nginx中添加more_clear_headers 'serever'以解决去除server响应头的问题,需在nginx中添加headers-more-nginx-module模块。
一、nginx安装
1、下载源码
#获取源码
wget http://nginx.org/download/nginx-1.14.2.tar.gz
2、将源码放在/home/nginx下
3、解压nginx源码
tar -zxvf /home/nginx/nginx-1.14.2.tar.gz //解压源码
cd home/nginx/nginx-1.14.2 //进入nginx源码目录准备编译
4、配置nginx路径
./configure --prefix=/home/nginx
5、编译
make
make install
至此nginx编译安装完成,使用nginx -V查询nginx版本及信息可能返回bash: nginx: command not found,,是因为没有配置系统环境参数。
6、添加系统环境变量
可在/etc/profile配置:
export NGINX_PATH=/home/nginx \\实际nginx根目录
export PATH=$PATH:${JAVA_HOME}/bin:$PATH:${NGINX_PATH}/sbin
配置完成后需重启服务器后生效,不重启情况下使用sudo source /etc/profile可先查看是否配置正确,重启后永久生效:
sudo source /etc/profile //在当前Shell环境下读取并执行profile中的命令
nginx -V //查看nginx版本情况
[root@zzw sbin]# nginx -V
nginx version: nginx/1.14.2
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/home/nginx
二、新增模块编译平滑升级
1、下载源码
#获取nginx-sticky-module-ng模块源码
wget https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz
#获取headers-more-nginx-module模块源码
wget https://github.com/openresty/headers-more-nginx-module/archive/v0.30.tar.gz
2、将源码统一放置在/home/nginx下
3、在nginx源码下配置路径及需新增的模块位置
./configure --prefix=/home/nginx --add-module=/home/nginx/headers-more-nginx-module-0.33 --add-module=/home/nginx/ngx_http_substitutions_filter_module --with-http_ssl_module --add-module=/home/nginx/nginx-goodies-nginx-sticky-module-ng-08a395c66e42
4、make编译
5、移除原已安装配置
rm /home/nginx/sbin/nginx
6、复制新编译好的nginx配置到nginx目录下
sudo cp objs/nginx /home/nginx/sbin/nginx
7、验证
nginx -v