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)’;
}
}
最活跃的读者