CentOS6.3 編譯安裝LAMP(2):編譯安裝 Apache2.4.6

Apache官方說:php

與Apache 2.2.x相比,Apache 2.4.x提供了不少性能方面的提高,包括支持更大流量、更好地支持雲計算、利用更少的內存處理更多的併發等。除此以外,還包括性能提高、內存利用、異步I/O的支持、動態反向代理設置、與時間驅動的Web服務器至關或更好的性能、更強大的處理資源分配能力,更便捷的緩存支持以及可定製的高速服務器和代理等。其它的功能還包括更簡單的錯誤分析、更靈活的設置項、更強大的驗證機制和更完整的文檔。html

Apache服務器項目管理委員會和Apache基金會主席Jim Jagielski表示,他們但願終端用戶能真正地看到性能進步,Apache 2.4.x比許多以速度見長的Web服務器更快,例如 Nginxlinux

apache-2.2與新出的apache-2.4安裝不一樣的地方在於,2.4版的已經不自帶apr庫,因此在安裝apache-2.4以前,須要下載aprapache

所需源碼包vim

/usr/local/src/Apache-2.4.6/apr-1.4.6.tar.gz
/usr/local/src/Apache-2.4.6/apr-util-1.4.1.tar.gz
/usr/local/src/Apache-2.4.6/httpd-2.4.6.tar.gz緩存

安裝Apache依賴庫bash

#安裝 apr服務器

cd /usr/local/src/Apache-2.4.6
tar -xzvf ./apr-1.4.6.tar.gz
cd ./apr-1.4.6
mkdir /usr/local/apr
./configure --prefix=/usr/local/apr
make && make install

#安裝 apr-util併發

cd /usr/local/src/Apache-2.4.6
tar -xzvf ./apr-util-1.4.1.tar.gz
cd ./apr-util-1.4.1
mkdir /usr/local/apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
make && make install

#安裝 pcre異步

cd /usr/local/src/Apache-2.4.6
tar -xzvf ./pcre-8.33.tar.gz
cd ./pcre-8.33
mkdir /usr/local/pcre
./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config
make && make install

安裝 Apache2.4.6

#切換到apache源碼目錄

cd /usr/local/src/Apache-2.4.6
tar -xzvf ./httpd-2.4.6.tar.gz
cd ./httpd-2.4.6

#生成configure

./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-so --enable-deflate=shared --enable-expires=shared --enable-ssl=shared --enable-headers=shared --enable-rewrite=shared --enable-static-support --with-mpm=prefork

#編譯

make && make install

編譯參數解釋:

--prefix=/usr/local/apache :指定安裝目錄
--with-apr=/usr/local/apr : apr庫
--with-apr-util=/usr/local/apr-util :apr-util庫
--with-pcre=/usr/local/pcre : pcre庫
--enable-so : 容許運行時加載DSO模塊(注意:so模塊需靜態編譯)
--enable-deflate=shared : 將deflate模塊編譯爲DSO
--enable-expires=shared : 將expires模塊編譯爲DSO
--enable-ssl=shared : 將ssl模塊編譯爲DSO
--enable-headers=shared : 將headers模塊編譯爲DSO
--enable-rewrite=shared : 將rewrite模塊編譯爲DSO
--enable-static-support : 使用靜態鏈接(默認爲動態鏈接)編譯全部二進制支持程序
--with-mpm=prefork : 使用prefork形式的mpm

更詳細的編譯參數解釋:http://lamp.linux.gov.cn/Apache/ApacheMenu/programs/configure.html

cp ./build/rpm/httpd.init  /etc/init.d/httpd  #使用init腳本管理httpd
chmod 755 /etc/init.d/httpd  #增長執行權限
chkconfig --add httpd  #添加httpd到服務項
chkconfig --level 2345 httpd on  #設置開機啓動
chkconfig --list httpd  #查看是否設置成功

mv /etc/httpd  /etc/httpd_old  #移走舊的httpd文件夾
ln -s /usr/local/apache  /etc/httpd  #創建httpd的軟連接,
#到時候,Apache的配置文件路徑爲 /etc/httpd/conf/httpd.conf,其實真實路徑爲 /usr/local/apache/conf/httpd.conf

ln -sf /usr/local/apache/bin/httpd  /usr/sbin/httpd  #設置軟連接以適應init腳本
ln -sf /usr/local/apache/bin/apachectl  /usr/sbin/apachectl

rm -rf /var/log/httpd/
ln -s /usr/local/apache/logs  /var/log/httpd

groupadd apache #添加apache用戶組及用戶
useradd -g apache -s /usr/sbin/nologin apache
chown -R apache:apache /usr/local/apache

修改init命令文件

主要是修改文件中pidfile參數的值(進程文件指向)

vim /etc/init.d/httpd

把其中的

pidfile=${PIDFILE-/var/run/${prog}.pid}

修改成

pidfile=${PIDFILE-/usr/local/apache/logs/${prog}.pid}

配置防火牆,開啓80端口

vim /etc/sysconfig/iptables

#添加以下規則到22端口這條規則的下面便可

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

#重啓防火牆

service iptables restart # 或 /etc/init.d/iptables restart

啓動Apache

service httpd start # 或 /etc/init.d/httpd start

 

 

延伸閱讀:

CentOS6.x編譯安裝LAMP(1):準備工做

CentOS6.x編譯安裝LAMP(2):編譯安裝 Apache2.2.25

CentOS6.x編譯安裝LAMP(2):編譯安裝 Apache2.4.6

CentOS6.x編譯安裝LAMP(3):編譯安裝 MySQL5.5.25

CentOS6.x編譯安裝LAMP(4):編譯安裝 PHP5.2.17

CentOS6.x編譯安裝LAMP(4):編譯安裝 PHP5.3.27

PHP5不從新編譯,如何安裝自帶的未安裝過的擴展,如soap擴展?

Apache經常使用2種工做模式preforkworker比較

CentOS編譯安裝Apache 2.4.x時報錯:configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.

相關文章
相關標籤/搜索