httpd2.2實現httpd服務

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/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章