一、Centos7系統下實現httpd-2.4的安裝,并分別實現prefork、worker、event等幾種工作方式
1.編譯安裝httpd-2.4.25.tar.bz2,安裝前環境準備,需安裝包組:
yum groupinstall -y "Development Tools" "Server Platform Development";
tar -xjf httpd-2.4.25.tar.bz2;
mkdir /usr/local/httpd;
cd httpd-2.4.25;
./configure --prefix=/usr/local/httpd-with-mpm=prefork; #設置為prefork模式
./configure --prefix=/usr/local/httpd-with-mpm=worker; #設置為worker模式
./configure --prefix=/usr/local/httpd-with-mpm=event; #設置為event模式
在編譯的過程中可以使用選線–with-mpm來指定httpd的工作模式,httpd主要有三種工作模式:prefork、worker和event。其中,prefork為默認模式,不指定模式,httpd將工作子在prefork模式下。
1. prefork模式:多進程模型,每個進程響應一個請求,主進程負責生成子進程及回收子進程,負責創建套接字,負責接收請求,并將其派發給子進程進行處理,每個子進程處理一個請求,會預先生成幾個空閑進程,隨時等待用于響應用戶請求,可設置最大空閑和最小空閑;
2.worker模式:多進程多線程模型,每線程處理一個用戶請求;
3.event模式:事件驅動模型,多進程模型,每個進程響應多個請求;主進程負責生成子進程,負責創建套接字,負責接收請求,并將其派發給某子進程進行處理;子進程基于事件驅動機制直接響應多個請求。
二、簡述request報文請求方法和狀態響應碼
1.request請求報文的語法格式為:
《method》《url》 《version》
HEADERS:(name:value)
《request body》
2.method的使用方法有:
GET:從服務器獲取資源;
HEAD:只從服務器獲取文檔的響應首部;
POST:向服務器發送要處理的數據;
PUT:將請求的主題部分存儲在服務器上;
DELETE:請求刪除服務器上指定的文檔;
TRACE:追蹤請求到達服務器中間經過的代理服務器;
OPTIONS:請求服務器返回對指定資源支持使用的請求方法;
3.status狀態碼的分類及表征:
1xx:信息提示;
2xx:請求成功;
3xx:請求重定向;
4xx:錯誤類信息,客戶端的錯誤;
5xx:錯誤類信息,服務器端錯誤;
常用的狀態碼有:
200:成功,請求的數據通過響應報文發送OK;
301:請求的url指向的資源已經不存在,在響應報文中通過首部location指明資源所在的新位置;
302:指明資源所處臨時新位置;
401:需要輸入賬號和密碼認證才能方位資源;
403:請求被禁止;forbidden;
404:服務器無法找到客戶端請求的資源;
500:服務器內部錯誤;
502:代理服務器從后端服務器收到了一條偽響應。
三、詳細描述httpd虛擬主機、站點訪問控制、基于用戶的訪問控制、持久鏈接等應用配置實例
1.httpd虛擬主機配置
httpd虛擬主機配置可以基于IP、端口、FQDN三種方式來進行配置工作:
基于IP的配置:
新建配置文件:/etc/httpd/conf.d/vhost.conf
基于IP和端口的配置:
基于FQDN的配置:
2.站點訪問控制:
基于站點訪問控制的配置:
3.基于用戶控制的配置:
htpasswd -c /etc/httpd/.htpasswd zhangge; #建立加密用戶
建立新的配置文件:
4.持久連接
新建持久連接的配置:
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/97456
配置完成, 也要驗證一下配置的是否OK, 例如配置完prefork、event可以做一個ab壓測看一下性能區別