1.httpd简介
httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。
通常,httpd不应该被直接调用,而应该在类Unix系统中由apachectl调用,在Windows中做为服务运行。
2.httpd版本
主要介绍httpd的两大版本:
httpd-2.2
httpd-2.4
3.httpd特性
- httpd-2.2 特性:
事先创建进程
按需维持适当的进程
模块化设计,核心比较小,各种功能通过模块添加(包括PHP),支持运行时配置,支持单独编译模块
支持多种方式的虚拟主机配置,如基于ip的虚拟主机,基于端口的虚拟主机,基于域名的虚拟主机等
支持https协议(通过mod_ ssI模块实现)
支持用户认证
支持基于IP或域名的ACL访问控制机制
支持每目录的访问控制(用户访问默认主页时不需要提供用户名和密码,但是用户访问某特定目录时需要提供用户名和支持URL重写
支持MPM (Multi Path Modules,多处理模块)。用于定义httpd的工作模型(单进程、 单进程多线程、多进程、多进程单线程、多进程多线程) - httpd-2.4 特性:
MPM支持运行DSO机制(Dynamic Share Object,模块的动态装/卸载机制),以模块形式按需加载
支持event MPM, event MPM模块生产环境可用
支持异步读写
支持每个模块及每个目录分别使用各自的日志级别
每个请求相关的专业配置,使用来配置
增强版的表达式分析器
支持毫秒级的keepalive timeout
基于FQDN的虚拟主机不再需要Name Virtual Host指令
支持用户自定义变量
支持新的指令(Allow Override List)
降低对内存的消耗
4.httpd基础
4.1httpd自带的工具
工具 | 功能 |
---|---|
htpasswd | basic 认证基于文件实现,用到的账户密码生成工具 |
apachectl | httpd自带的服务控制脚本,支持start,stop,restart |
apxs | 由httpd-devel 包提供的,扩展httpd使用第三方模块的工具 |