(一)apache 介紹
Apache HTTP Server(簡稱Apache)是Apache軟件基金會的一個開放源碼的網頁服務器,Apache也叫萬維網,www服務器, web服務器主要功能是提供網上信息瀏覽服務。Apache可以在大多數計算機操作系統中運行,由於其多平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。
目前主流的Web服務器軟件包括:Apache,Nginx,Lighttpd,IIS,Resin[ˈrezn],Tomcat, Weblogic,Jetty等,想要成爲web服務器,必須要遵守HTTP協議,即超文本傳輸協議(HyperText Transfer Protocol)。它是互聯網使用最廣泛的網絡協議,所有的web服務器都是基於該協議。簡單說,HTTP協議就是提供一種發佈web頁面和接收web頁面的方法。
Apache服務器,它也是基於HTTP協議的,它可以運行在幾乎所有廣泛使用的計算機平臺上,由於其跨平臺和安全性被廣泛使用,像windows ,linux ,mac系統,都可以支持apache服務器,所以它是目前最流行的Web服務器端軟件之一。它快速、可靠並且可通過簡單的API擴充,將Perl/Python等解釋器編譯到服務器。
Apache服務器的特點是使用簡單,速度快,性能穩定,可以做負載均衡以及代理服務器來使用。使用廣泛,可以運行在幾乎所有廣泛使用的計算機平臺上。
(二)web介紹
Web是WWW(World Wide Web)的簡稱,全球信息廣播的意思,又可以翻譯爲萬維網、web網、或3W網。www是Internet的多媒體信息查詢工具,是Internet上飛快發展的服務,也是目前使用最廣泛的服務。
Web瀏覽器和服務器使用超文本傳輸協議(HTTP)來傳輸web文檔,通過統一資源定位符(URL)標識文檔在網絡上服務器的位置以及服務器的路徑,Web文檔用HTML進行描述。
例如我們上baidu,在客戶機的瀏覽器中的地址欄上輸入http://www.baidu.com,www.baidu.com就是統一資源定位符url。它可以通過網絡找到百度的服務器,訪問百度的後臺的web服務器,百度的web服務器使用超文本傳輸協議HTTP,將你想要搜索的內容反饋到你的瀏覽器上。正是因爲有www軟件,才使得近年來Inernet迅速發展。
(三)Apacheweb服務器軟件擁有以下特性:
1.支持最新的HTTP/1.1通信協議
2.擁有簡單而強有力的基於文件的配置過程
3.支持通用網關接口
4.支持基於IP和基於域名的虛擬主機
5.支持多種方式的HTTP認證
6.集成Perl處理模塊
7.集成代理服務器模塊
8.支持實時監視服務器狀態和定製服務器日誌
9.支持服務器端包含指令(SSI)
10.支持安全Socket層(SSL)
11.提供用戶會話過程的跟蹤
12.支持FastCGI
13.通過第三方模塊可以支持JavaServlets
如果你準備選擇Web服務器,毫無疑問Apache是你的最佳選擇。
(四)Apache 服務器的部署
接下來,我們就講解怎麼來部署apache服務器,首先準備好linux系統。
1 輸入: cat /etc/redhat-release
可以看到我這個linux系統版本爲CentOS Linux 發行版 7.3.1611 (Core)
2 我進入opt 目錄下,創建一個apche的目錄:
cd /opt
mkdir apache
cd apache
wget http://mirrors.shu.edu.cn/apache//httpd/httpd-2.4.33.tar.gz
3 現在我們將這個包進行解壓:
tar –zxvf httpd-2.4.33.tar.gz
tar zxvf我之前已經講過
x : 從 tar 包中把文件提取出來,即解壓
z : 表示解壓的是gz這種格式的壓縮包,有gzip屬性的。
v : 顯示詳細信息
下面的參數-f是必須的
-f: 使用檔案名字,切記,這個參數是最後一個參數,後面只能接檔案名。
解壓完成後:接着我們進入到該目錄下:
cd httpd-2.4.33
4 進行預編譯。
我們看到這裏有個configure文件,這個就是我們預編譯的shell腳本,可以進裏面看一下,這裏面有運行的環境,設置一些變量。輸入
./configure –prefix=/usr/local/apache2
將文件安裝到指定的位置。
5 接下來是編譯
make –j
編譯就是將這些代碼進行一個整合,整合到咱這個系統裏面去,基於咱系統的GCC,將這個apache進行編譯,編譯完這個代碼也是放到當前這個目錄去的。
6 最後就是安裝
make install
可以看到他會將安裝的東西放到/usr/local/apache2目錄下,進入之後,輸入ls可以看到。
這個就是apache 源碼包安裝的過程。