[Nginx]在线给nginx添加模块

1.1 总的一个思路说明

## 第一阶段
01:查看当前nginx的版本和已编译的模块,用nginx -V
02:对当前Nginx服务的命令nginx重命名,或者移动到其它目录下;

## 第二阶段
01:上传相同版本的nginx二进制包,解压且进入到解压后的目录下;
02:./configure进行编译(以前编译的模块 加上 你要添加的模块)
03:make,不要make install
04:当“03步骤”执行完成后,在 path/objs/ 目录下有nginx命令

## 第三阶段
01:用 path/objs/nginx 命令去替换你之前的nginx命令
02:用 nginx -V 查看是否成功添加了相应模块
03:更改其命令的属主/组为当前nginx运行的用户


1.2 我当前nginx的状态

#### nginx当前的状态
[root@node21 ~]# lsof -i :80
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   4774 root    6u  IPv4  27135      0t0  TCP *:http (LISTEN)
nginx   4788  www    6u  IPv4  27135      0t0  TCP *:http (LISTEN)

##### nginx服务命令所在目录
[root@node21 ~]# which nginx
/data/apps/nginx/sbin/nginx

##### nginx的版本和已编译的模块
[root@node21 ~]# nginx -V
nginx version: nginx/1.18.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/data/apps/nginx-1.18.0 --user=www --group=www --with-stream --with-http_ssl_module


1.3 添加nginx模块实践

这里添加一个 --with-http_stub_status_module 模块

#### 第一阶段:
	# 查看当前nginx的版本和已编译的模块,用nginx -V
	[root@node21 ~]# nginx -V
	nginx version: nginx/1.18.0
	built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) 
	built with OpenSSL 1.0.2k-fips  26 Jan 2017
	TLS SNI support enabled
	configure arguments: --prefix=/data/apps/nginx-1.18.0 --user=www --group=www --with-stream --with-http_ssl_module
	^==可以看到是没有--with-http_stub_status_module模块的哈
	
	# 对当前Nginx服务的命令nginx重命名;
	[root@node21 ~]# which nginx
    /data/apps/nginx/sbin/nginx
    [root@node21 ~]#
	[root@node21 ~]# mv /data/apps/nginx/sbin/nginx /data/apps/nginx/sbin/nginx.bak
	[root@node21 ~]# ll /data/apps/nginx/sbin/nginx.bak 
	-rwxr-xr-x 1 www www 6883920 7月   9 15:27 /data/apps/nginx/sbin/nginx.bak


#### 第二阶段
	# 创建/root/tools目录
	[root@node21 ~]# mkdir /root/tools
	[root@node21 ~]# ls -ld /root/tools/
	drwxr-xr-x 2 root root 33 7月   9 16:38 /root/tools/
	
	# 进入到/root/tools目录,上传软件包(跟我现在nginx的版本是一致的),进行编译,但不要执行make install
	[root@node21 ~]# cd /root/tools/
	[root@node21 tools]# rz                    # 如何没这个命令,用yum install -y lrzsz进行安装
	[root@node21 tools]# ll nginx-1.18.0.tar.gz 
	-rw-r--r-- 1 root root 1039530 6月  10 08:20 nginx-1.18.0.tar.gz
	[root@node21 tools]#
	[root@node21 tools]# tar xf nginx-1.18.0.tar.gz 
	[root@node21 tools]# cd nginx-1.18.0
	[root@node21 nginx-1.18.0]#
	[root@node21 nginx-1.18.0]# ./configure  --prefix=/data/apps/nginx-1.18.0 --user=www --group=www --with-stream --with-http_ssl_module  --with-http_stub_status_module
	[root@node21 nginx-1.18.0]#
	[root@node21 nginx-1.18.0]# make            # 不要make install哈
    [root@node21 nginx-1.18.0]#
    [root@node21 nginx-1.18.0]# pwd             # 当前所在路径
	/root/tools/nginx-1.18.0
	[root@node21 nginx-1.18.0]# ll objs/nginx   # 当前路径下的objs目录下有一个nginx文件
    -rwxr-xr-x 1 root root 6932616 7月   9 16:53 objs/nginx


#### 找到编译的nginx命令,然后去替换之前的nginx命令
	[root@node21 ~]# ll /root/tools/nginx-1.18.0/objs/nginx
	-rwxr-xr-x 1 root root 6932616 7月   9 16:42 /root/tools/nginx-1.18.0/objs/nginx
	
	[root@node21 ~]# cp -a /root/tools/nginx-1.18.0/objs/nginx  /data/apps/nginx/sbin
	[root@node21 ~]# ll /data/apps/nginx/sbin/nginx
	-rwxr-xr-x 1 root root 6932616 7月   9 16:46 /data/apps/nginx/sbin/nginx
 
	[root@node21 ~]# which nginx
	/data/apps/nginx/sbin/nginx
	[root@node21 ~]# 
	[root@node21 ~]# nginx -V
	nginx version: nginx/1.18.0
	built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) 
	built with OpenSSL 1.0.2k-fips  26 Jan 2017
	TLS SNI support enabled
	configure arguments: --prefix=/data/apps/nginx-1.18.0 --user=www --group=www --with-stream --with-http_ssl_module --with-http_stub_status_module
	  ^==可以看到--with-http_stub_status_module已添加成功


	[root@node21 ~]# chown www:www /data/apps/nginx/sbin/nginx
	[root@node21 ~]# ll /data/apps/nginx/sbin/nginx
	-rwxr-xr-x 1 www www 6932616 7月   9 16:53 /data/apps/nginx/sbin/nginx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值