zoukankan      html  css  js  c++  java
  • [Nginx]在线给nginx添加模块

    参考:https://blog.csdn.net/weixin_43733154/article/details/107232057
    文章目录
    1.1 总的一个思路说明
    1.2 我当前nginx的状态
    1.3 添加nginx模块实践
    1.1 总的一个思路说明

    第一阶段

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

    第二阶段

    01:上传相同版本的nginx二进制包,解压且进入到解压后的目录下,或者查找本机nginx的configure
    find / -name configure
    image
    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
  • 相关阅读:
    pyspark 知识点
    pyspark 读取csv文件创建DataFrame的两种方法
    iOS开发改变字符串中指定字符颜色,大小等等
    iOS开发解决页面滑动返回跟scrollView左右划冲突
    iOS开发自定义试图切换
    iOS开发UIColor,CGColor,CIColor三者的区别和联系
    iOS开发热更新JSPatch
    Swift-创建UIButton(其他UI组件雷同)
    Swift-枚举enum理解
    Swift-闭包理解(二)
  • 原文地址:https://www.cnblogs.com/sheseido/p/15582859.html
Copyright © 2011-2022 走看看