apache / Web Service

1.2 httpd:工作模型与各种配置文件路径

 

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

Leave a Reply

Your email address will not be published. Required fields are marked *