ASF:Apache software foundation,Apache软件基金会;
1、httpd的特性:
1> 高度模块化:核心+模块(core+modules);
2> DSO:dynamic shared object,动态共享对象;
3> MPM:Multipath processing Modules,多处理模块;
MPM有3中工作模型:
prefork:多进程模型,每个子进程响应一个请求;
一个主进程:负责生成子进程及回收子进程;负责创建套接字;负责接收请求,并将其派发给某子进程进行处理;
n个子进程:每个子进程处理一个请求;
工作模型:会预先生成几个空闲进程,随时等待用于响应用户请求;有最大空闲、最小空闲概念;
worker:多进程多线程模型,每线程处理一个用户请求;
一个主进程:负责生成子进程;负责创建套接字;负责接收请求,并将其派发给某子进程进行处理;
多个子进程:每个子进程负责生成多个线程;
每个线程:负责响应用户请求;
并发响应量:子进程数量*每个子进程所能创建的最大线程数量(m*n);
event:事件驱动模型,多进程模型,每个进程响应多个请求;
一个主进程:负责生成子进程;负责创建套接字;负责接收请求,并将其派发给某子进程进行处理;
子进程:基于事件驱动机制直接响应多个请求;
2、httpd的功能:
CGI:common gateway interface,通用网关接口;
虚拟主机:基于IP、端口、域名;
反向代理;
负载均衡;
路径别名;
用户认证机制:basic,digest;
支持第三方模块;
3、Apache/2.4.6 (CentOS 7):
1> 配置文件:
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf
/etc/httpd/conf.modules.d/*.conf (模块相关的配置文件)
2> systemd unit file: /usr/lib/systemd/system/httpd.service
3> 主程序文件: /usr/sbin/httpd
4> 日志文件: /var/log/httpd/{access_log,eror_log}
5> 站点主目录: /var/www/html
6> 模块文件路径: /usr/lib64/httpd/modules
7> 服务控制:
systemctl {enable|disable} httpd.service
systemctl {start|stop|restart|status} httpd.service
可以安装’httpd-manual’程序包,可以在本地主机查看httpd的相关配置帮助:
~]# yum -y install httpd-manual
http://local_host_ip/munual