nginx 的两个模块 不过感觉都没什么用

 
更多

nginx设置日志不记录404或者200或者其他日志信息

第一步:
先到Github下载ngx_log_if地址https://github.com/cfsego/ngx_log_if/ ,你可以下载压缩包,然后在解压unzip  ngx_log_if-master.zip

unzip /usr/local/ngx_log_if-master.zip

第二步
编译安装nginx   ./configure –prefix=/usr/local/nginx –with-pcre  –add-module=/root/ngx_log_if-master   ##记得带上这个模块

make && make install

安装完成后用/usr/local/nginx/sbin/nginx -V 查看你安装的模块有哪些

第三步: 注意(如果你的主机配置文件在vhhosts这个目录下,可能不管用,最后配置在nginx.conf这个主配置文件里面)
配置access_log_bypass_if到nginx.conf配置文件中
server {
    location / {
        access_log_bypass_if ($status = 404); #不记录404状态的所有日志信息
        access_log_bypass_if ($uri ~* ‘images’); #不记录uri中所有images目录下文件的日志信息
        access_log_bypass_if ($uri = ‘/index.html’); #不记录uri为/index.html的日志信息
         access_log_bypass_if ($host ~* ‘tonv.cc’); #不记录host为tonv.cc的所有日志信息
    }
}
最后重启nginx服务,就可以了

nginx忽略URL大小写

从windows转到linux 时,发现很多URL连接到web目录是随意的,但是在linux下是区分大小写的,为了解决这个问题,网上也提供很多方案,比如用perl模块,但是nginx官网已经提示用perl模块有内存溢出的危险,所以第一时间放弃了。另一个是使用第三方模块https://github.com/replay/ngx_http_lower_upper_case 因为nginx不支持动态加载,所以还要重新编译一个nginx,第三种方法是通过lua来实现,类似perl,不过lua 比perl要好很多,看看 http://openresty.org/cn/ 就知道有多火了。既然重新编译nginx那么干脆试试tengine 吧。下面是操作的命令,下载,解压,安装,就不详细描述了

yum install -y lua lua-devel

./configure –prefix=/usr/local/tengine  –with-http_lua_module
make
make install
 

安装后,在配置文件里加上下面内容,即可(注意这个只是一个参考)

location / {
    root   /wwwroot/web/;
    index  index.html index.htm;
    if ( $uri ~ [A-Z] ){
         rewrite_by_lua ‘return ngx.redirect(string.lower(ngx.var.uri),ngx.HTTP_MOVED_PERMANENTLY)’;
    }
}

打赏

本文固定链接: https://www.cxy163.net/archives/1539 | 绝缘体

该日志由 绝缘体.. 于 2017年07月13日 发表在 首页 分类下,
原创文章转载请注明: nginx 的两个模块 不过感觉都没什么用 | 绝缘体
【上一篇】
【下一篇】

报歉!评论已关闭.