• 3,为nginx启用ngx_http_v2_module模块


    生产环境的nginx当初没有编译启用ngx_http_v2_module模块

    [root@nginx51 ~]# /opt/nginx/sbin/nginx -V
    nginx version: nginx/1.12.0
    built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) 
    built with OpenSSL 1.0.1e-fips 11 Feb 2013
    TLS SNI support enabled
    configure arguments: --prefix=/opt/nginx --user=nginx --group=nginx --with-http_gzip_static_module --with-http_ssl_module --with-http_stub_status_module --with-pcre=/tmp/pcre-8.40 --with-stream

    现在业务上要用到这个模块,需要把它重新编译进去但不影响业务

    步骤:

    进入到nginx源码目录重新编译,通过--with-http_v2_module启用ngx_http_v2_module模块,然后make (注意不要make install,否则直接覆盖了)

    cd /tmp/nginx-1.12.0                # nginx源码版本必须和当前生产环境的nginx一致
    ./configure --prefix=/opt/nginx --user=nginx --group=nginx --with-http_gzip_static_module --with-http_ssl_module --with-http_stub_status_module --with-pcre=/tmp/pcre-8.40 --with-stream --with-http_v2_module
    make

    meke好了之后会在源码目录下的objs目录产生nginx的二进制,先不要make install

    [root@nginx51 objs]# cd /tmp/nginx-1.12.0/objs/
    [root@nginx51 objs]# ls
    autoconf.err  Makefile  nginx  nginx.8  ngx_auto_config.h  ngx_auto_headers.h  ngx_modules.c  ngx_modules.o  src

    然后把原先的nginx二进制命令备份,用上面编译好的nginx替换,最后reload的nignx就可以

    [root@nginx51 ~]# cd /opt/nginx/sbin/
    [root@nginx51 sbin]# mv nginx nginx.bak                 # 备份
    [root@nginx51 sbin]# cp /tmp/nginx-1.12.0/objs/nginx .  # 把编译好的nginx拷贝过来
    [root@nginx51 sbin]# service nginx reload               # 重载nginx

    在通过nginx -V测试,可以看到--with-http_v2_module,说明ok了

    [root@nginx51 sbin]# /opt/nginx/sbin/nginx -V
    nginx version: nginx/1.12.0
    built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) 
    built with OpenSSL 1.0.1e-fips 11 Feb 2013
    TLS SNI support enabled
    configure arguments: --prefix=/opt/nginx --user=nginx --group=nginx 
    --with-http_gzip_static_module --with-http_ssl_module --with-http_stub_status_module 
    --with-pcre=/tmp/pcre-8.40 --with-stream --with-http_v2_module

    其它模块的启用也是类似的。顺便说下make和make install, make是把源码编译成可执行的二进制,make install是把编译好的二进制或一些文件安装到指定的路径.

    另外nginx1.10版本可以动态添加模块

  • 相关阅读:
    软件工程——团队作业个人总结
    软件工程——团队作业4
    软件工程——团队答辩
    JavaScript编码规范
    html编码规范
    软件工程——团队作业三
    软件工程——团队作业二
    ·软件工程——团队作业1
    软件工程第二次作业——心得体会(结对编程)
    软件工程第二次作业(结对编程)
  • 原文地址:https://www.cnblogs.com/xiaomai-rhce/p/14149406.html
Copyright © 2020-2023  润新知