【SpamHunter】Apache之框架初探——整理自书籍

  1. Apache作为常驻后台任务运行。守侯进程(Unix下Daemon)和服务(Windows下Service)。
  2. inetd模式:超级进程代劳守侯进程,收到Web请求启动一个Web服务进程,服务完后进程退出。
  3. Apache=内核+模块s。
  4. 模块:可静态编译到服务器中。通常放到/Modules/和/libexec/下动态加载。
  5. APR:可移植运行时库。为上层统一提供接口
  6. MRM:多处理模块。特殊功能模块,唯一直接访问操作系统模块,提供不同平台优化功能
  7. 启动阶段:以root身份解析配置文件,加载模块和初始化相关资源,单进程单线程运行。
  8. 运行阶段:以非特权用户身份。
  9. 启动时,任何要求root身份的操作要运行,尽可能多初始化。很耗时耗资源。
  10. Apache配置代码执行两次。1.检查服务器配置是否正确。2.真正系统启动,引导至运行阶段。
  11. httpd.conf配置=命令+容器+注释。
  12. 指令:在内核或一些模块中实现。
  13. 容器:多指令集,提供上下文。
  14. 注释:以‘#’开头。
  15. 模块未加载,则相关指令无法运行。mod_so模块必须用静态方式进行链接来加载其他模块。
  16. 启动阶段末期,程序控制转向MPM。MPM在系统级管理Apache。
  17. MPM:维护进程池和线程池。提供服务程序与操作系统之间接口,唯一系统层模块,根据平台优化Apache
  18. MPM进程为管理者,管理子工作进程。子工作进程处理请求,MPM负责创建和删除子工作进程,处理信号量。
  19. 停止阶段:所有注册的清除操作运行。
  20. Prefork MPM:基于非线程模型。对于类似PHP非线程安全语言,唯一安全选择。
  21. Worker MPM:线程模式,内存消耗低。
  22. Event MPM:不能在HTTPS下访问。Keepalive会导致线程耗光。
  23. 有时应用程序开发平台更要考虑MPM而不是操作系统。

你可能感兴趣的:(apache,apache,服务器,web服务,web服务,程序开发)