Nginx 编译安装第三方模块

Posted 锦衣admin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx 编译安装第三方模块相关的知识,希望对你有一定的参考价值。

第三方模块使用

Nginx官方没有的功能,开源开发者定制开发一些功能,把代码公布出来,可以通过编译加载第三方模块的方式,使用新的功能。

第三方模块网址:https://www.nginx.com/resources/wiki/modules

编译安装第三方模块(并升级)

第一步:上传高版本Nginx 源码包和第三方模块压缩包

从网站下载自己所需要的第三方模块

比如:ngx-fancyindex-v0.4.3.tar.gztar xvf echo-nginx-module-0.61.tar.gz

编译安装以上两个Nginx的第三方模块。

第二步:编译升级安装,并升级

解压:
	# cd /root/soft
	# tar xf nginx-1.18.0.tar.gz
	# tar xf ngx-fancyindex-v0.4.3.tar.gz
	# tar xf echo-nginx-module-0.61.tar.gz


# cd /root/soft/nginx-1.18.0		=>	进入新版本Nginx的源码包解压目录

静态编译第三方模块:
# ./configure  --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --add-module=/root/soft/ngx-fancyindex-0.4.3/ --add-module=/root/soft/echo-nginx-module-0.61
		=>	加上两个参数--add-module=/<module_name>
		=>	./nginx -V 查看原来配置编译的参数


# make && make install && make upgrade	=>	重新编译安装,实现平滑升级且配置第三方模块

编译安装第三方模块(不升级)

第一步:上传高版本Nginx 源码包和第三方模块压缩包

从网站下载自己所需要的第三方模块

比如:ngx-fancyindex-v0.4.3.tar.gztar xvf echo-nginx-module-0.61.tar.gz

编译安装以上两个Nginx的第三方模块。

第二步:编译升级安装,不升级

先停止Nginx服务:
# systemctl stop nginx

解压:
	# cd /root/soft
	# tar xf nginx-1.18.0.tar.gz
	# tar xf ngx-fancyindex-v0.4.3.tar.gz
	# tar xf echo-nginx-module-0.61.tar.gz


# cd /root/soft/nginx-1.18.0		=>	进入新版本Nginx的源码包解压目录

静态编译第三方模块:
# ./configure  --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --add-module=/root/soft/ngx-fancyindex-0.4.3/ --add-module=/root/soft/echo-nginx-module-0.61
		=>	加上两个参数--add-module=/<module_name>
		=>	./nginx -V 查看原来配置编译的参数


# make && make install	=>	重新编译安装,配置第三方模块

开启Nginx 服务:
# systemctl start nginx

fancy-index 模块使用

有很多东西可以配置,详细查看官方文档

文档介绍:

fancy-index模块有一个美化列表效果
在这里插入图片描述

实现操作步骤:

第一步:查看确认编译模块参数

  • 确认是否包含ngx-fancyindex模块
#l /usr/local/nginx/sbin/nginx -V		=>	查看版本号及其编译参数

第二步:在nginx 配置文件中配置实现

  • 可以配置到http、server、location等下。推荐配置到server下
  • 如果原来有配置autoindex on;,可以删除或注释掉
# vim /usr/local/nginx/conf/nginx.conf		=>	添加配置,记得重载
	fancyindex on;						=>	开启fancy indexes 列表显示功能
	fancyindex_exact_size off;			=> 显示更为可读的文件大小

# systemctl reload nginx

展示效果:
在这里插入图片描述

echo 模块使用

echo模块常用来进行调试用,比如输出打印Nginx默认系统变量

官方手册:https://github.com/openresty/echo-nginx-module

语法示例:

  • 验证是否一下$document_root是否和root设定的值一致
# vim /usr/local/nginx/conf/nginx.conf		=>	添加两行配置,记得重载

location / {

    default_type text/plain;		=>	定义输出为纯文本类型
    #default_type text/html;		=>	定义输出为文本类型,可以解析html 任选一个

    echo $document_root;			=>	打印输出查看变量信息
}

# systemctl reload nginx

展示效果:
在这里插入图片描述

以上是关于Nginx 编译安装第三方模块的主要内容,如果未能解决你的问题,请参考以下文章

Nginx 编译安装第三方模块

nginx已安装完毕,如何再添加第三方模块?

Nginx 编译,加入未编译安装模块ngx_cache_purge

如何安装nginx第三方模块

如何完成Ubuntu16.04编译安装Nginx

如何安装nginx第三方模块