精华内容
下载资源
问答
  • nginx 新增headers-more-nginx-module 模块nginx的2种安装方式新增模块变通方法 系统是 centos 7.3 nginx的2种安装方式 官方文档-2种安装方式 nginx 官方有2种安装方式:① 使用yum 安装 ② 使用源码编译安装。2种...

    以headers-more-nginx-module 模块 为例

    系统是 centos 7.3

    nginx的2种安装方式

    官方文档-2种安装方式
    nginx 官方有2种安装方式:① 使用yum 安装 ② 使用源码编译安装。2种不同的安装方式 在 添加新增模块的时候就体现出差别来了

    新增模块

    如果使用了 ② 安装方法,那么根据网上千篇一律的文章 和 headers-more-nginx-module 模块的 文档就可以,简而言之就是 使用.下载模块包 + /configure + make 完成 (同时该模块也支持了动态加载,但是只是字面意义的动态加载)。那么这篇文章也就没有读下去的必要了

    但是如果使用了① 安装方式,则无法 使用 configure 。 如果你搜索 yum install nginx 安装 第三方模块 。文章都会说,重新使用 ② 方式下载nginx 。 what the ** ? 作为小白,我当时使用yum 安装不就是了为了 省时省力,现在安装个模块居然要重新安装nginx… 这就好比脱***

    如果使用了yum安装了nginx,同时 安装模块的时候,不想重新安装编译 nginx怎么办?这里提供一些思路,仅供参考:

    变通方法

    ① 根据 headers-more-nginx-module 模块 issues 中,关于“安装模块而无需从源代码中重新编译Nginx”的讨论 知晓, 可以使用yum 安装 openresty 模块 ,OpenResty模块内置了这个模块(因为这个模块是由他们制造的)。 但是我自己感觉这就好比 喝一杯奶茶而买下整栋大厦。

    ② 安装 gcc++, 使用automake、autoconf生成configure文件 。可以参考 这篇文章 。 建议小白直接放弃这种方法。

    ③ 使用第三方源 安装。 headers-more-nginx-module 模块 本来就是一个第三方模块了,但是它没有提供 二进制安装包,就是说不能直接yum install,只能编译。 但是可以找一些 别人编译好的 安装包,直接使用 yum install 安装,比如 pkgs.org 下的headers-more-nginx-module 模块的二进制安装包 。 pkgs.org 类似 前端的npm 网站 ,提供一些安装包

    pkgs.org 这个网站专门从各大发行版官方源(包括 Packman 源)
    搜集各个软件包的信息,记录各个官方源的下载链接,用于检索软件包。
    可以在这个网站搜索到各个发行版的软件信息,根据下载链接下载软件包,
    用起来很方便。

    但是 这个比较是第四方 提供的安装包(相当于第三方)。 可能会有安全性等问题。

    ④ 安装 headers-more-nginx-module 模块 ,本来只是为了隐藏/修改 header 中 server 的名称而已。但是如果过于耗时,不如放弃。 有很多网站header中 的 server name 是直接显示的,可以用f12 查看。
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • yum安装的nginx新增模块大概的思路 官方nginx.org 下载相同版本的nginx源码包 编译安装并指定需要的模块(第三方模块需要单独下载对应的包) 注意只编译make,不安装make install. 编译完成会在objs目录下生成可执行...

    yum安装的nginx新增模块大概的思路

    1. 官方nginx.org 下载相同版本的nginx源码包

    2. 编译安装并指定需要的模块(第三方模块需要单独下载对应的包)

    3. 注意只编译make,不安装make install. 编译完成会在objs目录下生成可执行文件nginx

    4. 复制nginx 可执行文件 到cp objs/nginx /usr/sbin/


    一、下载源码包

    当前yum安装的nginx版本: nginx -v 1.16.0

    当前nginx可执行文件:which nginx /usr/sbin/nginx ,最好先备份此文件

    nginx.org 没有找到1.16.0 , 这里下载1.16.1源码包来代替

    下载并解压到: /usr/local/nginx-1.16.1目录

    开始编译前先备份:

    备份源nginx cp /usr/sbin/nginx /usr/sbin/nginx.bak

    备份配置文件 nginx cp -r /etc/nginx /etc/nginx.bak

    二、配置编译的参数

    查看nginx已经安装的模块 nginx -V

    ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --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-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module  --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
    

    在上面的命令里面加上 --with-http_image_filter_module=dynamic 开始执行编译,编译的时候依赖的模块没有安装导致错误,只需安装对应的模块即可。

    我编译的时候有依赖的两个模块没有安装:

    ./configure: error: the HTTP rewrite module requires the PCRE library.
    You can either disable the module by using --without-http_rewrite_module
    option, or install the PCRE library into the system, or build the PCRE library
    statically from the source with nginx by using --with-pcre=<path> option.

    安装pcre-devel: yum install pcre-devel

    ./configure: error: the HTTP image filter module requires the GD library.
    You can either do not enable the module or install the libraries.
    

    安装 gd-devel : yum install gd-devel

    总之缺什么就安装什么,网上很多文章已经介绍了依赖的所有的模块。

    三、编译源码包

    执行 make,切记不需要执行make install,此处只需要得到nginx重新编译的可执行文件,并不需要重新安装替换掉原来的nginx

    执行完成会在 objs 目录下生成对应的可执行文件nginx

    589455-20190821145718375-1912069228.png

    复制图片过滤模块: cp objs/ngx_http_image_filter_module.so /usr/lib64/nginx/modules/

    覆盖nginx可执行文件: cp -rfp objs/nginx /usr/sbin/

    四、nginx配置文件

    /etc/nginx/nginx.conf 动态加载模块 : load_module "modules/ngx_http_image_filter_module.so";

    589455-20190821150339699-1879166836.png

    /etc/nginx/conf.d/test.conf 配置图片处理

    location ~* /(.+)\.(jpg|jpeg|gif|png)!(\d+)x(\d+)$ {
                  set $w $3;
                  set $h $4;
                  image_filter resize  $w $h;
                  image_filter_buffer  10M;
                  image_filter_jpeg_quality 75;
                  try_files /$1.$2  /notfound.jpg;
                 #  expires 30d;
              }
    

    589455-20190821150537205-979800779.png

    nginx -t 检查nginx配置语法是否OK、再重新启动nginx即可

    五、测试图片缩放

    原图访问:

    589455-20190821150950679-413988771.png

    缩略图访问:
    589455-20190821151338425-434310701.png

    参考下面两篇就够了啊

    https://blog.csdn.net/zzy5066/article/details/81136273

    https://www.cnblogs.com/lixigang/articles/5130052.html

    https://www.cnblogs.com/tinywan/p/6965467.html nginx加载动态模块

    转载于:https://www.cnblogs.com/zqsb/p/11388889.html

    展开全文
  • 编译好的nginx需要添加headers-more-nginx-module模块来自定义响应头 nginx其它模块同样适用 环境 nginx包目录:/app/nginx-1.12.2 nginx安装目录:/app/nginx112 插件目录:/app/tools/headers-more-nginx-module-...

    需求场景

    编译好的nginx需要添加headers-more-nginx-module模块来自定义响应头

    nginx其它模块同样适用

    环境

    • nginx包目录:/app/nginx-1.12.2
    • nginx安装目录:/app/nginx112
    • 插件目录:/app/tools/headers-more-nginx-module-0.33
    • 系统环境centOs7

    资源地址

    下载

    # 举例目录/app/tools
    cd /app/tools/
    #下载插件
    wget https://github.com/openresty/headers-more-nginx-module/archive/v0.33.tar.gz
    #解压
    tar -zxvf v0.33.tar.gz

    加载模块

    # 查看安装参数命令(取出:configure arguments:)
    /app/nginx/sbin/nginx -V
    # 在nginx资源目录编译
    cd /app/nginx-1.12.2/
    # 将上面取出的configure arguments后面追加 --add-module=/app/tools/headers-more-nginx-module-0.33
    ./configure --prefix=/app/nginx112 --add-module=/app/tools/headers-more-nginx-module-0.33
    # 编辑,切记没有make install
    make
    # 备份
    cp /app/nginx112/sbin/nginx /app/nginx112/sbin/nginx.bak 
    # 覆盖(覆盖提示输入y)
    cp -f /app/nginx-1.12.2/objs/nginx /app/nginx112/sbin/nginx

    修改配置

    vim /app/nginx112/conf/nginx.conf
    # 添加配置(在http模块)
    more_clear_headers 'Server';
    上面配置只是将http响应头中的Server:nginx/1.12.2清楚,详细使用方案可阅读 参考文档,
    支持添加·修改·清除响应头的操作,

    重启nginx

    /app/nginx112/sbin/nginx -s stop
    /app/nginx112/sbin/nginx
    直接使用reload可能会无效
    展开全文
  • 前提:linux系统+nginx+mail模块 第一步:查看当前已经安装的nginx版本信息以及已经安装的模块并记住(后面会用到) 命令: nginx -V 结果: 注意:nginx 命令提示not found则需要以下命令: ln -s /usr/...

    前提:linux系统+nginx+mail模块

    第一步:查看当前已经安装的nginx版本信息以及已经安装的模块并记住(后面会用到)

    命令:

    nginx -V

    结果:

    注意:nginx 命令提示not found则需要以下命令:

    ln -s /usr/local/nginx/sbin/nginx /sbin/nginx

    第二步:下载与上面版本一致的nginx源码

    地址:http://nginx.org/en/download.html

    第三步:解压源码包到 /usr/local/目录下,cd到源码目录,执行configure命令

    官网源码安装指南:http://nginx.org/en/docs/configure.html

    ./configure --prefix=/usr/local/nginx 后面可以继续写其他参数

    例如:mail模块的命令:

    ./configure --prefix=/usr/local/nginx --with-mail --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-mail_ssl_module

    注意:如果提示configure没有权限则运行:chmod +x configure

    第四步:make && make install

     

    展开全文
  • Nginx新增模块more_clear_headers

    千次阅读 2018-02-08 16:25:26
    此篇主要是为了解决: nginx: [emerg] unknown directive “more_clear_headers” in /...新增模块more_clear_headers的处理步骤: 1、查看nginx编译时安装的模块 /usr/local/nginx/sbin/nginx -V nginx versi...
  • Nginx新增Echo模块使用

    2021-01-16 14:27:19
    Nginx新增Echo模块使用 在原来安装nginx基础上新增Echo模块需要在原版本Nginx源码包重新解压编译,但是不需要重新安装 nginx安装可参考: 点击这里 Echo模块源码包下载链接: ...查看Nginx编译模块: ...
  • nginx新增 echo模块

    千次阅读 2019-08-28 18:40:03
    nginx已经安装的情况下新增echo模块 1.下载需要新增模块(升级nginx与此一样) 模块:v0.61.tar.gz 2.解压到与nginx包解压同级的目录 [root@nginx ~]# cd /usr/src/ [root@nginx src]# ls debug kernels nginx-...
  • 某些时候nginx已经安装好并且上线,由于业务需求需要新增模块。现以在已安装好的nginx 新增SSL 模块为例进行讲述。 查看nginx 版本,进入 nginx 的安装目录(本例安装在 /nginx)。 使用指令: /nginx/sbin/nginx ...
  • Nginx新增 echo模块

    2019-08-28 12:13:48
    Nginx在已安装的情况下新增 echo 模块 1 下载需要的echo模块 # wget https://github.com/openresty/echo-nginx-module/archive/v0.61.tar.gz # tar xf v0.61.tar.gz -C /usr/src/ # ls debug kernels nginx-1.1...
  • Nginx 在线新增模块

    2019-10-06 19:35:21
    今天给项目添加ssl证书时,发现nginx 竟然不支持ssl,经过查看,询问相关人员发现nginx编译的时候没有任何模块(历史原因)。哎。。。。 以下 就记录下本人在线添加nginx对应模块的步骤: 1、下载对应nginx版本 ...
  • 安装stream模块: 1.nginx 增加tcp ./configure --with-stream (新增配置,其余根据自己需求不变) 2.配置nginx.conf stream { upstream ftp { hash $remote_addr consistent; server 192.168.1.2:21 max_fails=3....
  • Nginx新增支持WebDav模块

    千次阅读 2020-05-26 10:32:20
    模块下载地址:https://github.com/arut/nginx-dav-ext-module 如报错找不到libxslt.so 下载地址:http://mirror.centos.org/centos/7/os/x86_64/Packages/libxslt-1.1.28-5.el7.x86_64.rpm 1、配置Nginx以支持...
  • nginx如何新增模块——add-module.pdf
  • nginx如何新增模块——add-module

    千次阅读 2019-08-30 22:42:19
    文章目录niginx部署新的需求--添加一个echo模块nginx已经安装的情况下新增echo模块验证:总结 niginx部署 这里参考: https://blog.csdn.net/weixin_42313749/article/details/100088174 新的需求–添加一个...
  • Tengine是淘宝在Nginx基础之上的二次开发版,Tengine完全兼容Nginx,因此可以参照Nginx的方式来配置Tengine。但Tengine提供了很多比较实用的特性,...ngx_http_upstream_keepalive_module模块增加nginx后端长连接...
  • 创建文件夹 nginx-test-module , 和nginx-1.9.15同级目录。nginx-test-module目录中创建 ngx_http_lktest_module.c 和 config ngx_http_lktest_module.c#include <ngx_config.h> #include #include <ngx_http.h>//...
  • 1.Nginx模块 设计优良,从2004年发布到现在,没有发生大的变化. 学习Nginx模块的高明之处,我们在学习一个模块的时候要从以下方面来进行学习: 1.这个模块要被编进Nginx中,这个是前提; 2.这个模块提供了哪些...
  • nginx添加模块

    2019-08-28 21:45:42
    1.下载需要新增模块 [root@lihuaixin ~]# ls anaconda-ks.cfg lihuaixin v0.61.tar.gz 2.解压到与nginx的解压目录同级的目录 [root@lihuaixin ~]# tar xf v0.61.tar.gz -C /usr/src/ [root@lihuaixin ~]# ...
  • 二、为nginx设置安装目录和启用的模块 三、编译 四、安装 五、启动nginx 六:新增加模块的操作方法 一、下载源码 http://nginx.org/download/nginx-1.16.0.tar.gz 执行下面命令,下载源代码到/data目录下: ...
  • nginx配置请求日志信息 http {  include mime.types;  default_type application/octet-stream;  charset utf-8;  sendfile on;    keepalive_timeout 65;  client_max_body_size...
  • 今天开始介绍Nginx框架相关内容。 Nginx将所有功能进行模块化区分,按照功能统一编排...Nginx为这些模块都进行统一的封装,保证接口的统一化。接下来我们来学习一下Nginx优良设计。 一、Nginx架构 我们先来看一下...
  • Nginx模块与工作原理

    千次阅读 2018-04-22 10:30:34
    1. Nginx模块与工作原理Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL...
  • 01:查看当前nginx的版本和已编译的模块,用nginx -V 02:对当前Nginx服务的命令nginx重命名,或者移动到其它目录下; ## 第二阶段 01:上传相同版本的nginx二进制包,解压且进入到解压后的目录下; 02:./configure...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,941
精华内容 5,576
关键字:

nginx新增模块