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
  • 相关阅读:
    mysql日志查看
    mysql LAST_INSERT_ID详解
    LR监测windows资源一般监测哪几个项?
    如何在 Linux 服务器上部署多个 Tomcat
    微信支付的JAVA SDK存在漏洞,可导致商家服务器被入侵(绕过支付)XML外部实体注入防护
    Eclipse 处理 IOConsole Updater 报错
    Eclipse 处理 Console 打印信息自动删除
    Linux后台运行java的jar包
    MySQL重置主键ID
    Java转义emoji等特殊符号
  • 原文地址:https://www.cnblogs.com/sheseido/p/15582859.html
Copyright © 2011-2022 走看看