按分类归档:Nginx

goaccess 分析日志详解

yum安装的nginx默认日志格式 log_format 日志格式: nginx日志格式,为了对比,我把它换行了,去掉了单引号 nginx访问日志(已换行)每一行与上面一一对应: 特别说一下$http_referer的含义。 一个页面中会引用css、js、图片等资源,去请求这些资源的时候$http_referer字段就是对应的当前页面地址。 比如现在1.html代码如下,引入了一张图片。 nginx的访问日志如下: nginx中支持的日志格式可以从 http://www.rootop.org/pages/3070.html 这里查看。 明白了上面日志格式含义,再去看goaccess的日志格式 可以从 https://goaccess.io/man#custom-log 查看 “CUSTOM LOG/DATE FORMAT” 部分对于日志格式的定义 第一个知识点:goaccess 默认以空格做为分隔符 定义一个对应nginx日志格式的goaccess配置文件 time-format(时间格式)和date-format(日期格式)可以理解为定义了两个变量,并以此为变量名。后面是变量值。 可以在shell下执行 echo $(date +%d/%b/%Y:%H:%M:%S) ,输出的时间格式和日志里的时间格式是一样的(除了没有时区) log-format 开始定义日志格式,%d和%t其实就是去调用变量,d代表调用日期变量,t代表调用时间变量 第二个知识点:不要忘记日志格式中的双引号,及其他字符,如[],否则会解析失败。 goaccess 格式参数解释: 现在生成html。 [root@localhost ~]# goaccess -f /var/log/nginx/access.log … 继续阅读

评论关闭

Nginx缩略图模块ngx_image_thumb

来源:https://github.com/3078825/ngx_image_thumb 模块同时支持 Nginx 和 tengine 本nginx模块主要功能是对请求的图片进行缩略/水印处理,支持文字水印和图片水印。 支持自定义字体,文字大小,水印透明度,水印位置。 判断原图是否是否大于指定尺寸才处理。 ….等等 编译方法 编译前请确认您的系统已经安装了libcurl-dev libgd2-dev libpcre-dev 依赖库 CentOS /RedHat / Fedora # 请确保已经安装了gcc automake autoconf m4 yum install gd-devel pcre-devel libcurl-devel ###下载nginx / tengine 源代码 然后下载本模块代码,并放在nginx源代码目录下 选Nginx还是Tengine,两者选其一 # 下载Tengine $ wget http://tengine.taobao.org/download/tengine-1.4.5.tar.gz $ … 继续阅读

评论关闭

nginx限制并发连接数及下载带宽

nginx版本:nginx-1.6.2 在早期nginx中为limit_zone,新版本改为limit_conn_zone 编译安装时不需要特定参数,默认就会编译进去。 配置过程: 在nginx.conf中的http{}段里添加: 在需要限制并发数和下载带宽的虚拟主机配置文件server{}段里添加: 参数说明: $binary_remote_addr  #限制同一客户端ip地址 $server_name #限制同一server最大并发数 limit_conn       #限制并发连接数 limit_rate         #对每个连接(而不是对源ip)限制下载速度kb limit_conn_zone,是针对每个IP定义一个存储session状态的容器。 这个示例中定义了一个10m的容器,按照32bytes/session,可以处理320000个session。 同一个浏览器下载2个视频测试: 超过最大连接数效果图: nginx相比apacha下的第三方模块mod_bw要好一些,不过发现现在apache2.4版本中也有了限速模块。 地址:http://httpd.apache.org/docs/2.4/mod/mod_ratelimit.html 提示: 在windows下的nginx中使用此功能会有问题,nginx错误日志信息: 2015/04/03 09:07:25 [emerg] 1840#548: shared zone “perip” has no equal … 继续阅读

评论关闭