Httpd服务入门知识-Httpd服务常见配置案例之日志设定

                                                作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.日志类型

[root@node101.yinzhengjie.org.cn ~]# ll /var/log/httpd/    #默认存放httpd服务的日志的信息
total
-rw-r--r-- root root Dec : access_log      #访问日志,记录了谁访问网站以及访问的PATH信息,服务端响应状态码等,利用该日志信息可以计算PV,UV,IP地址统计等信息。
-rw-r--r-- root root Dec : error_log       #错误日志,记录了服务启动的相关,访问被拒绝等相关信息
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf | grep ErrorLog      #主配置文件默认定义错误日志位置信息
ErrorLog "logs/error_log"
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf | grep CustomLog      #主配置文件默认定义访问日志位置信息
CustomLog "logs/access_log" combined
[root@node101.yinzhengjie.org.cn ~]#

二.错误日志相关配置

错误日志:
  ErrorLog logs/error_log
  LogLevel warn
  LogLevel 可选值: debug, info, notice, warn,error, crit, alert, emerg

三.访问日志相关配置

[root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf | grep combined      #查看默认的日志格式
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
CustomLog "logs/access_log" combined
[root@node101.yinzhengjie.org.cn ~]# 以上默认日志格式变量combined的参数解释:
    %h:
      远程客户端IP地址
    %l:
      远程用户,启用mod_ident才有效,默认没有启用,因此在日志中咱们通常看到记录为减号"-"      
    %u:
      通过用户名密码的方式()验证(basic,digest)远程用户,并将用户名记录在日志中,非登录访问时,为一个减号"-"      
    %t:
       服务器收到请求时的时间,可以使用"%(format)t"来自定义时间格式哟~
    %r:
      First line of request,即表示请求报文的首行;记录了此次请求的"方法","URL"以及协议版本,如:GET /news/blog.html HTTP/1.1
    %>s:
      响应状态码,如:,,403等。
    %b:
      响应报文的大小(说白了就是访问服务器资源文件的大小),单位是字节;不包括响应报文http首部
    %{Referer}i:
      请求报文中首部"referer"的值;即从哪个页面中的超链接跳转至当前页面的。
      如果发现从百度页面跳转过来的说明你们公司广告投放效果不错,如果日志记录的是"-",则表示用户直接访问了你们公司的网站,应该是你们公司的铁粉了。
      如果你们发现该记录是从你们公司的竞争对手或者毫不相干的网站来访问的话请注意这就说明你得资源被盗链啦~
      关于防盗链的几种解决方案如下:
        ()修改资源的名称
        ()封停公网IP地址(这种做法杀敌一千,自损八百不推荐大家这样干,比如你封停的是一个电信的公网IP地址,假设典型公司有200家公司都走了这个网关地址出去的话,你封停了该IP后的确想要盗链的用户访问不到啦,但这不意味你讲很多正常用户也都封停啦)
        ()重定向解决,比如可以将不正常的访问重定向登录界面,用户登录成功后,立即将该用户拉入黑名单中,当然这得让开发来配合。可以用到的技术栈可参考Kafka,Spark,Fink等大数据技术。
    %{User-Agent}i:
      请求报文中首部"User-Agent"的值;即发出请求的应用程序,比如火狐浏览器,谷歌浏览器或者是curl命令以及自己编写的应用程序等。

四.自定义访问日志的格式

访问日志:
  定义日志格式:LogFormat format strings
  LogFormat "%h %l %u %{%Y-%m-%d %H:%M:%S}t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" testlog
  使用日志格式:
    CustomLog logs/access_log testlog   博主推荐阅读:
    http://httpd.apache.org/docs/2.4/mod/mod_log_config.html#formats

1>.在主配置文件中自定义日志格式并重启服务

[root@node101.yinzhengjie.org.cn ~]# grep testlog /etc/httpd/conf/httpd.conf
LogFormat "%h %l %u %{%Y-%m-%d %H:%M:%S}t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" testlog
CustomLog "logs/access_log" testlog
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# httpd -t
Syntax OK
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# systemctl restart httpd
[root@node101.yinzhengjie.org.cn ~]#

2>.测试配置是否生效

[root@node101.yinzhengjie.org.cn ~]# ll /var/www/html/
total
-rw-r--r-- root root Dec : index.html
-rw-r--r-- root root Dec : info.html
-rw-r--r-- root root Dec : student.html
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# cat /var/www/html/index.html
https://www.cnblogs.com/yinzhengjie/
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# curl http://127.0.0.1/
https://www.cnblogs.com/yinzhengjie/
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# tail - /var/log/httpd/access_log
127.0.0.1 - - -- :: "GET / HTTP/1.1" "-" "curl/7.29.0"
[root@node101.yinzhengjie.org.cn ~]#

Httpd服务入门知识-Httpd服务常见配置案例之日志设定的更多相关文章

  1. Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机

    Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.虚拟主机实现方案 1>.Apache httpd 有三种实现虚 ...

  2. Httpd服务入门知识-Httpd服务常见配置案例之Apache的工作做状态status页面

    Httpd服务入门知识-Httpd服务常见配置案例之Apache的工作做状态status页面 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.status功能概述 status页 ...

  3. Httpd服务入门知识-Httpd服务常见配置案例之ServerSignature指令选项

    Httpd服务入门知识-Httpd服务常见配置案例之ServerSignature指令选项 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ServerSignature指令概述 ...

  4. Httpd服务入门知识-Httpd服务常见配置案例之实现用户家目录的http共享

    Httpd服务入门知识-Httpd服务常见配置案例之实现用户家目录的http共享 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.实现用户家目录的http共享前提 在配置家目录共 ...

  5. Httpd服务入门知识-Httpd服务常见配置案例之定义路径别名

    Httpd服务入门知识-Httpd服务常见配置案例之定义路径别名 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.创建测试数据 [root@node101.yinzhengj ...

  6. Httpd服务入门知识-Httpd服务常见配置案例之设定默认字符集

    Httpd服务入门知识-Httpd服务常见配置案例之设定默认字符集 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看生产环境中使用的字符集案例 1>.查看腾讯设置的默认 ...

  7. Httpd服务入门知识-Httpd服务常见配置案例之基于客户端来源地址实现访问控制

    Httpd服务入门知识-Httpd服务常见配置案例之基于客户端来源地址实现访问控制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Options  1>.OPTIONS指 ...

  8. Httpd服务入门知识-Httpd服务常见配置案例之基于用户账号实现访问控制

    Httpd服务入门知识-Httpd服务常见配置案例之基于用户账号实现访问控制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.基于用户的访问控制概述 认证质询: WWW-Auth ...

  9. Httpd服务入门知识-Httpd服务常见配置案例之定义站点主页面及错误页面配置

    Httpd服务入门知识-Httpd服务常见配置案例之定义站点主页面及错误页面配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.定义站点主页面 [root@node101.yi ...

随机推荐

  1. html声明charset="utf-8"后,浏览器访问中文依旧乱码(绝对有效)

        1.情景展示 html文件已经声明字符集为UTF-8,但是浏览器访问依旧乱码. 标题和页面内容都是乱码,这是怎么回事? 2.原因分析  charset="UTF-8"是让浏 ...

  2. 【转】Web实现前后端分离,前后端解耦

    一.前言 ”前后端分离“已经成为互联网项目开发的业界标杆,通过Tomcat+Ngnix(也可以中间有个Node.js),有效地进行解耦.并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务架构 ...

  3. shell (二) shell for循环

    for循环 基本示例 for i in var1 var2 var2 do echo $i done for i in {1..100} do echo $i done 列表中复杂值,可以使用引号或者 ...

  4. Solr7.x学习(2)-设置开机启动

    1.创建solr用户 useradd solr 2.设置solr-7.7.2目录拥有者 cd /usr/local/ chown -R solr:solr solr-7.7.2 3.在/etc/ini ...

  5. 数据库连接池, websocket

    转自: https://www.cnblogs.com/xiao987334176/p/9605536.html 一.DButils 什么是数据库连接池 数据库连接池负责分配.管理和释放数据库连接,它 ...

  6. JVM常用命令和性能调优建议 [Could not create the Java virtual machine]

    一.查看jvm常用命令jinfo:可以输出并修改运行时的java 进程的opts. jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号. ...

  7. eclipse.ini相关问题

    一般新装的eclipse,在eclipse.ini文件中,有设置默认的内存信息,如果你要开发一个大的项目或者导入大的项目,那么,eclipse就会时不时报出这样的错误:An internal erro ...

  8. Android 及 iOS 常用操作命令

    应用相关 1. 安装应用(真机) Android adb install xxx.apk iOS ideviceinstaller -i xxx.ipa 2. 卸载应用(真机) Android adb ...

  9. storm杂记+性能调优

    1.默认情况下: 1个supervisor节点启动4个worker进程. 每一个topology默认占用一个worker进程. 每个worker会启动executor. 每个executor默认启动一 ...

  10. Java安装 --- jdk 和eclipse tomcat

    ​本文主要使用win7进行安装 安装jdk jdk:  这里面有四个版本78910,会持续增加 链接:https://pan.baidu.com/s/1LTauKbBJKQVOvlbHx2dTwQ提取 ...