前言:node
Apache HTTP Server(簡稱Apache)是Apache軟件基金會的一個開放源碼的網頁服務器,能夠在大多數計算機操做系統中運行,因爲其多平臺和安全性被普遍使用,是最流行的Web服務器端軟件之一。它快速、可靠而且可經過簡單的API擴展,將Perl/Python等解釋器編譯到服務器中。apache
環境介紹centos
系統環境:CentOS7瀏覽器
所需軟件包:apr-1.5.1.tar.gz、apr-util-1.5.4.tar.gz、httpd-2.4.12.tar.gz緩存
注意:httpd2.4須要依賴apr和arp-util 1.4以上版本安全
CentOS編譯安裝Apache準備:確保開發包組已安裝(Development tools、Server Platform Development) 服務器
# yum groupinstall Development tools Server Platform Development
0、查詢舊版apache的包名,卸載舊版的apache測試
rpm -q httpd rpm -e httpd-2.2.15-31.el6.centos.x86_64 --nodeps
一、下載官方源碼包並解壓: google
wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.12.tar.gz wget http://mirror.bit.edu.cn/apache/apr/apr-1.5.1.tar.gz wget http://mirror.bit.edu.cn/apache/apr/apr-util-1.5.4.tar.gz
二、解壓spa
tar -xvf httpd-2.4.12.tar.gz
tar -xf apr-1.5.1.tar.gz tar -xf apr-util-1.5.4.tar.gz
三、解決依賴關係:
mv apr-1.5.1 httpd-2.4.12/srclib/apr mv apr-util-1.5.4 httpd-2.4.12/srclib/apr-util
二、切換至源碼目錄:
cd httpd-2.4.12
三、執行configue腳本:
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd/ --enable-so
1 編譯參數詳解: 2 3 --prefix:#安裝路徑 4 5 --sysconfdir:#指定配置文件路徑 6 7 --enable-so:#DSO兼容,DSO=Dynamic Shared Object,動態共享對象,可實現模塊動態生效 8 9 --enable-ssl:#支持SSL/TLS,可實現https訪問 需已安裝openssl-devel 10 11 --enable-cgi:#支持CGI腳本(默認對非線程的MPM模式開啓) 12 13 --enable-rewrite:#啓用Rewrite功能,URL重寫 14 15 --enable-deflate:#支持壓縮功能 16 17 --with-zlib:#使用指定的zlib庫,不指定路徑會自動尋找 18 19 --with-pcre:#使用指定的PCRE庫,不指定路徑會自動尋找 需已安裝pcre-devel 20 21 --with-apr:#指定apr安裝路徑 22 23 --with-apr-util:#指定apr-util安裝路徑 24 25 --enable-mpms-shared:#支持動態加載的MPM模塊,可選參數:all 26 27 --with-mpm:#設置默認啓用的MPM模式,{prefork|worker|event} 28 29 --enable-modules:#支持動態啓用的模塊,可選參數:all,most,few,reallyall 30 31 #編譯以前可以使用./configure --help查看各項參數
四、make and make install
make && make install
五、爲了方便命令使用須要添加環境變量,編輯二進制程序如何讓系統找到:
# cat /etc/profile.d/apache.sh PATH=/usr/local/apache/bin:$PATH export PATH
六、頭文件輸出給系統:
#ln -sv /usr/local/apache/include /usr/local/include/httpd
七、讓系統從新生成庫文件路徑緩存
#ldconfig -v |grep "^[^[:space:]]"
八、啓動apache服務:
# apachectl start
九、查看80端口是否被監聽:
netstat -ntl
第一次遇到的狀況是80端口未被監聽,因而打開安裝目錄下:/usr/local/apache/logs/error_log出現以下提示:
google了一下緣由可能,資源受限,不能分配內存
解決方法:
# ulimit -u unlimited #修改 用戶最大進程數 # echo ulimit -u unlimited >>/etc/profile #保存修改到自啓動文件
再次查看80端口已被監聽:
瀏覽器訪問測試: