我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Apache的Access Log有什么作用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Apache的Access Log有什么作用

今天小编给大家分享一下Apache的Access Log有什么作用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

access_log为访问日志,记录所有对apache服务器进行请求的访问,它的位置和内容由CustomLog指令控制,LogFormat指令可以用来简化该日志的内容和格式

访问日志

在Apache的Access Log中会看到很多如下的访问日志:

127.0.0.1 - - [05/May/2011:10:54:07 +0800] "OPTIONS * HTTP/1.0" 200 -127.0.0.1 - - [05/May/2011:10:54:08 +0800] "OPTIONS * HTTP/1.0" 200 -127.0.0.1 - - [05/May/2011:10:54:09 +0800] "OPTIONS * HTTP/1.0" 200 -127.0.0.1 - - [05/May/2011:10:54:10 +0800] "OPTIONS * HTTP/1.0" 200 -

这是什么意思呢?

Apache的文档的说明

Apache的文档中, 有如下的说明:

When the Apache HTTP Server manages its child processes, it needs a way to wake up processes that are listening for new connections. To do this, it sends a simple HTTP request back to itself. This request will appear in the access_log file with the remote address set to the loop-back interface (typically 127.0.0.1 or ::1 if IPv6 is configured). If you log the User-Agent string (as in the combined log format), you will see the server signature followed by “(internal dummy connection)” on non-SSL servers. During certain periods you may see up to one such request for each httpd child process.

可是,为什么要唤醒呢? 唤醒是为了做什么呢?

Apache的Access Log有什么作用

在Apache Prefork模式下, 启动的时候,Apache就会fork出一些worker进程, 来准备接受请求, 这些worker进程,在完成准备工作以后, 就会进入block模式的监听沉睡中, 等待请求到来而被唤醒。

另外一方面, 在Prefork模式下, 当请求很多, 目前的worker进程数不够处理的时候, 就会额外再fork一些worker进程出来, 以满足当前的请求。

而在这些请求高峰过后, 如果额外fork出来的进程数大于了MaxSpareServers, Apache就会告诉这些worker进程退出, 那么问题就来了。

这些进程都在沉睡中啊, 怎么告诉他们, 并且让他们自我退出呢?

自我退出

Apache会首先发送一个退出状态字(GRACEFUL_CHAR !)给这些Work进程:

static apr_status_t pod_signal_internal(ap_pod_t *pod){   apr_status_t rv;   char char_of_death = '!';   apr_size_t one = 1;   rv = apr_file_write(pod->pod_out, &char_of_death, &one);   if (rv != APR_SUCCESS) {       ap_log_error(APLOG_MARK, APLOG_WARNING, rv, ap_server_conf,                    "write pipe_of_death");   }.    return rv;}

但此时, Worker进程不会去读这些状态字, 因为他们还在沉睡。

这个时候Apache就会发送一个OPTIONS请求给自己, 唤醒这些沉睡的进程:

static apr_status_t dummy_connection(ap_pod_t *pod){//...有省略      srequest = apr_pstrcat(p, "OPTIONS * HTTP/1.0\r\nUser-Agent: ",                          ap_get_server_banner(),                          " (internal dummy connection)\r\n\r\n", NULL);//...有省略}

这些进程在处理完当前请求以后(OPTIONS请求), 就会发现, oh, 主进程让我退出。

static void child_main(int child_num_arg){//...有省略   while (!die_now && !shutdown_pending) {//...有省略       //1. listen       //2. accept      //3. process request              if (ap_mpm_pod_check(pod) == APR_SUCCESS) {            die_now = 1;       }//...有省略  }//...有省略}

以上就是“Apache的Access Log有什么作用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Apache的Access Log有什么作用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Apache的Access Log有什么作用

今天小编给大家分享一下Apache的Access Log有什么作用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。access
2023-06-27

Oracle redo log文件有什么作用

这篇文章主要介绍“Oracle redo log文件有什么作用”,在日常操作中,相信很多人在Oracle redo log文件有什么作用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle redo l
2023-06-19

Apache的.htaccess文件是什么有何作用

Apache的.htaccess文件是一个配置文件,用于在Apache服务器上配置和控制网站或特定目录的行为。它位于网站的根目录或特定目录中,可以包含一些重要的设置和指令,用于修改服务器的行为、设置访问权限、重定向URL等。.htacce
Apache的.htaccess文件是什么有何作用
2024-07-05

Apache的MINA有什么用

这篇文章将为大家详细讲解有关Apache的MINA有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Apache的MINA是一个被用来构建高性能和高可伸缩性应用程序的网络应用框架,它提供了一套统一的建
2023-06-17

MySQL中的redo log和undo log日志有什么用

这篇文章主要介绍“MySQL中的redo log和undo log日志有什么用”,在日常操作中,相信很多人在MySQL中的redo log和undo log日志有什么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
2023-06-20

Apache Tapestry 5.3.1有什么用

这篇文章将为大家详细讲解有关Apache Tapestry 5.3.1有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Apache Tapestry 5.3.1 发布,这是 5.3 的***个修正版
2023-06-17

MyBatis中的LogFactory和Log接口有什么用

在MyBatis中,LogFactory是用于创建Log实例的工厂类,而Log接口则是用于记录日志信息的接口。LogFactory负责根据配置文件中指定的日志框架类型(比如log4j、slf4j等)来创建Log实例,然后通过Log实例来记录
MyBatis中的LogFactory和Log接口有什么用
2024-03-08

Apache Flink常用操作是什么

这篇文章主要讲解了“Apache Flink常用操作是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Apache Flink常用操作是什么”吧!使用Maven将自己的代码编译打包打好的包
2023-06-27

Apache Commons JEXL 2.1有什么用

小编给大家分享一下Apache Commons JEXL 2.1有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java Expression Langua
2023-06-17

Apache UIMA Java SDK 2.4.0有什么用

这篇文章主要介绍Apache UIMA Java SDK 2.4.0有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Apache UIMA 团队发布了 Apache UIMA Java SDK 2.4.0 版本
2023-06-17

Apache用户目录枚举工具apache-users有什么用

这篇文章主要为大家展示了“Apache用户目录枚举工具apache-users有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Apache用户目录枚举工具apache-users有什么用”
2023-06-04

apache和php的工作流程是什么

Apache和PHP的工作流程如下:1. 客户端发送HTTP请求到Apache服务器。2. Apache服务器接收到请求后,根据请求的URL路径将请求发送给对应的PHP解释器。3. PHP解释器解析请求,并执行相应的PHP代码。4. PHP
2023-08-31

在apache中配置虚拟主机的作用是什么

Apache虚拟主机的作用Apache虚拟主机允许在同一台服务器上托管多个网站,将不同域或子域映射到不同的网站或应用程序。通过分离网站和共享资源,它们提供了资源共享、网站隔离、可扩展性和安全性方面的优势。
在apache中配置虚拟主机的作用是什么
2024-04-08

在apache中配置虚拟主机的作用是什么

在Apache中配置虚拟主机的作用是允许在同一台服务器上托管多个不同的网站。通过配置虚拟主机,可以使用一个IP地址和端口来托管多个域名,并且每个虚拟主机可以有自己独立的配置文件、目录和日志文件。虚拟主机配置允许多个网站共享同一个服务器资源,
2023-08-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录