httpd的版本:
httpd-1.3:官方已经停止维护;超级稳定
httpd-2.0:
httpd-2.2:
httpd-2.4:
httpd的具体的特性:
高度模块化:Core + Modules
DSO:Dynamic Shared Object,动态共享对象;实现模块的动态装载和卸载;
模块分为两类:
static:编译到核心中的功能;如果更换静态模块,必须更换核心;所以必须重新启动服务,才能使之生效;
DSO:动态装载和卸载;重载配置即可使之生效;
MPM:Multipath Processing Modules,多道处理模块;并发响应模型在httpd应用程序中的专用的称呼;
prefork:多进程IO模型;一个主进程,多个子进程,一个进程响应一个请求;httpd的默认MPM模块;
主进程:管理子进程;创建套接字;接收用户请求,并派发给某个子进程处理...
子进程:处理请求和响应请求;
worker:复用的多进程IO模型(多线程);多进程多线程,一个线程响应一个请求;
主进程:管理子进程;创建套接字;接收用户请求,并派发给某个子进程处理...
子进程:负责管理线程;
线程:处理请求和响应请求;
event:复用的IO模型(事件驱动);多进程模型;每个进程响应多个请求;
主进程:管理子进程;创建套接字;接收用户请求,并派发给某个子进程处理...
子进程:处理请求和相应请求;
注意:
1.在httpd2.0之前,不支持event模型;
2.在httpd2.2中,event模型作为测试模型;
3.在httpd2.4中,event模型作为建议使用模型;
在CentOS 6中:httpd2.2,event模型是测试模型;不支持DSO机制的MPM;
在CentOS 7中:httpd2.4,event模型为production ready;支持DSO机制的MPM;
httpd的功能特性:
支持CGI:Common Gateway Interface,通用网关接口;
虚拟主机:
能够标识虚拟主机的方式:IP + PORT + HOSTNAME;
反向代理:Reverse Proxy
负载均衡:基于流量(bytraffic),基于业务(bybusiness),基于请求(byrequest);
路径别名的设置;
身份验证机制:
basic
digest
支持大量的第三方模块;
...
安装httpd:
rpm包:本地光盘yum源;
编译安装:定制新功能;为了安全去除带有bug或漏洞后门的模块;其他原因;
CentOS 6:httpd-2.2
启动服务:SysV init脚本,/etc/rc.d/init.d/httpd
/etc/rc.d/init.d/httpd {start|stop|restart|reload|status}
service httpd {start|stop|restart|reload|status}
开机自动启动服务:
chkconfig [--level 2345] httpd on|off
程序环境:
配置文件:
/etc/httpd/conf/httpd.conf——httpd的主配置文件
/etc/httpd/conf.d/*.conf ——httpd的辅助配置文件
/etc/httpd/conf.d/magic —— 实现MIME功能
/etc/sysconfig/httpd —— httpd服务器启动脚本的配置文件
程序文件:(二进制文件)
/usr/sbin/httpd:prefork模型;
/usr/sbin/httpd.event:event模型;
/usr/sbin/httpd.worker:worker模型;
/usr/sbin/apachectl:服务控制命令;
日志文件:
/var/log/httpd
access_log:访问日志;
error_log:错误日志;
默认站点的DocumentRoot:
/var/www/html
模块文件的路径:
/etc/httpd/modules --> /usr/lib64/httpd/modules/
CentOS 7:httpd-2.4
启动服务:Systemd Unit文件,/usr/lib/systemd/system/httpd.service
systemctl {start|stop|restart|reload|status} httpd[.service]
开机自动启动或停止服务:
systemctl enable|disable httpd.service
程序环境:
配置文件:
/etc/httpd/conf/httpd.conf ——httpd的主配置文件
/etc/httpd/conf.d/*.conf ——httpd的辅助配置文件
/etc/httpd/conf.modules.d —— 额外的模块专用的配置文件
/etc/httpd/conf.d/magic —— 实现MIME功能
/etc/sysconfig/httpd —— httpd服务器启动脚本的配置文件
程序文件:(二进制文件)
/usr/sbin/httpd:
在httpd2.4版本中,MPM支持DSO机制,每个MPM模型都有一个对应的模块;
/usr/lib64/httpd/modules/mod_mpm_event.so
/usr/lib64/httpd/modules/mod_mpm_prefork.so
/usr/lib64/httpd/modules/mod_mpm_worker.so
/usr/sbin/apachectl:服务控制命令;
日志文件:
/var/log/httpd
access_log:访问日志;
error_log:错误日志;
默认站点的DocumentRoot:
/var/www/html
模块文件的路径:
/etc/httpd/modules --> /usr/lib64/httpd/modules/
转载于:https://blog.51cto.com/12491507/1959665