WEB服务与NGINX(15)-NGINX安装第三方模块
1.nginx安装第三方模块
nginx安装第三方模块需要进行编译安装,安装方法如下:
./configure --prefix=/你的安装目录 --add-module=/第三方模块目录 ...
注意:编译第三方模块时需要把原来编译的选项全部加上,否则新编译的功能不回包含之前的编译功能,查看当前nginx的编译选项的方法为:
[root@xuzhichao ~]# nginx -V
注意:编译第三方模块时只需要执行make,不需要make install,否则会完全覆盖之前的nginx。
下面以nginx的第三方echo模块安装为例进行演示:
第一步:测试nginx的配置文件
[root@xuzhichao ~]# cat /etc/nginx/conf.d/vhost.conf
[root@xuzhichao nginx-1.20.1]# cat /etc/nginx/conf.d/vhost.conf
server {
listen 80;
server_name www.module.com; root /data/nginx/html/web01;
location / {
index index.html;
} location /test/ {
echo "this is a test dir!";
}
location /main {
index index.html;
echo "hello world,main-->";
echo_reset_timer;
echo_location /sub1;
echo_location /sub2;
echo "took $echo_timer_elapsed sec for total.";
} location /sub1 {
echo_sleep 1;
echo sub1;
} location /sub2 {
echo_sleep 1;
echo sub2;
}
} #nginx不识别echo语句。
[root@xuzhichao ~]# nginx -t
nginx: [emerg] unknown directive "echo" in /etc/nginx/conf.d/vhost.conf:11
nginx: configuration file /etc/nginx/nginx.conf test failed
进行安装echo模块,使用wget或git下载echo模块
#下载echo模块
[root@xuzhichao ~]# yum install git -y
[root@xuzhichao ~]# git clone https://github.com/openresty/echo-nginx-module.git #新建third_moule目录专门用于存放第三方模块
[root@xuzhichao ~]# cd nginx-1.20.1/
[root@xuzhichao nginx-1.20.1]# mkdir third_moule
[root@xuzhichao nginx-1.20.1]# cp -a /root/echo-nginx-module/ third_moule/
重新编译
#首先查看当前nginx的编译选项
[root@xuzhichao nginx-1.20.1]# nginx -V
nginx version: nginx/1.20.1
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=/apps/nginx --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin/nginx --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_dav_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module --with-file-aio #编译第三方模块
[root@xuzhichao nginx-1.20.1]# ./configure --prefix=/apps/nginx --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin/nginx --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_dav_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module --with-file-aio --add-module=/root/nginx-1.20.1/third_moule/echo-nginx-module #执行make操作
[root@xuzhichao nginx-1.20.1]# make
......
替换nginx二进制文件
#查看当前nginx二进制文件路径
[root@xuzhichao ~]# which nginx
/usr/sbin/nginx #复制时报错,因为nginx正在运行
[root@xuzhichao nginx-1.20.1]# cp objs/nginx /usr/sbin/nginx
cp: overwrite ‘/usr/sbin/nginx’? y
cp: cannot create regular file ‘/usr/sbin/nginx’: Text file busy #强行复制,成功。
[root@xuzhichao nginx-1.20.1]# cp objs/nginx /usr/sbin/nginx -f
cp: overwrite ‘/usr/sbin/nginx’? y
重启nginx服务
#检测语法无报错
[root@xuzhichao nginx-1.20.1]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful #重启nginx服务,restart而不是reload,新模块需要重启生效
[root@xuzhichao nginx-1.20.1]# systemctl restart nginx #查看nginx编译选项
[root@xuzhichao nginx-1.20.1]# nginx -V
nginx version: nginx/1.20.1
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=/apps/nginx --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin/nginx --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_dav_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module --with-file-aio --add-module=/root/nginx-1.20.1/third_moule/echo-nginx-module
客户端测试访问
[root@nginx01 ~]# curl http://www.module.com/test/
this is a test dir!
[root@nginx01 ~]# curl http://www.module.com/main/
hello world,main-->
sub1
sub2
took 2.019 sec for total.
WEB服务与NGINX(15)-NGINX安装第三方模块的更多相关文章
- Nginx编译安装第三方模块http_substitutions_filter_module
Nginx编译安装第三方模块http_substitutions_filter_module 分类:服务器技术 作者:rming 时间:-- . >>ngx_http_substitu ...
- nginx安装第三方模块echo
要使用第三方模块ngx_echo的功能,请重新配置添加到nginx插件中 ##下载第三方模块 wget https://github.com/openresty/echo-nginx-module/a ...
- Nginx编译安装第三方模块http_substitutions_filter_module2222
Nginx编译安装第三方模块http_substitutions_filter_module Rming -- 阅读 安装 Http 编译 module filter nginx 模块 >> ...
- nginx 安装第三方 模块
查看nginx在安装时开启了哪些模块 如果你nginx是rpm包安装的,直接用如下命令nginx -V 如果你是源码包编译安装,假如你的安装路径是/usr/local/nginx,那么你可以使用: / ...
- sae python安装第三方模块
sae python安装第三方模块 经过这一个星期的折腾,发现编程真心不是看出来的,真心是跟着书上的代码敲出来的.sae的服务做得很好,不过有时候会崩就是了.当sae上没有自己所需要的第三方模块时,可 ...
- python——模块(Module)的概念、使用以及安装第三方模块
一.模块定义 python中,一个.py文件就是一个模块(Module). 使用模块的好处:1.提高了代码的可维护性.我们把函数进行分组,分别放在不同的模块中.2.编写代码不必要从0开始,当一个模块编 ...
- 【Python】[模块]使用模块,安装第三方模块
一个.py文件就称之为一个模块(Model)按目录来组织模块的方法,称为包(Package)每一个包目录下面都会有一个__init__.py的文件内置函数1.使用模块 导入模块 import sys ...
- 安装第三方模块方法和requests
如何安装第三方模块 pip3 pip3 install xxxx 源码 下载,解压 进入目录 python setup.py inst ...
- python 安装第三方模块
在Python中,安装第三方模块,是通过setuptools这个工具完成的. 如果你正在使用Mac或Linux,安装setuptools本身这个步骤就可以跳过了. 如果你正在使用Windows,请首先 ...
- Anaconda安装第三方模块
Anaconda安装第三方模块 普通安装: 进去\Anaconda\Scripts目录,conda install 模块名 源码安装: 进去第三方模块目录,python install setup.p ...
随机推荐
- Windows下获取设备管理器列表信息-setupAPI
背景及问题: 在与硬件打交道时,经常需要知道当前设备连接的硬件信息,以便连接正确的硬件,比如串口通讯查询连接的硬件及端口,一般手工的方式就是去设备管理器查看相应的信息,应用程序如何读取这一部分信息呢, ...
- 腾讯tvp之路
王清培 腾讯tvp之路
- WPF开发分页控件:实现可定制化分页功能及实现原理解析
概要 本文将详细介绍如何使用WPF(Windows Presentation Foundation)开发一个分页控件,并深入解析其实现原理.我们将通过使用XAML和C#代码相结合的方式构建分页控件,并 ...
- PriorityQueue和PriorityBlockingQueue
目录 简介 PriorityQueue PriorityBlockingQueue PriorityQueue和PriorityBlockingQueue 简介 Queue一般来说都是FIFO的,当然 ...
- Git安装和配置教程:Windows/Mac/Linux三平台详细图文教程,带你一次性搞定Git环境
Git是一款免费.开源的分布式版本控制系统,广泛应用于软件开发领域.随着开源和云计算的发展,Git已经成为了开发者必备的工具之一.本文将为大家介绍Git在Windows.Mac和Linux三个平台上的 ...
- 并发编程面试必备之ConcurrentHashMap源码解析
ConcurrentHashMap在我的面试生涯中,10次有8次是会被问到的,记得刚毕业那会,被问到ConcurrentHashMap源码的无助与苦涩,无奈只能网上找了一些教程,背一背,才算是蒙混过关 ...
- dev DEV控件:gridControl常用属性设置
引用:https://www.cnblogs.com/kingsliu/articles/6145679.html 1.隐藏最上面的GroupPanelgridView1.OptionsView.Sh ...
- Centos环境部署SpringBoot项目
centos JDK Jenkins maven tomcat git myslq nginx 7.9 11.0.19 2.418 3.8.1 9.0.78 2.34.4 5.7.26 1.24.0 ...
- DBJ,DB,CJJ,CECS 标准区别及全套下载教程
DBJ DBJ开头的标准是地方建筑标准:D--地方. B--标准. J--建筑. <中华人民共和国标准化法>将中国标准分为国家标准.行业标准.地方标准(DB).企业标准(Q/)四级.地方标 ...
- Oracle 将字符中含有的字母或特殊字符去除并将字符串置换成数字
将字符中含有的字母或特殊字符去除并将字符串置换成数字 将字符中含有的字母或特殊字符去除并将字符串置换成数字 to_number(nvl(TRANSLATE(u.scsqrbzl, 'qwertyuio ...