为nginx增加第三方模块需要重新编译nginx的,但是debian在安装nginx的时候做了很多事情,比如systemd,/etc/nginx/里的各种文件,所以我们最好在debian源代码包的基础上改一改。

添加nginx官方apt仓库

参考 nginx官方文档,下载 nginx的key到,并添加到系统

sudo apt-key add nginx_signing.key

/etc/apt/sources.list 中添加如下两项,注意 deb-src 非常重要

deb http://nginx.org/packages/debian/ stretch nginx
deb-src http://nginx.org/packages/debian/ stretch nginx

如果你不是stretch,请自己修改为 jessise 等。完成之后,执行

sudo apt-get update

源码编译

参考这篇文章,安装编译工具和源代码

cd
mkdir nginx-build
cd nginx-build
sudo apt-get install -y dpkg-dev
sudo apt-get source nginx
sudo apt-get build-dep nginx

打开 nginx-build/nginx-<version>/debian/rules 文件,找到 config.status.nginx 下面的 CFLAGS,在靠后的位置添加你要编译的模块,例如

--add-module=/path/to/your/module

修改好了之后,在 nginx-build/nginx-<version>目录下面执行

sudo dpkg-buildpackage -b

编译完成之后,会在 nginx-build 目录下生成 deb包,如 nginx_1.14.0-1~stretch_amd64.deb

安装

如果在debian的main仓库中安装了 nginx-full,请先卸载之。然后执行

sudo dpkg -i nginx_1.14.0-~stretch_amd64.deb  # 根据你自己生成的deb文件修改

可以执行 sudo nginx -V 来查看是不是真的包含了你的模块

Debian 为nginx增加第三方模块的更多相关文章

  1. nginx增加第三方模块

    增加第三方模块 ============================================================ 一.概述nginx文件非常小但是性能非常的高效,这方面完胜ap ...

  2. nginx 增加 lua模块

    Nginx中的stub_status模块主要用于查看Nginx的一些状态信息. 本模块默认是不会编译进Nginx的,如果你要使用该模块,则要在编译安装Nginx时指定: ./configure –wi ...

  3. 为nginx增加nginx_http_concat模块

    为nginx增加nginx_http_concat模块 时间 2013-06-05 22:14:56  我行我思 原文  http://www.fanjun.me/?p=562 主题 Nginx 缘由 ...

  4. nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下)

    nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下),安装Nginx和HttpAccessKeyModule模块(参考LNMP环境 ...

  5. nginx 安装第三方 模块

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

  6. nginx增加新模块

    以gunzip这个模块为例,讲述一下,在nginx中如何安装新的模块 1.首先查看nginx已经安装了哪些模块. nginx –V 2.发现没有gunzip模块,安装 进入nginx的安装目录中,不是 ...

  7. centos6.5生产环境编译安装nginx-1.11.3并增加第三方模块ngx_cache_purge、nginx_upstream_check、ngx_devel_kit、lua-nginx

    1.安装依赖包 yum install -y gcc gcc-c++ pcre-devel openssl-devel geoip-devel 2.下载需要的安装包 LuaJIT-2.0.4.zip ...

  8. nginx安装第三方模块的方法

    nginx第三方模块安装方法: ./configure --prefix=/你的安装目录 --add-module=/第三方模块目录 以安装fair模块实例 下载fair安装包并解压 1.在未安装ng ...

  9. nginx安装第三方模块echo

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

随机推荐

  1. 编译boost到各个系统平台 mac,iOS,linux,android,wind

    编译boost到各个系统平台 mac,iOS,linux,android,wind git地址:https://github.com/czjone/boost git仓库:https://github ...

  2. Java高级架构师(一)第03节:多模块多Web应用合并War包

    多模块.多Web应用合并war包 在日常的系统开发中,如果担心各个系统的资源同名覆盖,可以在总的War模块下放置一份最终的资源. 将版本号改成9.1.0.v20131115,ok 在Idea中的Mav ...

  3. 乐观锁-version的使用

    出处:http://chenzhou123520.iteye.com/blog/1863407 乐观锁介绍: 乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般 ...

  4. Ubuntu 14 下,命令行终端显示短路径

    Ubuntu的终端命令行默认是长路径,即把路径深度全部显示出来,操作起来不是很方便,下面介绍命令行显示短路径的操作: $ vi ~/.bashrc 找到PS1=   的行,将\w(小写)改成\W(大写 ...

  5. 【docker】查看docker容器或镜像的详细信息命令,查看docker中正在运行的容器的挂载位置

    命令: docker inspect f257d69e0035 格式: docker inspect 容积或镜像ID 首先,docker ps获取简要信息 然后输入命令docker inspect   ...

  6. android 用 XML 自定义View边框个数,只有一边或两边

    <?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android=" ...

  7. Node.js 调用 restful webservice

    如何构建一个restful web service参考原来的文章 http://www.cnblogs.com/ericnie/p/5212748.html 直接用原来的项目编译好像有问题,此处耗费1 ...

  8. linux基础-第十九单元_nfs服务

    #服务端部署 介绍: NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的 ...

  9. 2017.12.07 postgresql使用with recursive完成迭代查询

    1.表结构 2.需求 查询某条记录的所有父亲节点,或者所有孩子节点. 3.向上查询(查询所有父亲节点) 注意,这里返回的记录包含自己. sql如下: WITH RECURSIVE res AS ( S ...

  10. 传统项目目录结构下maven+junit+junitReport

    <build> <defaultGoal>compile</defaultGoal> <sourceDirectory>${basedir}/src&l ...