Nginx代理浏览器可实时查看程序日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 我们经常需要在页面上实时查看nginx的日志输出,并且能在页面上显示,那么如何通过Nginx实现浏览器可实时查看访问日志呢?

我们经常需要在页面上实时查看nginx的日志输出,并且能在页面上显示,那么如何通过Nginx实现浏览器可实时查看访问日志呢?


一、首先查看nginx版本,我使用的是1.20.1的版本,安装目录在/application/nginx-1.20.1


[root@AnSheng ~]# /application/nginx-1.20.1/sbin/nginx -Vnginx version: nginx/1.20.1
built by gcc4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
configure arguments: --prefix=/application/nginx-1.20.1 --user=nginx --group=nginx --with-http_stub_status_module


二、检查语法并启动nginx


[root@AnSheng ~]# /application/nginx-1.20.1/sbin/nginx -tnginx: the configuration file /application/nginx-1.20.1/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.20.1/conf/nginx.conf test is successful
[root@AnSheng ~]# /application/nginx-1.20.1/sbin/nginx


三、把nginx配置文件内多余的注视行和空行删掉


[root@AnSheng ~]# cd /application/nginx-1.20.1/conf/[root@AnSheng conf]# egrep -v "#|^$" nginx.conf.defaultworker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500502503504 /50x.html;
location = /50x.html {
root html;
}
}
}
[root@AnSheng conf]# egrep -v "#|^$" nginx.conf.default nginx.conf


四、在nginx配置文件的server标签内加入以下标签和内容


location /logs {
    alias /application/nginx-1.20.1/logs;
#Nginx日志目录    autoindex on;
#打开目录浏览功能    autoindex_exact_size off;
#默认为on,显示出文件的确切大小,单位是bytes #显示出文件的大概大小,单位是kB或者MB或者GB                  autoindex_localtime on;#默认为off,显示的文件时间为GMT时间。 #改为on后,显示的文件时间为文件的服务器时间    add_header Cache-Control no-store;
#让浏览器不保存临时文件}


五、开启在浏览器打开log文件,如果不开启再点击文件的时候就下载而不是打开


[root@AnSheng conf]# vim mime.typestypes {
text/html html htm shtml;
text/log log;
text/css css;
text/xml xml;
.............


六、检测语法,然后让nginx配置生效,在浏览器查看


[root@AnSheng conf]# /application/nginx-1.20.1/sbin/nginx -tnginx: the configuration file /application/nginx-1.20.1/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.20.1/conf/nginx.conf test is successful
[root@AnSheng conf]# /application/nginx-1.20.1/sbin/nginx -s reload


打开浏览器输入域名或者IP,后面加上logs,然后点击文件就可以打开了,如果日志随随便便就可以被别人查看是不是很不安全,所以我们要在加一层nginx用户认证。




七、安装httpd-tools,用于帐号密码生成


[root@AnSheng ~]# yum -y install httpd-tools


八、创建认证的账号


[root@AnSheng ~]# htpasswd -c /application/nginx-1.20.1/conf/loguser loguserNew password:
Re-type new password:
Adding password for user loguser
#密码需要输入两次


九、编辑nginx配置文件,在logs的location加入下面的内容


location /logs {
    ......
    alias PATH;
    autoindex on;
    autoindex_exact_size off;
    autoindex_localtime on;
    add_header Cache-Control no-store;
    auth_basic "Restricted";
#Nginx认证    auth_basic_user_file /application/nginx-1.20.1/conf/loguser;
#认证账号密码保存的文件}


十、然后再打开的时候就会提示输入账号和密码,登陆之后才可以查看。


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
203 3
|
6月前
|
应用服务中间件 nginx
nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
【8月更文挑战第27天】nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
504 6
|
6月前
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
|
6月前
|
Linux API
在Linux中,程序产生了库日志虽然删除了,但磁盘空间未更新是什么原因?
在Linux中,程序产生了库日志虽然删除了,但磁盘空间未更新是什么原因?
|
6月前
|
存储 监控 应用服务中间件
查看nginx日志文件
器性能和提高网站可用性。掌握日志文件的路径、查看方法和基本分析技能对于任何服务器管理员来说都是必备技能。
298 1
|
6月前
|
存储 Ubuntu 应用服务中间件
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
58 4
|
6月前
|
存储 应用服务中间件 nginx
部署ELK+filebeat收集nginx日志
部署ELK+filebeat收集nginx日志
226 0
部署ELK+filebeat收集nginx日志
|
6月前
|
应用服务中间件 Linux nginx
Nginx log 日志文件较大,按日期生成 实现日志的切割
Nginx log 日志文件较大,按日期生成 实现日志的切割
1164 0
|
6月前
|
应用服务中间件 nginx
[nginx]日志中记录自定义请求头
[nginx]日志中记录自定义请求头
103 0
|
6月前
|
应用服务中间件 Shell nginx
shell分析nginx日志的一些指令
shell分析nginx日志的一些指令