在已编译安装nginx上动态添加模块
一、添加nginx模块
- 找到安装nginx的源码根目录,如果没有的话下载新的源码
- wget http://nginx.org/download/nginx-1.8.1.tar.gz
- 查看ngixn版本极其编译参数
- ../sbin/nginx -V
- nginx version: nginx/1.8.1
- built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)
- built with OpenSSL 1.0.2k-fips 26 Jan 2017
- TLS SNI support enabled
- configure arguments: --user=www --group=www --prefix=/application/nginx-1.8.1 --with-http_stub_status_module --with-http_ssl_module
- 停止ngixn
- systemctl stop nginx
- 进入nginx源码目录
- cd nginx-1.8.1/
- 以下是重新编译的代码和模块(重新编译增加了--with-file-aio --with-http_realip_module模块)
- ./configure --user=www --group=www --prefix=/application/nginx-1.8.1 --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module
- make 千万别make install,否则就覆盖安装了
- make完之后在objs目录下就多了个nginx,这个就是新版本的程序了
- 备份旧的nginx程序
- cp /application/nginx-1.8.1/sbin/nginx /application/nginx-1.8.1/sbin/nginx.20180826
- 把新的nginx程序覆盖旧的
- cp objs/nginx /application/nginx-1.8.1/sbin/nginx
- 测试新的nginx程序是否正确
- /application/nginx/sbin/nginx -t
- nginx: the configuration file /application/nginx-1.8.1/conf/nginx.conf syntax is ok
- nginx: configuration file /application/nginx-1.8.1/conf/nginx.conf test is successful
- 平滑重启nginx
- systemctl reload nginx
- 查看ngixn版本及其编译参数
- [root@nginx nginx-1.8.1]# /application/nginx/sbin/nginx -V
- nginx version: nginx/1.8.1
- built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)
- built with OpenSSL 1.0.2k-fips 26 Jan 2017
- TLS SNI support enabled
- configure arguments: --prefix=/application/nginx-1.8.1 --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module
说明:如果使用/application/nginx/sbin/nginx -s reload启动的话可以正常启动,由于我使用的是systemctl reload nginx启动的,会提示“Job for nginx.service invalid.”,我这边的做法是重启下服务器就可以了。
二、添加nginx第三方模块
- 这里以安装第三方ngx_http_google_filter_module模块为例
- nginx的模块是需要重新编译nginx,而不是像apache一样配置文件引用.so
- 下载第三方扩展模块ngx_http_google_filter_module
- [root@nginx ~]# cd /home/dm/tools/
- [root@nginx tools]# git clone https://github.com/cuber/ngx_http_google_filter_module
- 如果提示没有git命令,使用yum install -y git安装即可
- 查看ngixn版本极其编译参数
- ../sbin/nginx -V
- nginx version: nginx/1.8.1
- built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)
- built with OpenSSL 1.0.2k-fips 26 Jan 2017
- TLS SNI support enabled
- configure arguments: --user=www --group=www --prefix=/application/nginx-1.8.1 --with-http_stub_status_module --with-http_ssl_module
- 3. 加入需要安装的模块,重新编译,如这里添加-–add-module=/data/software/ngx_http_google_filter_module
- --user=www --group=www --prefix=/application/nginx-1.8.1 --with-http_stub_status_module --with-http_ssl_module -–add-module=/data/software/ngx_http_google_filter_module
- make 千万别make install,否则就覆盖安装了
- make完之后在objs目录下就多了个nginx,这个就是新版本的程序了
- 备份旧的nginx程序
- cp /application/nginx-1.8.1/sbin/nginx /application/nginx-1.8.1/sbin/nginx.20180826
- 把新的nginx程序覆盖旧的
- cp objs/nginx /application/nginx-1.8.1/sbin/nginx
- 测试新的nginx程序是否正确
- /application/nginx/sbin/nginx -t
- nginx: the configuration file /application/nginx-1.8.1/conf/nginx.conf syntax is ok
- nginx: configuration file /application/nginx-1.8.1/conf/nginx.conf test is successful
- 平滑重启nginx
- systemctl reload nginx
在已编译安装nginx上动态添加模块的更多相关文章
- 不重装nginx实现动态添加模块
如果项目在提供服务的过程中,因为需求使然,需要对nginx进行模块的动态添加,可以按照如下流程进行操作 一.查看nginx当前已经安装了那些模块 1) 进入nginx执行文件目录 cd /usr/ ...
- linux环境手动编译安装Nginx实践过程 附异常解决
1.下载nginx源码包并解压 可在http://nginx.org/en/download.html下载.tar.gz的源码包,如(nginx-1.4.7.tar.gz) 或者使用云盘下载 ht ...
- 手动编译安装nginx
1.下载nginx源码包并解压 可在http://nginx.org/en/download.html下载.tar.gz的源码包,如(nginx-1.4.7.tar.gz) 下载后通过tar -xvz ...
- 源码编译安装nginx详细步骤
1.下载nginx源码包并解压 可在http://nginx.org/en/download.html下载.tar.gz的源码包,如(nginx-1.4.7.tar.gz) 下载后通过tar -xvz ...
- 【Nginx】如何为已安装的Nginx动态添加模块?看完我懂了!!
写在前面 很多时候,我们根据当时的项目情况和业务需求安装完Nginx后,后续随着业务的发展,往往会给安装好的Nginx添加其他的功能模块.在为Nginx添加功能模块时,要求Nginx不停机.这就涉及到 ...
- 【01】Nginx:编译安装/动态添加模块
写在前面的话 说起 Nginx,别说运维,就是很多开发人员也很熟悉,毕竟如今已经 2019 年了,Apache 更多的要么成为了历史,要么成为了历史残留. 我们在提及 Nginx 的时候,一直在强调他 ...
- 十三、给已安装的nginx动态添加模块
给已安装的nginx动态添加模块说明:已经安装好的nginx,需要添加一个未被编译安装的模块,需要怎么弄呢?具体:这里以安装 --with-http_ssl_module模块为例nginx的模块是需要 ...
- Linux下Nginx的安装、升级及动态添加模块
系统基于ubuntu server 14.04.4 amd64 安装 第一步 下载并解压Nginx压缩包 从Nginx官网下载Nginx,或者在Linux上执行wget http://nginx.or ...
- Linux下,Nginx的安装、升级及动态添加模块
系统基于ubuntu server 14.04.4 amd64 安装 第一步 下载并解压Nginx压缩包 从Nginx官网下载Nginx,或者在Linux上执行wget http://nginx.or ...
随机推荐
- C 语言实例 - 复数相加
C 语言实例 - 复数相加 C 语言实例 C 语言实例 使用结构体(struct)将两个复数相加. 我们把形如 a+bi(a,b均为实数)的数称为复数,其中 a 称为实部,b 称为虚部,i 称为虚数单 ...
- Spring security + oauth2.0 + redis + mybatis plus 搭建微服务
上个星期一个朋友请求帮忙,让我搭建一个分布式授权中心的微服务,之前我也没搭建过,在网上撸了几天前辈们写的技术博客,搞出个模型,分享给大家: 前辈们博客地址: OAuth2.0 原理:https://b ...
- java操作redis实现和mysql数据库的交互
连接地址http://blog.csdn.net/kingcat666/article/details/77936970
- python入门之前面内容拾遗
int n1 = 123 #根据int类,创建了一个对象 n2 = int(123) #根据int类,创建了一个对象,这里实际上调用了int类里的内置函数__int__(x,2),其中x为定义的对象, ...
- [已读]javascript语言精粹
又是一本广为赞颂的好书,当时才刚开始学,啃这本书的时候于是比较困难.记得是有介绍一些js中的“精华”与“糟粕”.
- Java微信公众平台开发(九)--微信自定义菜单的创建实现
自定义菜单这个功能在我们普通的编辑模式下是可以直接在后台编辑的,但是一旦我们进入开发模式之后我们的自定义菜单就需要自己用代码实现,所以对于刚开始接触的人来说可能存在一定的疑惑,这里我说下平时我们在开发 ...
- .Net 第一章笔记
1.深入.NET框架 对象数组 登录和注册 内存级别数据的拎取 1..NET 战略 Java领域:::::SQL Server不会用到 浏览器IE 口号:任何人 在任何地方 使用任何终端,,都可以使用 ...
- 理解C#系列 / 前言
前言 索引 写什么? 为什么写? 怎么写? 写什么? 写和C#编程相关的知识. 写知识的定义,附加对知识的理解. 写知识的作用,使用的场景,使用的条件. 写知识的本质,技术的结构,工作的原理. 写知识 ...
- 【Linux】VirtualBox网络配置桥接模式
VirtualBox网络配置桥接模式 CentOS/RHEL (虚拟机)配置 # 基于桥接模式设置固定 ip cat >> /etc/sysconfig/network-scripts/i ...
- CF1025C Plasticine zebra
思路: 不要被骗了,这个操作实际上tm是在循环移位. 实现: #include <bits/stdc++.h> using namespace std; int main() { stri ...