nginx编译和一些moudle的测试
2016-12-11 21:20
134 查看
一、ngx_http_addition_module
1、最近看了下ngx_http_addition_module模块,这个模块在响应之前或者之后追加文本内容,比如可以追加一个js或者css,可以使用这个模块来实现。于是按照官网,在nginx的配置文件添加了相应的配置,在重启nginx的时候发现,nginx在编译的时候没有编译这个模块,为了测试,自己下了个nginx源码进行编译,在编译过程中也遇到了一些问题:
2、编译:
在编译前,在./configure的时候添加了--with-http_addition_module参数:
先是出现了adding module 中的ngx_cache_purge-2.3 no found的报错:于是下载了ngx_cache_purge-2.3的包,在解压好后,在add_module中指定ngx_cache_purge-2.3的路径解决。
解决了ngx_cache_purge-2.3的问题后,又出现了the HTTP rewrite module requests the PCRE library的报错:
很明显是缺少了pcre库,用sudo yum install pcre-devel安装pcre库后重新尝试:
这次执行configure脚本没有再报错后
执行make && make install编译和安装nginx:
【make:编译,当执行make的时候,make会在当前目录下搜索Makefile(makefile)这个文本文件,而makefile里面记录了源码如何编译的详细信息
了解几个能关系到能否编译成功的文件:/etc/ld.so.conf、ldconfig
/etc/ld.so.conf,这个文件中记录的编译时使用的动态链接库的路径,默认情况下编译器只会使用/lib和/usr/lib这两个目录下的库文件,如果你安装了其他的库,那么安装完成后就需要在/etc/ld.so.conf把这个库文件中的绝对路径写进去
ldconfig是一个程序,它的作用就是将/etc/ld.so.conf中的路径缓存到/etc/ld.so.cache中,因此在安装完一些库文件或者修改ld.so.conf增加新的路径后需要运行一下/sbin/ldconfig使所有的库文件都缓存都ld.so.cache中,如果没有运行/sbin/ldconfig,即使库文件就在/etc/ld.so.conf中,也是不会被使用的,结果在编译的过程中同样报错缺少XXX库!
最后可以通过一条命令来检查是否成功编译:echo $?,为0表示编译通过】
3、nginx重新编译后,在nginx上添加了如下配置:
4、重启nginx后访问:
二、ngx_http_auth_basic_module
1、ngx_http_auth_basic_module模块实现访问限制,只有输入正确的用户密码才允许访问web内容:
nginx basic auth指令
语法: auth_basic string | off;
默认值: auth_basic off;
配置段: http, server, location, limit_except
2、尝试在在nginx上配置:
这里要注意auth_basic_user_file的路径,否则会报403,在自己测试的时候就因为这个找了好久原因。
3、配置密码:根据官网的提示,密码需通过crypt函数进行加密,如下:
4、测试效果:
1、最近看了下ngx_http_addition_module模块,这个模块在响应之前或者之后追加文本内容,比如可以追加一个js或者css,可以使用这个模块来实现。于是按照官网,在nginx的配置文件添加了相应的配置,在重启nginx的时候发现,nginx在编译的时候没有编译这个模块,为了测试,自己下了个nginx源码进行编译,在编译过程中也遇到了一些问题:
2、编译:
在编译前,在./configure的时候添加了--with-http_addition_module参数:
先是出现了adding module 中的ngx_cache_purge-2.3 no found的报错:于是下载了ngx_cache_purge-2.3的包,在解压好后,在add_module中指定ngx_cache_purge-2.3的路径解决。
解决了ngx_cache_purge-2.3的问题后,又出现了the HTTP rewrite module requests the PCRE library的报错:
很明显是缺少了pcre库,用sudo yum install pcre-devel安装pcre库后重新尝试:
这次执行configure脚本没有再报错后
执行make && make install编译和安装nginx:
【make:编译,当执行make的时候,make会在当前目录下搜索Makefile(makefile)这个文本文件,而makefile里面记录了源码如何编译的详细信息
了解几个能关系到能否编译成功的文件:/etc/ld.so.conf、ldconfig
/etc/ld.so.conf,这个文件中记录的编译时使用的动态链接库的路径,默认情况下编译器只会使用/lib和/usr/lib这两个目录下的库文件,如果你安装了其他的库,那么安装完成后就需要在/etc/ld.so.conf把这个库文件中的绝对路径写进去
ldconfig是一个程序,它的作用就是将/etc/ld.so.conf中的路径缓存到/etc/ld.so.cache中,因此在安装完一些库文件或者修改ld.so.conf增加新的路径后需要运行一下/sbin/ldconfig使所有的库文件都缓存都ld.so.cache中,如果没有运行/sbin/ldconfig,即使库文件就在/etc/ld.so.conf中,也是不会被使用的,结果在编译的过程中同样报错缺少XXX库!
最后可以通过一条命令来检查是否成功编译:echo $?,为0表示编译通过】
3、nginx重新编译后,在nginx上添加了如下配置:
4、重启nginx后访问:
二、ngx_http_auth_basic_module
1、ngx_http_auth_basic_module模块实现访问限制,只有输入正确的用户密码才允许访问web内容:
nginx basic auth指令
语法: auth_basic string | off;
默认值: auth_basic off;
配置段: http, server, location, limit_except
2、尝试在在nginx上配置:
这里要注意auth_basic_user_file的路径,否则会报403,在自己测试的时候就因为这个找了好久原因。
3、配置密码:根据官网的提示,密码需通过crypt函数进行加密,如下:
4、测试效果:
相关文章推荐
- 关于编译安装nginx的一些问题
- centos6.4 nginx php mysql 编译安装一些补充事项
- Reflector .net程序反编译工具的一些插件_sihanjishu的个人空间_51Testing软件测试网 - powered by X-Space
- linux下安装一些的编译的安装apache 、nginx、php常出现的错误
- spark 2.0.1(技术预览版)的编译与测试(附一些新特性的介绍)
- 把ImageMagic库编译进nginx服务器的一些必要配置
- Nginx服务测试时的一些配置:wireshark、常用搜索URL格式、关闭防火墙、siege
- Windows下编译nginx的一些笔记(自用)
- 我个人的Nginx-1.12.2实践:安装,编译与测试(★firecat推荐,针对TCP四层负载均衡★)
- 编译安装配置nginx1.6以及其一些基本配置等
- 关于Apache,Nginx 的一些测试
- 关于NGINX变量的一些测试结果
- 一个简单的动态编译器,支持C#和VB.NET。当你想测试一些简单的代码的时候可以使用。
- nginx1.11.9 apt即源码编译各平台测试
- 面向对象的一些概念测试(备忘录)
- 在项目中使用Hibernate进行大数据量的性能测试,有一些总结(转贴)
- .Net编译的COM+组件的注册测试
- 一些XML测试的题目,有兴趣的看看。
- 对32位系统C指针的一些测试
- VC中常见的一些编译链接错误的解决(1)