《Nginx核心技术》第08章:为Nginx动态添加模块

举报
冰 河 发表于 2024/09/30 13:53:07 2024/09/30
【摘要】 用最简短的篇幅介绍Nginx最核心的知识,掌握如何为已安装的Nginx动态添加模块,并能够灵活运用到实际项目中,维护高可用系统。

作者:冰河

星球:http://m6z.cn/6aeFbs

博客:https://binghe.gitcode.host

文章汇总:https://binghe.gitcode.host/md/all/all.html

星球项目地址:https://binghe.gitcode.host/md/zsxq/introduce.html

沉淀,成长,突破,帮助他人,成就自我。

  • 本章难度:★★☆☆☆
  • 本章重点:用最简短的篇幅介绍Nginx最核心的知识,掌握如何为已安装的Nginx动态添加模块,并能够灵活运用到实际项目中,维护高可用系统。

大家好,我是冰河~~

今天给大家介绍《Nginx核心技术》的第08章:为已安装的Nginx动态添加模块,多一句没有,少一句不行,用最简短的篇幅讲述Nginx最核心的知识,好了,开始今天的内容。

8.1 本章概述

很多时候,我们根据当时的项目情况和业务需求安装完Nginx后,后续随着业务的发展,往往会给安装好的Nginx添加其他的功能模块。在为Nginx添加功能模块时,要求Nginx不停机。这就涉及到如何为已安装的Nginx动态添加模块的问题。本文,就和小伙伴们一起探讨如何为已安装的Nginx动态添加模块的问题。

8.2 为Nginx动态添加模块

这里以安装第三方ngx_http_google_filter_module模块为例。

Nginx的模块是需要重新编译Nginx,而不是像Apache一样配置文件引用.so

8.3 下载第三方扩展模块ngx_http_google_filter_module

# cd /data/software/
# git clone https://github.com/cuber/ngx_http_google_filter_module

8.4 查看nginx编译安装时安装了哪些模块

将命令行切换到Nginx执行程序所在的目录并输入./nginx -V,具体如下:

[root@binghe sbin]# ./nginx -V
nginx version: nginx/1.19.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 
built with OpenSSL 1.0.2 22 Jan 2015
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx-1.19.1 --with-openssl=/usr/local/src/openssl-1.0.2 --with-pcre=/usr/local/src/pcre-8.37 --with-zlib=/usr/local/src/zlib-1.2.8 --with-http_ssl_module
[root@binghe sbin]# 

可以看出编译安装Nginx使用的参数如下:

--prefix=/usr/local/nginx-1.19.1 --with-openssl=/usr/local/src/openssl-1.0.2 --with-pcre=/usr/local/src/pcre-8.37 --with-zlib=/usr/local/src/zlib-1.2.8 --with-http_ssl_module

8.5 加入需要安装的模块,重新编译

这里添加 --add-module=/data/software/ngx_http_google_filter_module

具体如下:

./configure  --prefix=/usr/local/nginx-1.19.1 --with-openssl=/usr/local/src/openssl-1.0.2 --with-pcre=/usr/local/src/pcre-8.37 --with-zlib=/usr/local/src/zlib-1.2.8 --with-http_ssl_module -–add-module=/data/software/ngx_http_google_filter_module

如上,将之前安装Nginx的参数全部加上,最后添加 --add-module=/data/software/ngx_http_google_filter_module

之后,我们要进行编译操作,如下:

# make    //千万不要make install,不然就真的覆盖

这里,需要注意的是:不要执行make install命令。

8.6 替换nginx二进制文件

# 备份原来的nginx执行程序
# mv /usr/local/nginx-1.19.1/sbin/nginx /usr/local/nginx-1.19.1/sbin/nginx.bak
# 将新编译的nginx执行程序复制到/usr/local/nginx-1.19.1/sbin/目录下
# cp /opt/nginx/sbin/nginx /usr/local/nginx-1.19.1/sbin/

好了,相信各位小伙伴们对如何为已安装的Nginx动态添加模块,有了进一步的了解,我是冰河,我们下期见~~

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。