Apache 簡介html
Apache HTTP Server 是開源軟件項目的傑出表明基於標準的HTTP網絡協議提供網貢瀏覽java
服務在We服務器領域中長期保持着超過半數的份額。Aapache服務器能夠運行在Lnux.UNXnode
Wndows 等多種操做系統平臺中,linux
1.Apache 的起源c++
Apathe服務器是針對以前出現的若干個Web服務器程序進行整合。完善後造成的軟件。其名web
稱來源於A Palchy Server 意思是「基於原有Web 服務程序的代碼進行修改(補T) 後造成的apache
服務器程序」,編程
1995年Apeche服務程序的10版本發佈以後一直由"ApacheGroup負責該項目的管理vim
和維護,直到1999 年在ApacheGroup 的基礎上成立了Apache軟件基金會(Apache Sotwae安全
Foundation ASF).目前,Apache項目一直由 ASF 負責管理和維護,
ASF 是非盈利性質的組織,最初只負責"ApacheWeb服務器項目的管理,隨着Web應用需
求的不斷擴大,ASF 逐漸增長了許多與Web 技術相關的開源軟件項目所以Apsthe 如今不只僅
表明着Web 服務器,更普遍地表明着ASF 管理的衆多開源軟件項目,ASF 基金會的官方網站是
htIP:/ www apache .org/.
ApacheHTTPServer 是ASF 旗下著名的軟件項目之一,其正式名稱是htpa」也就是歷史
上的Apache 網站服務器。在本書後續內容中。若未做特殊說明,使用"Apache 或者「http:d
均指的是、Apache HTP Server
2.Apache 的主要特色
Apache 服務器在功能性能和安全性等方面的表現都是比較突出的能夠較好地知足Web
服務器用戶的應用需求,其主要特色包括如下幾個方面。
開放源代碼這是Apache服務器的重要特性之一,也是其餘特性的基礎。Apache服務程
序由全世界的衆多開發者共同維護而且任何人均可以自由使用,這充分體現了開源軟
件的精神。
跨平臺應用這個特性得益於Apache的源代碼開放。Apache服務器能夠運行在絕大多數
軟硬件平臺上,全部UNX 操做系統均可以運行Apache服務器甚至Apache服務理可
以良好地運行在大多數Wndows 系統平臺中。Apache 服務器的跨平臺特性使美具備被
普遍應用的條件。
支持各類Web 編程語言Apache服務器可支持的網頁編程語言包括perl、PHP、Pythoon、java
等,甚至微軟的ASP 技術也能夠在Apache陽服務器中使用支持各類經常使用的web編
程語言使Apache具備更普遍的應用領域。
模塊化設計Apache 並無將全部的功能集中在單一的服務程序內部,而是儘量的經過標準的模塊實現專有的功能這爲Apache服務器帶來了能夠編寫標準的模塊程序,從而添加Apache自己並不具備的其餘功能。
運行很是穩定,Apache服務器可用於構建具備大負載訪問量的Web 站點,不少知名的企
業網站都使用Apache 做爲Web 服務軟件。
良好的安全性,Apache 服務器具備相對較好的安全性,這是開源軟件共同具備的特性。
而且Apache 的維護團隊會及時對已發現的漏洞提供修補在序,爲Apache 的全部使用者
提供儘量安全的服務器程序。
服務搭建環境:ret hat 六、httpd-2.2.17,apr-1.4.6.tar.gz,apr-util-1.4.1.tar.gz
準備工做
避免端口衝突,程序衝突等現象,須要作如下檢查
[root@localhost ~]# netstat -anpt | grep 80
[root@localhost ~]# rpm -e httpd --nodeps
2.使用yum工具安裝編譯包
yum -y install gcc gcc-c++ make pcre-devel
3.解開壓縮包
[root@localhost ~]# tar -zxf apr-util-1.4.1.tar.gz -C /opt
[root@localhost ~]# tar -zxf apr-1.4.6.tar.gz -C /opt
[root@localhost ~]# tar -zxf httpd-2.4.25.tar.gz -C /opt
4.將優化包拷貝到httpd的目錄下
[root@localhost opt]# cp -r apr-1.4.6/ httpd-2.4.25/srclib/apr
[root@localhost opt]# cp -r apr-util-1.4.1/ httpd-2.4.25/srclib/apr-util
5.進入httpd的目錄檢測安裝平臺的目標特徵
[root@localhost opt]# cd httpd-2.4.25/
./configure \
--prefix=/usr/local/apache \
--enable-so \
--enable-rewrite \
--enable-mods-shared=most \
--with-mpm=worker \
--disable-cgid \
--disable-cgi
參數解釋:
--prefix= //來指定安裝路徑
--enable-so //該參數表示支持用mod_so模塊提供的功能,用LoadModule在httpd.conf文件或包含的conf文件中動態加載某個模塊。讓 Apache 能夠支持DSO模式
--enable-rewrite //支持 URL 重寫
--enable-mods-shared=most //選項:告訴編譯器將全部標準模塊都動態編譯爲DSO模塊。
--with-mpm=worker // 讓apache以worker方式運行
--with-mpm=worker //該參數是配置apache將以何種模式編譯的。Apache網站文檔指出不一樣操做系統下的不一樣的默認模式.
--disable-cgid //禁止用一個外部 CGI 守護進程執行CGI腳本
--disable-cgi //禁止編譯 CGI 版本的 PHP
6.編譯和安裝編譯
[root@localhost httpd-2.4.25]# make && make install
7.確認安裝結果
[root@localhost httpd-2.4.25]# ls /usr/local/apache/
bin cgi-bin error icons lib man modules
build conf htdocs include logs manual
8.優化路徑
[root@localhost httpd-2.4.25]# ln -s /usr/local/apache/bin/* /usr/local/bin
9.查看是否優化成功
[root@localhost httpd-2.4.25]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl
lrwxrwxrwx. 1 root root 31 6月 18 00:51 /usr/local/bin/apachectl -> /usr/local/apache/bin/apachectl
lrwxrwxrwx. 1 root root 27 6月 18 00:51 /usr/local/bin/httpd -> /usr/local/apache/bin/httpd
10.添加httpd爲系統服務
[root@localhost httpd-2.4.25]# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
[root@localhost httpd-2.4.25]# chmod +x /etc/init.d/httpd
[root@localhost httpd-2.4.25]# vim /etc/init.d/httpd
1 #!/bin/sh
2 #chkconfig: 35 85 21
[root@localhost httpd-2.4.25]# chkconfig --add httpd
[root@localhost httpd-2.4.25]# chkconfig --list httpd
httpd 0:關閉 1:關閉 2:關閉 3:啓用 4:關閉 5:啓用 6:關閉
11.配置httpd的配置文件
[root@localhost ~]# vim /usr/local/apache/conf/httpd.conf
各全局配置項的含義以下。
ServerRoot,設置httpd服務器的根目錄,該目錄下包括了運行Web站點必需的子目錄和
文件。默認的根目錄爲/usr/local/httpd.與httpd 的安裝目錄相同,在httpa conf 配置文
件中,若是指定目錄或文件位置時不使用絕對路徑,則該目錄或文件位置都認爲是在服
務器的根目錄下。
Listen; 設置httpd服務器監昕的網絡端口號,默認爲80.
User: 設置運行httpd進程時的用戶身份,默認爲daemon.
Group: 設置運行httpd進程時的組身份,默認爲demon.
ServerAdmin; 設置htipd服務器的管理員E-mal 地址,能夠經過此E-mal 地址及時聯繫
Web 站點的管理 員.
ServerName: 設置Web站點的完整主機名(主機名+域名).
Documentoot: 設置網站根目錄,即網頁文檔在系統中的實際存放路徑、此配置項比較容
易和ServerRoot 混淆,須要格外注意.
Directoryindex: 設置網站的默認索引頁(首頁),能夠設置多個首頁文件,以空格分開,
默認的首頁文件爲index.html.
Erorlog: 設置錯誤日誌文件的路徑,默認路徑爲logs/eror_log.
LogLevel; 設置記錄日誌的級別,默認級別爲wam (警告)。
CustorLog.設置訪問日誌文件的路徑、日誌類型,默認路徑爲logs/access_og.使用的
類型爲common (通用格式).
PidFile.設置用於保存httpd 進程號(PD) 的文件,默認保存地址爲logs/ httpa pid.logs
目錄位於Apache的服務器根目錄下。
CharsetDefault;設置站點中的網頁默認使用的字符集編碼,如UTF-8.gb2312等。
include.包含另外一個配置文件的內容,能夠實現將一些特殊功能的配置放到一個單獨的
文件中,再使用Include 配置項將其包含到httpd conf 文件中,這樣便於獨立進行配置功
能的維護而不影響主配置文件。
以上配置項是httpo conf 文件中主要的全局配置項。還有其餘不少配置項,在此不一一列舉,
若是須要使用能夠查看Apache服務器中的相關幫助手冊文檔。
注:須要關閉防火牆,或者添加相應的端口號。
如下是本人本身寫的一個簡單的腳本直接傳入linux就可使用(只供參考,非商用)