HTTPD經常使用配置
html
---------------------------------------------------------------------------------------------------------------------------------------------nginx
1、http服務器apache
二、20世紀90年代初,美國國家超級計算機應用中心NCSA開發服務器
1995年開源社區發佈apache(a patchy server)網絡
ASF: apache software foundation多線程
DSO: Dynamic Shared Object 動態加/卸載
MPM:multi-processing module多路處理模塊
一、prefork:多進程I/O模型,每一個進程響應一個請求,默認模型,併發鏈接數達到10000,性能將明顯降低
多個子進程:工做work進程,每一個子進程處理一個請求;系統初始時,預先生成多個空閒進程,等待請求,最大不超過1024個
二、worker:複用的多進程I/O模型,多進程多線程,IIS使用此模型,若是一個子進程的某個線程有問題,那麼該子進程的其它線程會被問題線程影響
一個主進程:生成m個子進程,每一個子進程負責生個n個線程,每一個線程響應一個請求,併發響應請求:m*n
一個主進程:生成m個子進程,每一個進程直接響應n個請求,併發響應請求:m*n,有專門的線程來管理這些keep-alive類型的線程,當有真實請求時,將請求傳遞給服務線程,執行完畢後,又容許釋放。這樣加強了高併發場景下的請求處理能力
二、CGI:Common Gateway Interface,通用網關接口
三、反向代理:調度器,離服務器更近,根據實際狀況把用戶請求調度到真正提供後臺服務的服務器
附:不支持正向代理。正向代理:幫助客戶端訪問遠程主機,離客戶機更近,主機想要訪問某視頻網站觀看視頻,區域內服務器收到用戶機請求後去目標網站訪問視頻,並存儲到緩存內,將緩存內的視頻返回給用戶,若是有其餘用戶也查看一樣的網站視頻,訪問到的數據也將是區域內服務器的緩存,這樣不只節約了帶寬,同時也提升了用戶網絡傳輸速度
該選項只是讓apache知道本身的域名叫這個,讓其餘遠程主機知道該域名仍是須要DNS,此處搞個小
httpd-manual,yum install httpd-manual後加載服務,瀏覽器地址輸入192.168.239.60/manual出現幫助說明
centos7工做模式/etc/sysconfig/httpd已無這些內容,修改某模式選項參數時直接在自建的/etc/httpd/conf.d/*.conf裏寫入便可,好比說
所以新建/etc/httpd/conf.d/test.conf,寫入ServerTokens Prod,保存退出後從新加載生效
注:若是在/etc/httpd/conf.d/*.conf添加listen 8080,而不修改主配置文件,此時服務重啓httpd將監聽80端口和8080端口;
若是在主配置文件監聽的是內部ip,listen 192.168.1.1:80,意味着ip綁定端口,只能ping 通192.168.1.1的內部ip登陸,外部其它ip沒法經過80端口登陸
此實驗僅適用於本主機,若是修改了其餘主機hosts文件,也能夠經過apache域名解析爲ip
/etc/httpd/conf.modules.d/00-mpm.conf
模塊目錄:/etc/httpd/conf.modules.d/00-base.conf,修改後須要重啓httpd服務
apache默認路徑:/var/www/html/index.html
這是主文件配置,通常不建議修改主文件配置,建議在/etc/httpd/conf.d/目錄下本身新建個*.conf文件,在裏面寫入內容進行修改。修改前能夠輸入grev -v "^[ ]*#" /etc/httpd/conf/httpd.conf,將過濾掉帶註釋行的說明內容,像這樣
若是再修改哪一項將該項拷貝出,複製到/etc/httpd/conf.d/*.conf進行修改重啓便可
綜上所述,找到配置文件中的/var/www/html,複製到自建的配置文件
/etc/httpd/conf.d/welcome.html:這是httpd找不到主頁時顯示的Test123頁面,將它更名後,頁面爲
修改配置使主頁面不存在時能夠查看網站下的目錄索引:(設置權限的目錄只出如今容許的主機上)
通常網站不開啓此選項,不過相似阿里雲的epel源網站會開啓這選項
與訪問控制相關的哪些指令能夠放在指定目錄下的.htaccess文件中,覆蓋以前的配置指令
debug, info, notice, warn,error, crit, alert, emerg,crit, alert, emerg
定義日誌格式:LogFormatformat strings
LogFormat"%h %l %u %{%Y-%m-%d %H:%M:%S}t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" testlog
CustomLoglogs/access_logtestlog
參考幫助:http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats
%l 遠程用戶,啓用mod_ident纔有效,一般爲減號「-」
%u 驗證(basic,digest)遠程用戶,非登陸訪問時,爲一個減號「-」
%r First line of request,即表示請求報文的首行;記錄了這次請求的「方法」,「URL」以及協議版本
%b 響應報文的大小,單位是字節;不包括響應報文http首部
%{Referer}i請求報文中首部「referer」的值;即從哪一個頁面中的超連接跳轉至當前頁面的
%{User-Agent}i請求報文中首部「User-Agent」的值;即發出請求的應用程
AddDefaultCharsetUTF-8 此爲默認值,自建的配置文件直接添加此項
若是隻須要某個.htpasswd中某個用戶訪問,在require後寫該用戶名字便可,其餘用戶將沒法訪問
htpasswd -c /data/.htpasswd audi,第一次建立必須加-c
htpasswd /data/.htpasswd bmw,後續建立不能加-c,不然會覆蓋
htpasswd /data/.htpasswd cadillac
-c 自動建立文件,僅應該在文件不存在時使用
-p 明文密碼
-d CRYPT格式加密,默認
-m md5格式加密
-s sha格式加密
-D 刪除指定用戶
1六、基於組帳號進行認證
(1)自建的配置文件寫入
(1)vim /etc/httpd/conf/httpd.conf
<IfModulemod_userdir.c> ---->此項取消註釋
UserDir public_html ---->指定共享目錄的名稱
(2)準備目錄
su -chenux;mkdir ~/public_html ---->與上面的UserDir後面的目錄對應
1九、ServerSignatureOn | Off | EMail(默認是off)
當客戶請求的網頁並不存在時,服務器將產生錯誤文檔,缺省狀況下因爲打開了ServerSignature選項,錯誤文檔的最後一行將包含服務器的名字、Apache的版本等信息
設置爲Email,將顯示ServerAdmin的Email提示
基於LoadModulestatus_modulemodules/mod_status.so模塊
寫好後瀏覽器地址欄輸入192.168.239.70/status
2一、https重定向
(1)/etc/httpd/conf.d/ssl.conf中對應的私鑰證書等文件已經準備好
(2)更改/etc/httpd/conf.d/*.conf中