Nginx 笔记与总结(4)配置 server 访问日志
打开 nginx.conf:
[root@localhost ~]# cd /usr/local/nginx/conf
[root@localhost conf]# vim nginx.conf
在默认的 server 段中包含以下内容:
#access_log logs/access.log main;
表示该 server 的访问日志文件是 logs/access.log
Nginx 允许针对不同的 server 做不同的 log
main 表示日志使用的格式是 'main' 格式,还可以自定义其他格式。
在 http 端中,有如下内容:
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
该内容表示 main 类型的日志记录的 remote_addr ... http_x_forward_for 等选项。
打开 logs/access.log 文件进行观察:

$remote_addr:远程 ip 地址,这里是 192.168.254.1
$remote_user[$time_local]:远程用户[访问的时间],访问的时候 http 的头信息未必带了 remote_user,所以这里显示 -
$request:请求类型,这里几个都是 GET 请求,使用的是 HTTP/1.1 协议
$status:请求状态,这里看到了 200 和 304
$body_bytes_sent:响应返回了多少字节
$http_referer:用户来自(上一个浏览地址)
$http_user_agent:用户代理(浏览器信息或者蜘蛛信息,查看 http://www.baidu.com/robots.txt)
$http_x_forward_for:在经过代理时,代理把本来的 IP 加在此头信息中,传输原始的 IP
服务器会选择以 $remote_addr 还是 $http_x_forwad_for 来判断用户的 ip
配置访问日志:
【例】
配置 dee.com 的访问日志
[root@localhost conf]# vim nginx.conf
① 把 log_format main 前面的 # 去掉:

② 添加 access_log

保存退出。
平滑重启 Nginx。
进入 logs 目录:

此时 dee.com.access.log 大小是 0
访问 dee.com,查看 dee.com.access.log:

宿主机的 ip 是 192.168.254.1:

如果发现网站访问量急剧增加,首先检查该日志文件,判断是蜘蛛爬行造成的还是来自对手的攻击,从而选择是封对方 ip 还是暂停敏感页面。
Nginx 笔记与总结(4)配置 server 访问日志的更多相关文章
- Nginx 笔记与总结(5)访问日志管理:计划任务 + 日志切割
要在第二天的凌晨把前一天的访问日志切割备份,并以时间作为文件名,例如:access.20150728.log,这就需要在 Linux 中格式化时间,例如: [root@localhost ~]# da ...
- Centos下Nginx配置WEB访问日志并结合shell脚本定时切割
在一个成熟的WEB系统里,没有日志管理是不可以的,有了日志,可以帮助你得到用户地域来源.跳转来源.使用终端.某个URL访问量等相关信息:通过错误日志,你可以得到系统某个服务或server的性能瓶颈等. ...
- Spring Boot 2 配置服务器访问日志
Tomcat控制台中看到的日志是服务器的日志,而服务器访问日志则是记录服务处理的请求信息. 开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8 1.新建一个名 ...
- Apache配置 5.访问日志不记录静态文件
介绍:项目中的CSS.图片.js都是静态文件.一般会将静态文件放到一个单独的目录中,以方便管理. 1. 配置 # vim /usr/local/apache2.4/conf/extra/httpd-v ...
- Apache配置 4.访问日志
(1)介绍 访问日志作用很大,不仅可以记录网站的访问情况,还可以在网站有异常发生时帮助我们定位问题. (2)配置 # vi /usr/local/apache2.4/conf/extra/httpd- ...
- Nginx图片及样式文件不记录访问日志
1.Nginx作为web服务器是可直接在server配置文件中做如下配置: server { listen ; server_name www.fansik.com; access_log /data ...
- Global配置接口访问日志以及测试日志记录
在客户端请求接口时,经常会出现接口相应慢,接口等待超时,接口错误,为了这事相信不少后台开发者为此背锅,记下请求日志,拿出有力证据这才是关键. 1.接口请求错误记录 很多时候接口请求出现的500,404 ...
- Tomcat配置自定义访问日志 --- 获取请求头部信息
使用tomcat,搭建完个人网站后,默认记录来访游客的信息是十分有限的,主要有ip和路径以及方法等. 有时候为了获取更多来访信息,比如请求的头部信息,这个时候就需要我们手动配置log了. 开始 进入T ...
- Linux 下 Nginx 反向代理 负载均衡配置
转载请注明出处:http://blog.csdn.net/smartbetter/article/details/52036350 上一篇分享了 Nginx + JDK + Tomcat + MySQ ...
随机推荐
- 失恋28天-缝补礼物(codevs 2503)
2503 失恋28天-缝补礼物 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 话说上回他给女孩送 ...
- 案例(用封装的ajax加载数据库的数据到页面)
本程序主要功能是以表格方式在网页上显示数据库的内容 LoadUsers.htm代码: <head> <title></title> <script src=& ...
- kvm NET 和 BRIDGE
net: <interface type='network'> <mac address='52:54:00:e1:ac:43'/> <source network='d ...
- ava.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind (解决思路)
当我们在启动tomcat服务的时候报错信息:java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bin 分析:从错 ...
- Spring MVC笔记 使用JdbcTemplate
Spring提供了 JdbcTemplate 来封装数据库jdbc操作细节, 包括: 数据库连接[打开/关闭] ,异常转义 ,SQL执行 ,查询结果的转换, 其中体现了 模板模式 的设计模式思想. 使 ...
- Codeigniter:如何写一个好的Model
本文是关于在Code Igniter PHP MVC框架中如何编写Model方法. CRUD 方法 CRUD 是Create, Retrieve, Update, and Delete的缩写. 这些是 ...
- js打印html中的内容
js打印方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...
- OpenStack Swift集群部署流程与简单使用
之前介绍了<OpenStack Swift All In One安装部署流程与简单使用>,那么接下来就说一说Swift集群部署吧. 1. 简介 本文档详细描述了使用两台PC部署一个小型Sw ...
- MATLAB信号与系统分析(三)——连续信号与系统的复频域分析及MATLAB实现
一.系统的拉普拉斯变换和反变换 1.MATLAB函数 F=laplace(f) %求拉氏变换 f=ilaplace(F) %求拉氏反变换 2.例子 clear all;clc;close all f= ...
- WCF:2个常见错误
1.另一应用程序已使用 HTTP.SYS 注册了该 URL 在做WCF wsDualHttpBinding的时候,调试时会出现此异常. 其意思为:有一个Host已经启动了,占用了指定的端口了. & ...