nginx是常用的一款web服务器,nginx是使用模块化的架构,在实际使用过程中我们要根据不同的需求,将不同的模块编辑到nginx里面去。但是在编译过程的时候,默认安装的模块有哪些呢?下面我们一起来看。

工具/原料

  • nginx压缩包

方法/步骤

  1. 在nginx官网上的下载页面找到linux最新版本的下载链接,我们一般是使用nginx的stable版本,即稳定版本。在下载链接上点右键,选择复制链接。

    nginx编译安装时,怎么查看安装的默认模块

  2. 然后在需要编译安装nginx的linux主机上通过下面图中的命令将刚才复制的文件链接里的nginx压缩包下载下来。下载完成后,使用tar命令将nginx解压出来,解压好以后,在解压的目录中我们可以看到一个auto目录。

    nginx编译安装时,怎么查看安装的默认模块

    nginx编译安装时,怎么查看安装的默认模块

  3. 在这个auto目录中有一个options文件,这个文件里面保存的就是nginx编译过程中的所有选项配置。

    nginx编译安装时,怎么查看安装的默认模块

  4. 如下面第一张图中所示,通过命令:

    cat nginx-1.14.0/auto/options | grep YES

    找到所有编译状态默认是YES的模块,显示结果如图中所示。格式是:

    module_name=YES

    此外,还会显示出所有编译选项里包含YES字段的行,如下面第二张图中所示,以–with开头的那些行,这些可以先不看。

    nginx编译安装时,怎么查看安装的默认模块

    nginx编译安装时,怎么查看安装的默认模块

    5.既然说到所有默认安装的模块状态是YES,那么我们来验证一下,看下面这张图。我们通过grep命令找到HTTP_CACHE模块,可以看到它的搜索结果只有两个,分别是:

    HTTP_CACHE=YES

    –without-http_cache

    第一个表示HTTP_CACHE是个默认安装的模块,第二个选项表示禁用这个模块。即默认安装的模块只有一个=YES的状态和一个–without的关闭开关。

    然后再用grep命令查找select这个web事件处理模块,可以看到并没有

    SELECT=YES

    这样一个选项,能看到的只有两个

    –with-select_module

    –without-select_module

    第一个是编译时启用这个模块,第二个用来关闭这个模块。即可选模块有两个开个,一个是–with开头的启用开关,一个是–without开头的禁用开关。

    这就是默认安装的模块和可选模块的区别。其他的模块也是一样,大家可以在自己的电脑上验证一下。

    nginx编译安装时,怎么查看安装的默认模块

    6.在查询这些资料时,网络上其他文档里说,可以使用nginx -V命令来查看。实际上不一定。比如我这里使用configure命令进行配置时,只带了一个参数,如下面所示,命令是:

    ./configure --prefix=/usr/local/nginx

    编译完成后,使用make && make install命令安装。安装完成后,使用

    nginx -V

    命令查看时,可以看到,只有一个–prefix=/usr/local/nginx参数,根本看不到默认安装的模块。因此这种方法只适合查看自己添加的参数、编译时附带的可选模块或三方模块。

    nginx编译安装时,怎么查看安装的默认模块

    nginx编译安装时,怎么查看安装的默认模块

注意事项

  • nginx不同的版本安装的默认模块可能有区别,大家显示的和我的可能有差异。但是原理相同。
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐