当前位置: 首页 > news >正文

《Nginx核心技术》第08章:为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动态添加模块,有了进一步的了解,我是冰河,我们下期见~~

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 第6章>>实验7:PS(ARM)端Linux RT与PL端FPGA之间(通过Memory存储器进行通信和交互)《LabVIEW ZYNQ FPGA宝典》
  • Android SurfaceFlinger——信号同步原理(五十一)
  • 探索WebKit的奥秘:塑造高效、兼容的现代网页应用
  • maxscript循环中提高性能
  • 记一次对加密后pythonEXP的解密以及分析
  • SS9283403 sqlite3交叉编译并部署到SS928(六)
  • Together规则引擎 金融解决方案
  • 八股文”在实际工作中的作用:敲门砖还是空谈?
  • supermap制作发布二三维地图服务
  • 基于企业微信第三方接口开发,发送朋友圈评论
  • MySQL:数据库权限与角色
  • 单机系统怎么做高可用设计
  • 【强化学习】强化学习的基本概念与应用
  • Linux中为什么要进行对齐分区及其作用
  • maven常用命令与常见问题汇总
  • 345-反转字符串中的元音字母
  • C++类的相互关联
  • CAP 一致性协议及应用解析
  • HTML-表单
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • linux安装openssl、swoole等扩展的具体步骤
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • React16时代,该用什么姿势写 React ?
  • Tornado学习笔记(1)
  • 编写高质量JavaScript代码之并发
  • 大数据与云计算学习:数据分析(二)
  • 分类模型——Logistics Regression
  • 工程优化暨babel升级小记
  • 基于web的全景—— Pannellum小试
  • 技术发展面试
  • 讲清楚之javascript作用域
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 免费小说阅读小程序
  • 面试总结JavaScript篇
  • 十年未变!安全,谁之责?(下)
  • 一份游戏开发学习路线
  • 在Mac OS X上安装 Ruby运行环境
  • 白色的风信子
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (06)Hive——正则表达式
  • (四)opengl函数加载和错误处理
  • (一)WLAN定义和基本架构转
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • (转载)Google Chrome调试JS
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • *Django中的Ajax 纯js的书写样式1
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .Net CoreRabbitMQ消息存储可靠机制
  • .Net FrameWork总结
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .net 中viewstate的原理和使用
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • @EnableConfigurationProperties注解使用