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/