Nginx 编译安装第三方模块
Posted 锦衣admin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx 编译安装第三方模块相关的知识,希望对你有一定的参考价值。
nginx 编译安装第三方模块
第三方模块使用
Nginx官方没有的功能,开源开发者定制开发一些功能,把代码公布出来,可以通过编译加载第三方模块的方式,使用新的功能。
第三方模块网址:https://www.nginx.com/resources/wiki/modules
编译安装第三方模块(并升级)
第一步:上传高版本Nginx 源码包和第三方模块压缩包
从网站下载自己所需要的第三方模块
比如:ngx-fancyindex-v0.4.3.tar.gz
和tar 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.gz
和tar 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 编译安装第三方模块的主要内容,如果未能解决你的问题,请参考以下文章