Nginx实现浏览器实时查询访问日志
在很多时候我们都需要在页面上实时查看nginx的日志输出,并且能在页面上显示,下面我就给大家说下怎么在浏览器上实时动态的查看nginx的访问日志。
查看nginx版本,我使用的是1.10.1的版本,目前最新的,安装目录在/usr/local/nginx/
1.查看版本 /usr/local/nginx/sbin/nginx -v
2.检查语法 /usr/local/nginx/sbin/nginx -t
3.重新载入,无需重启 /usr/local/nginx/sbin/nginx -s reload
4.把nginx.conf配置文件中多余的部分删除, egrep -v "#|$^" nginx.conf
在这里只是记录了如果添加访问日志的目录
1.在配置文件中添加配置
1 location /logs { 2 alias /application/nginx/logs; 3 #Nginx日志目录 4 autoindex on; 5 #打开目录浏览功能 6 autoindex_exact_size off; 7 #默认为on,显示出文件的确切大小,单位是bytes 8 #显示出文件的大概大小,单位是kB或者MB或者GB 9 autoindex_localtime on; 10 #默认为off,显示的文件时间为GMT时间。 11 #改为on后,显示的文件时间为文件的服务器时间 12 add_header Cache-Control no-store; 13 #让浏览器不保存临时文件 14 }
2.开启在浏览器打开log文件,如果不开启再点击文件的时候就下载而不是打开
[root@localhost conf]# vim mime.types
types {
text/html html htm shtml;
text/log log;
text/css css;
text/xml xml;
3.重新载入配置文件即可,浏览器正常访问.
但是!日志随随便便就可以被别人查看是不是很不安全,所以我们要在加一层nginx用户认证 --(其实我是为了装逼)
4.安装http-tools,用于账户密码生产, yum -y install http-tools
[root@TEST conf]# pwd
/usr/local/nginx/conf
[root@TEST conf]# htpasswd -c nginxuser nginx
New password:
Re-type new password:
Adding password for user nginx
5.继续编辑之前的配置文件
location /logs {
......
alias /usr/local/nginx/logs/;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
add_header Cache-Control no-store;
auth_basic "CQdream";
#Nginx认证
auth_basic_user_file /application/nginx/conf/loguser;
#认证账号密码保存的文件
}
然后再打开的时候就会提示输入账号和密码,登陆之后才可以查看。。。。。 很好,完美。。。