要查看Nginx的访问日志,可按以下步骤进行:
1. 打开Nginx配置文件
首先打开Nginx的配置文件,以Ubuntu系统为例,Nginx的配置文件路径为/etc/nginx/nginx.conf
,可通过以下命令打开该文件:
sudo nano /etc/nginx/nginx.conf
2. 查找访问日志配置项
在http
块中查找访问日志相关的配置项,通常称为access_log
,如果没有该配置项,则可手动添加,如下所示:
http {
access_log /var/log/nginx/access.log;
}
其中,/var/log/nginx/access.log
为日志文件的路径,也可根据需要自定义路径。若需要设置日志格式,可在access_log
之后添加对应的格式配置。
3. 重启Nginx服务
修改配置文件后,需要重启Nginx服务使其生效,可通过以下命令进行:
sudo service nginx restart
4. 查看访问日志
Nginx的访问日志默认情况下是按照时间轮换的,因此在查看访问日志时,通常需要先查看当前正在写入的日志文件,可通过以下命令进行:
sudo tail -f /var/log/nginx/access.log
该命令会实时显示access.log
文件的末尾内容,若访问网站则会有对应的访问记录显示。另外,如果需要查看历史的访问记录,可通过以下命令查看:
sudo less /var/log/nginx/access.log
该命令会以读取日志文件的方式打开日志文件,可使用Page Up/Page Down等按键进行翻页查看。
示例:
比如我们在上述步骤中加入以下配置,指定日志格式为 $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"
http {
access_log /var/log/nginx/access.log custom_format;
log_format custom_format '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
}
这样设置之后,我们可以使用sudo less /var/log/nginx/access.log
查看到格式化的日志信息,如下所示:
218.17.157.211 - - [20/Mar/2021:09:51:42 +0800] "GET / HTTP/1.1" 200 633 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134"
上面的日志记录了一次GET请求,其中包括了请求的IP、时间、请求方法、状态码、响应数据大小、请求来源和用户代理信息等。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何查看Nginx的访问日志? - Python技术站