#httpd服務css
1.簡單概述
1、HTTP 協議,全稱Hyper Text Transfer Protocol,中文名超文本傳輸協議 2、HTTP的重要應用之一是WWW服務,設置HTTP協議最初是提供一種發佈和接受HTML頁面的方法 三、www全稱world wide web(萬維網)
四、HTTP協議的WWW服務應用的默認端口爲80,https加密的端口爲443
五、http協議位於OSI模型中第七層應用層
六、官網:www.apache.org
#特色html
1、2.2版本很是穩定強大,2.4版本性能更高 2、prefork模式取消了進程建立開銷 3、高併發時消耗系統資源相對多 4、支持擴展
#HTTP協議版本nginx
#版本:0.9, 1.0, 1.1, 2.0,3.0 0.9: 最初的版本,僅支持請求方法方式get 1.0:增長了請求方式POST和HEAD 1.1:引入了持久鏈接 2.0:增長雙工模式(即不只客戶端可以同時發送多個請求,服務端也能同時處理多個請求) 也增長了服務器推送功能 3.0:基於UDP實現,基於UDP的多路複用,加密認證的報文
#HTTP狀態碼c++
是用來表示web服務器響應http請求狀態的數字代碼
#狀態碼可分爲5大類web
#生產場景下的狀態碼及其對應的做用數據庫
#apache的工做模式apache
prefork:多進程,每一個請求用一個進程響應 worker:多線程,一個進程能夠生成多個線程,每一個線程響應一個請求 event(http2.4以後添加):基於異步I/O模型,一個進程或線程,每一個進程或線程響應多個用戶
2.相關術語
#http請求方式vim
用於告訴web服務器端須要執行哪些具體的動做:包括獲取指定web頁面,提交內容到服務器、刪除服務器上資源文件等
#經常使用的HTTP請求方法tomcat
#http報文
#http報名可分爲兩種
請求報文:從客戶端發往web服務器的http報文
響應報文:從web服務器發往web客戶端的報文
#請求報文
請求報文包括: 請求行,請求頭部,空行,請求報文主體 請求行 請求行是請求報文的第一行,用來講明客戶端想要作什麼。 內容由請求方法字段、URL字段和HTTP協議版本字段組成 請求頭部 請求頭部由關鍵字/值對組成,使用:做爲分隔符, 請求頭部的做用是經過客戶端把請求的相關信息告訴給服務器 請求報文主體 請求報文主體包括了要發送給web服務器的數據信息,請求報文主體不會應用於HTTP的get命令方法
#響應報文
響應報文包括:狀態行,響應頭部,空行,響應報文主體
起始行:
也叫狀態行,用來講明服務器響應客戶端請求的情況
通常爲協議及版本號、數字狀態碼、狀態狀況
響應頭部:和請求報文相似,起始行的後面通常有若干個頭部字段
響應報文主體:響應報文主體中裝載了要返回給客戶端的數據
#URL介紹
全稱uniform resource location(統一資源定位符),也稱爲網頁地址(網址)
#URL的組成
由三部分組成: 第一部分是協議,如:http
第二部分是主機資源服務器IP地址或域名
第三部分是主機資源的具體地址
#URI介紹
全稱uniform resource identifier(統一資源標識符),用於標識某一互聯網資源名稱的字符串
URL是URI命名機制的一個子集
#靜態網頁介紹
在網站設計中,純碎的HTML格式的網頁一般稱爲靜態網頁
#常見的靜態擴展名
純文本類程序或文件,如.htm 、.html 、.xml 、.shtml 、.js 、.css 等。
圖片類文件或數據文檔,如.j pg 、.gif、.png 、.bmp 、.txt 、.doc 、.ppt 等。
視頻類流媒體文件,如.mp4 、.swf、.avi 、.wmv 、. ftv
#動態網頁介紹
動態網頁和靜態網頁是相對的,以.php .js .asp等形式結尾的
#動態網頁的特色
1、網頁擴展名後綴常見爲:.asp .aspx .php 2、通常以數據庫技術爲基礎 3、實現更多的功能 4、網址中有? &標誌性的符號
#僞靜態網頁介紹
僞靜態就是經過一些技術(如rewrite)把動態網頁的URL地址假裝成靜態網頁URL地址,但實際仍是動態網頁
#網站流量度量術語
IP
Internet protocol。指獨立IP數,獨立IP數是指不一樣ip地址的計算機訪問網站時被計的總次數
PV
(訪問量),即page view(頁面瀏覽),即頁面瀏覽或單擊量,無論客戶端是否相同,也無論ip是否相同,用戶只要訪問
網站頁面就會被計算爲PV,一次計一個PV
UV
unique visitor(獨立訪客),同一個客戶端訪問網站被記爲一個訪客,一天內相同的客戶端訪問同一個網站只會被計
一次UV
UV通常是以客戶端cookie等技術做爲統計依據
#網站併發鏈接理解
網站服務器在單位時間內可以處理的最大鏈接數
3.安裝方法
#1.使用yum進行安裝
yum install httpd -y
#啓動服務
[root@ctos3 ~]# systemctl start httpd
#查看httpd服務的目錄結構
[root@ctos3 ~]# tree /etc/httpd/ /etc/httpd/ ├── conf │ ├── httpd.conf #主配置文件 │ └── magic ├── conf.d │ ├── autoindex.conf │ ├── README │ ├── userdir.conf │ └── welcome.conf ├── conf.modules.d #模塊目錄 │ ├── 00-base.conf │ ├── 00-dav.conf │ ├── 00-lua.conf │ ├── 00-mpm.conf │ ├── 00-proxy.conf │ ├── 00-systemd.conf │ └── 01-cgi.conf ├── logs -> ../../var/log/httpd #日誌 ├── modules -> ../../usr/lib64/httpd/modules └── run -> /run/httpd
#2.編譯安裝apache2.4
#1.安裝相關的包
yum groupinstall "Development Tools" "Development Libraries" -y #安裝相關開發工具包 yum install gcc gcc-c++ openssl-devel bzip2 -y #安裝依賴包
#2.編譯apache依賴的相關包
[root@ctos3 ~]# ls -l | grep -E "apr|apr|pcre|httpd" -rw-r--r-- 1 root root 1031613 May 30 2016 apr-1.5.2.tar.gz -rw-r--r-- 1 root root 694427 May 30 2016 apr-util-1.5.4.tar.bz2 -rw-r--r-- 1 root root 5101005 May 30 2016 httpd-2.4.16.tar.bz2 -rw-r--r-- 1 root root 1557603 May 30 2016 pcre-8.37.tar.bz2
#提示:我這邊是將包下載下來了再使用rz(lrzsz包名)上傳的
#依賴包下載地址
apr和apr-utils:http://apr.apache.org/ prce:http://pcre.org
#2.1.編譯apr
[root@ctos3 ~]# tar xf apr-1.5.2.tar.gz -C /usr/local/src/ [root@ctos3 ~]# cd !$ cd /usr/local/src/ [root@ctos3 src]# cd apr-1.5.2/ [root@ctos3 apr-1.5.2]# ./configure --prefix=/usr/local/apr [root@ctos3 apr-1.5.2]# make -j 2 && make install
#提示:-j參數:使用CPU來進行編譯,加快速度
#2.2.編譯apr-util
[root@ctos3 ~]# yum install -y bzip2 [root@ctos3 ~]# tar xf apr-util-1.5.4.tar.bz2 -C /usr/local/src/ [root@ctos3 ~]# cd !$ cd /usr/local/src/ [root@ctos3 src]# cd apr-util-1.5.4/ [root@ctos3 apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr [root@ctos3 apr-util-1.5.4]# make -j 2 && make install
#2.3.編譯pcre
[root@ctos3 ~]# tar xf pcre-8.37.tar.bz2 -C /usr/local/src [root@ctos3 ~]# cd !$ cd /usr/local/src [root@ctos3 src]# cd pcre-8.37/ [root@ctos3 pcre-8.37]# ./configure --prefix=/usr/local/pcre [root@ctos3 pcre-8.37]# make -j 2 && make install
#3.編譯安裝apache
[root@ctos3 ~]# tar xf httpd-2.4.16.tar.bz2 -C /usr/local/src/ [root@ctos3 ~]# cd !$ cd /usr/local/src/ [root@ctos3 src]# cd httpd-2.4.16/ [root@ctos3 httpd-2.4.16]# ./configure --prefix=/usr/local/apache2.4 --enable-so --enable-rewrite --enable-ssl --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event [root@ctos3 httpd-2.4.16]# make -j 2 && make install
#編寫apache的啓動腳本
[root@ctos3 ~]# cp /usr/local/apache2.4/bin/apachectl /etc/init.d/apache2.4 #添加 [root@ctos3 ~]# vim /etc/init.d/apache2.4 [root@ctos3 ~]# head -n 3 /etc/init.d/apache2.4 #!/bin/sh #chkconfig:2345 64 36 #啓動級別的服務,2345指哪些級別啓動,64是開啓順序,36是關閉註釋 #description:Apache2.4.16 start script #添加了這兩個字段就可使用chkconfig命令控制 [root@ctos3 ~]# /etc/init.d/apache2.4 start #啓動服務 [root@ctos3 ~]# chkconfig apache2.4 on #添加開機自啓 [root@ctos3 ~]# ps aux | grep apache #查看apache的進程 [root@ctos3 ~]# ss -untpl | grep 80 #查看端口