Apache2.4.6服務器安裝及配置

1、系統環境

系統版本:Aliyun Linux release 5.7web

內核版本:2.6.18-274.el5apache

apr版本:apr-1.4.8vim

apr-util版本:apr-util-1.5.2瀏覽器

pcre版本:pcre-8.33緩存

Apache版本:Apache/2.4.6 (Unix)安全

2、Apache簡介

    Apache 做爲歷史最悠久的web服務器,一直是web應用系統的首選,是世界上被普遍應用的web 服務器軟件,它能夠運行在幾乎全部普遍使用的計算機平臺上,因爲其跨平臺和安全性被普遍使用,是最流行的web服務器端軟件之一,也是流行架構LAMP的重要組成部分。服務器

3、Apache特色

  • 支持最新的HTTP/1.1通訊協議。Apache是最早使用HTTP/1.1協議的Web服務器之一,它徹底兼容HTTP/1.1協議並與HTTP/1.0協議向後兼容。Apache已爲新協議所提供的所有內容作好了必要的準備。
  • 支持多計算機平臺。Apache幾乎能夠在全部的計算機操做系統上運行,包括主流的UNIX、Linux及Windows操做系統。
  • 配置文件簡單,易操做。用戶能夠經過直接修改Apache的配置文件信息來修改Apache,操做起來十分方便。
  • 支持實時監視服務器狀態和定製服務器日誌。Apache在記錄日誌和監視服務器自身運行狀態方面提供了很大的靈活性,能夠經過Web瀏覽器來監視服務器的狀態,也能夠根據本身的須要來定製日誌。
  • 支持多種方式的HTTP認證。
  • 支持Web目錄修改。用戶可使用特定的目錄做爲Web目錄。
  • 支持CGI腳本,如Perl、PHP等。
  • 支持服務器端包含指令(SSI)。
  • 支持安全Socket層(SSL)。
  • 支持FastCGI。
  • 支持虛擬主機。即經過在一臺服務器上使用不一樣的主機名來提供多個HTTP服務。Apache支持基於IP、主機名和端口號三種類型的虛擬主機服務。
  • 跟蹤用戶會話。當用戶瀏覽基於Apache的Web站點時,能夠經過Apache的mod_usertrack模塊對其進行跟蹤。
  • 支持動態共享對象。Apache的模塊可在運行時動態加載,這就意味着這些模塊能夠被裝入服務器進程空間,從而減小系統的內存開銷。
  • 支持多進程。當負載增長時,服務器會快速生成子進程來處理,從而提升系統的響應能力。
  • 支持第三方軟件開發商提供的功能模塊。好比Apache加載mod_jserv模塊後能夠支持Java Servlet,這樣就能夠運行Java應用程序了。
  • 支持多線程和多進程混合模型的MPM。 當MPM類型指定爲worker時,因爲是使用線程來處理,因此能夠處理海量的請求,而系統資源的開銷要小於基於進程的服務器。

4、Apache2.4新特性

一、MPM支持在運行時裝載多線程

--enable-mpms-shared=all --with-mpm=event 啓用默認的event架構

二、支持event異步

三、異步讀寫

四、在每模塊及每目錄上指定日誌級別

五、每請求配置:<If> <Elseif>

六、加強版的表達式分析器

七、毫秒級的keepalive timeout

八、支持主機名的虛擬主機不在須要NameVirtualHost指令

九、支持使用自定義變量

十、新增一些模塊:mod_proxy_fcgi,mod_ratelimit,mod_request,mod_remoteip

十一、對於基於IP的訪問作了修改,不在使用order,allow,deny這些機制;而是統一使用require進行

5、安裝前準備

一、安裝Apache可移植運行庫(apr:Apache portable runtime)

# tar -zxvf apr-1.4.8.tar.gz

# cd apr-1.4.8

# ./configure --prefix=/usr/local/apr

# make && make install

二、安裝Apache可移植運行庫工具包

# tar -zxvf apr-util-1.5.2.tar.gz

# cd apr-util-1.5.2

# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/

# make && make install

三、安裝PCRE(Perl Compatible Regular Expressions)Perl庫文件

# tar -zxvf pcre-8.33.tar.gz

# cd pcre-8.33

# ./configure --prefix=/usr/local/pcre

# make && make install

6、安裝Apache服務器

# tar -zxvf httpd-2.4.6.tar.gz

# cd httpd-2.4.6

# ./configure --prefix=/usr/local/apache --enable-rewrite --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre/ --enable-ssl --enable-deflate --enable-expires --with-mpm=event

# make && make install

參數簡單說明:

--prefix=/usr/local/apache:apache安裝路徑

--enable-rewrite:支持網站地址重寫

--enable-so:支持動態加載模塊

--with-apr=/usr/local/apr:apache可移植庫的路徑

--enable-ssl:支持ssl加密

--enable-deflate:支持傳輸前進行壓縮

--enable-expires:支持設置頁面緩存時間

--with-mpm=prefork:指定Apache的運行模式(本人的默認是event)

--enable-modeles=most(經常使用的模塊)

注:

  • 若是源碼安裝與rpm包安裝方式共存須要進行的配置:

   一、導出頭文件

   # ln -sv /usr/local/apache/include /usr/include/httpd

   二、導出庫文件

      # ldconfig

      # ldconfig -p

   三、導出man手冊

      # vim /etc/man.config加入

      MANPATH /usr/local/apache/man

      新版httpd的man幫助文件

      # man -M /usr/local/apache/man httpd

   四、輸出二進制程序

      # vim /etc/profile.d/httpd.sh加入

      export PATH=/usr/local/apache/bin:$PATH

      . /etc/profile

      啓動httpd服務:apachectl start

  • event MPM對於老的CPU多是不支持的
  • 本人編譯的只添加了這些模塊,若是有須要能夠在編譯過程當中進行添加,或者從新編譯
  • 編譯前經過修改源碼文件隱藏Apache服務器名稱及版本號,而後再經過httpd-default.conf配置文件便可將版本信息隱藏

    # vim include/ap_release.h

    服務器供應商名稱Apache軟件基金會

    #define AP_SERVER_BASEVENDOR "Apache Software Foundation"

    服務的項目名稱

    #define AP_SERVER_BASEPROJECT "Apache HTTP Server"

    服務的產品名稱

    #define AP_SERVER_BASEPRODUCT "Apache"

    #define AP_SERVER_MAJORVERSION_NUMBER 2 主版本號

    #define AP_SERVER_MINORVERSION_NUMBER 4 次版本號

    #define AP_SERVER_PATCHLEVEL_NUMBER   6 修正號

相關文章
相關標籤/搜索