盤點Linux運維常用工具(一)-web篇之httpd

#前言:想把自己學到用到的各種服務進行分類歸檔起來,於是就寫了盤點Linux運維常用工具,Linux方面使用到的web應用服務有httpd(apache)、nginx、tomcat、lighttpd,先了解httpd服務

 

#httpd服務

1.簡單概述

1、HTTP 協議,全稱Hyper Text Transfer Protocol,中文名超文本傳輸協議
2、HTTP的重要應用之一是WWW服務,設置HTTP協議最初是提供一種發佈和接受HTML頁面的方法
3、www全稱world wide web(萬維網)
4、HTTP協議的WWW服務應用的默認端口爲80,https加密的端口爲443
5、http協議位於OSI模型中第七層應用層
6、官網:www.apache.org

 

#特點

12.2版本非常穩定強大,2.4版本性能更高
2、prefork模式取消了進程創建開銷
3、高併發時消耗系統資源相對多
4、支持擴展

 

#HTTP協議版本

#版本:0.9, 1.0, 1.1, 2.03.0
    0.9: 最初的版本,僅支持請求方法方式get
    1.0:增加了請求方式POST和HEAD
    1.1:引入了持久連接
    2.0:增加雙工模式(即不僅客戶端能夠同時發送多個請求,服務端也能同時處理多個請求)
             也增加了服務器推送功能
    3.0:基於UDP實現,基於UDP的多路複用,加密認證的報文

 

#HTTP狀態碼

是用來表示web服務器響應http請求狀態的數字代碼

#狀態碼可分爲5大類

 

 #生產場景下的狀態碼及其對應的作用

 

#apache的工作模式

prefork:多進程,每個請求用一個進程響應
worker:多線程,一個進程可以生成多個線程,每個線程響應一個請求
event(http2.4之後添加):基於異步I/O模型,一個進程或線程,每個進程或線程響應多個用戶

 

2.相關術語

#http請求方式

用於告訴web服務器端需要執行哪些具體的動作:包括獲取指定web頁面,提交內容到服務器、刪除服務器上資源文件等

#常用的HTTP請求方法

 

#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        #查看端口

  

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