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安装第三方模块的更多相关文章

  1. Nginx编译安装第三方模块http_substitutions_filter_module

    Nginx编译安装第三方模块http_substitutions_filter_module 分类:服务器技术  作者:rming  时间:-- . >>ngx_http_substitu ...

  2. nginx安装第三方模块echo

    要使用第三方模块ngx_echo的功能,请重新配置添加到nginx插件中 ##下载第三方模块 wget https://github.com/openresty/echo-nginx-module/a ...

  3. Nginx编译安装第三方模块http_substitutions_filter_module2222

    Nginx编译安装第三方模块http_substitutions_filter_module Rming -- 阅读 安装 Http 编译 module filter nginx 模块 >> ...

  4. nginx 安装第三方 模块

    查看nginx在安装时开启了哪些模块 如果你nginx是rpm包安装的,直接用如下命令nginx -V 如果你是源码包编译安装,假如你的安装路径是/usr/local/nginx,那么你可以使用: / ...

  5. sae python安装第三方模块

    sae python安装第三方模块 经过这一个星期的折腾,发现编程真心不是看出来的,真心是跟着书上的代码敲出来的.sae的服务做得很好,不过有时候会崩就是了.当sae上没有自己所需要的第三方模块时,可 ...

  6. python——模块(Module)的概念、使用以及安装第三方模块

    一.模块定义 python中,一个.py文件就是一个模块(Module). 使用模块的好处:1.提高了代码的可维护性.我们把函数进行分组,分别放在不同的模块中.2.编写代码不必要从0开始,当一个模块编 ...

  7. 【Python】[模块]使用模块,安装第三方模块

    一个.py文件就称之为一个模块(Model)按目录来组织模块的方法,称为包(Package)每一个包目录下面都会有一个__init__.py的文件内置函数1.使用模块 导入模块 import sys ...

  8. 安装第三方模块方法和requests

    如何安装第三方模块 pip3         pip3 install xxxx          源码         下载,解压         进入目录 python setup.py inst ...

  9. python 安装第三方模块

    在Python中,安装第三方模块,是通过setuptools这个工具完成的. 如果你正在使用Mac或Linux,安装setuptools本身这个步骤就可以跳过了. 如果你正在使用Windows,请首先 ...

  10. Anaconda安装第三方模块

    Anaconda安装第三方模块 普通安装: 进去\Anaconda\Scripts目录,conda install 模块名 源码安装: 进去第三方模块目录,python install setup.p ...

随机推荐

  1. kubeadm init cannot find network namespace 错误

    使用 kubeadm 安装好 weave 网络插件之后,查看 kubelet 输出信息发现如下错误: 4月 25 13:51:48 k8s-master kubelet[1232730]: I0425 ...

  2. #三分,分治,计算几何,prim#JZOJ 3860 地壳运动

    题目 \(q\)组询问查询最小生成树,边权为\(u*k1+v*k2\)(\(k1,k2\)每次询问都不同) \(n\leq 35,m\leq 25000,q\leq 200000\) 分析 纯\(\t ...

  3. OpenAtom OpenHarmony三方库创建发布及安全隐私检测

    OpenAtom OpenHarmony三方库(以下简称"三方库"或"包"),是经过验证可在OpenHarmony系统上可重复使用的软件组件,可帮助开发者快速开 ...

  4. 做了5年开源项目,我总结了以下提PR经验!

    如何优雅地参与开源贡献,向顶级开源项目提交 PR(Pull Request),如何更好地提交 PR? 针对这些问题和疑惑,我们邀请了 OpenAtom OpenHarmony(以下简称"Op ...

  5. [IOI2000]邮局 题解

    简要题意 线段上有 \(V\) 个村庄,现在要建 \(P\) 个邮局,使每个村庄到最近的邮局的距离之和最小. 50分做法 设\(dp[i][j]\) 表示第一个村庄到第 \(i\) 个村庄,建了 \( ...

  6. Regex中Replace方法的简单实用

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. 如何通过 kubectl 进入 node shell

    概述 假设这样一个场景: 生产环境中,Node 都需要通过堡垒机登录,但是 kubectl 是可以直接在个人电脑上登录的. 这种场景下,我想要通过 kubectl 登录到 K8S 集群里的 Node, ...

  8. 结构化数据上的 TopN 运算

    1.     最大值 / 最小值 最大值 / 最小值可以理解为 TopN 查询中,N 等于 1 时的情况,因为很常用所以单独拿出来讲一下.取最大值 / 最小值是很常见的需求,例如一班数学最高分是多少, ...

  9. 重新整理 .net core 实践篇———承载[外篇]

    前言 简单介绍一下承载. 正文 名称叫做承载,其实就是.net core 定义的一套长期运行的服务的规范. 这个服务可以是web服务,也可以是其他服务,比如tcp,或者一些监控服务. 这里以监控服务为 ...

  10. linux 性能自我学习 ———— cpu 高怎么办 [三]

    前言 linux 性能分析自我学习. 正文 一般我们说cpu,一般是什么高呢? 一般是指cpu 使用率高. 那么什么是cpu 使用率呢? cpu 使用率 = 1- 空闲时间/总cpu 时间 平均cpu ...