CentOS 6.4 編譯安裝 Apache 2.4


  部署環境:

CentOS6.4 x86_64位 采用最小化安裝,系統經過了基本優化  1G內存,1核cpu

selinux為關閉狀態,iptables開放80端口

apache版本:httpd-2.4.29

apr版本:apr-1.6.3

apr-util版本:apr-util-1.6.3

源碼包存放位置:~/

源碼包編譯安裝位置:/opt/軟件名稱

 

1)准備工作

yum groupinstall "Development tools" "Server Platform Development" -y  #安裝這兩個開發環境的軟件包組
yum install pcre* -y #安裝pcre兼容的正則表達式
yum install expat-devel

  如果centos中自帶有httpd服務,需要先卸載

chkconfig httpd off
chkconfig --del httpd
rm -f /ect/init.d/httpd 

2)下載源代碼

cd ~
wget -c http://www.eu.apache.org/dist/httpd/httpd-2.4.29.tar.gz

  apache的源碼包,我們可以去apache的官網或者鏡像站點進行下載,並且為了安全,我們下載時最好將apache的公鑰和數字簽名文件同時下載下來,然后對源碼包的一致性進行驗證,當驗證無誤后再投入使用。

wget http://www.eu.apache.org/dist/httpd/httpd-2.4.29.tar.gz.asc
wget http://www.apache.org/dist/httpd/KEYS
gpg --import KEYS
gpg --verify httpd-2.4.29.tar.gz.asc

  執行完成后,會輸出類似於以下的信息  

   

  接下來解壓apache源代碼,並下載apr和apr-util源代碼,並解葯到srclib中

tar -zvxf httpd-2.4.29.tar.gz
cd httpd-2.4.29
wget -c http://www-us.apache.org/dist//apr/apr-1.6.3.tar.gz
wget -c http://www-us.apache.org/dist//apr/apr-util-1.6.1.tar.gz
tar -zxf apr-1.6.3.tar.gz
mv apr-1.6.3 ./srclib/apr
tar -zxf apr-util-1.6.1.tar.gz
mv apr-util-1.6.1 ./srclib/apr-util
rm -f *.tar.gz

3)開是編譯安裝

./configure --prefix=/opt/apache-2.4.6 \       #配置文件目錄
--with-included-apr \
--with-pcre \                            #支持perl的正則表達式
--enable-so \                            #啟用動態模塊加載
--enable-ssl \                           #基於ssl加密傳輸
--enable-cgi \                           #開啟CGI腳本
--enable-rewrite \                       #允許URL重寫
--with-zlib \                            #支持壓縮
--enable-deflate \                       #支持網頁壓縮
--enable-expires \                       #支持網頁緩存
--enable-headers \                       #提供允許對HTTP請求頭的控制
--enable-modules=most \                  #支持大多數模塊
--enable-mpms-shared=all \               #mpm模塊的動態切換
--with-mpm=event \                       #默認加載使用的mpm
--with-mpm=worker                        #讓apache以worker方式運行
                                        #以上是生產環境中常用的一些編譯參數

   命令貼在下面,方便執行

./configure --prefix=/opt/apache-2.4.29 --with-included-apr --with-pcre --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --enable-deflate --enable-expires --enable-headers --enable-modules=most --enable-mpms-shared=all --with-mpm=event --with-mpm=worker --enable-mine-magic

4)配置apache

  首先進入apache安裝根目錄

cd /opt/apache-2.4.29

  apache安裝完成之后,我們要先為編譯安裝好的目錄添加軟鏈接。此操作在生產環境中為重要調優參數,添加這條軟鏈接的目的有兩點:

    1、方便人們使用。

    2、便於以后升級版本。

ln -s /opt/apache-2.4.29 /usr/local/apache

  接下來配置apache服務,首先打開配置文件

cd /usr/local/apache
vim conf/httpd.conf

  找到ServerName 這一行,將前面的#去掉,名修改其值為 0.0.0.0:80或者為自己主機的ip

  然后保存並退出,檢查一下語法

/usr/local/apache/bin/apachectl -t 

  啟動apache

/usr/local/apache/bin/apachectl start

5)將apache添加到系統服務

  首先需要修改 apachectl

cd /usr/local/apache
vim bin/apachectl

  在第二行添加一些內容,修改結果如下

  代碼貼在下面,方便粘貼

#Comments to support chkconfig on RedHat Linux
#chkconfig: 2345 90 90
#description:http server

  之后再執行一下命令即可將apache添加到系統服務

cp bin/apachectl /etc/init.d/httpd
chkconfig --add httpd   #將apache添加到系統服務
chkconfig httpd on     #設置開機自啟動

  這樣就可以用service啟動和停止服務了

service httpd start   #啟動apache服務
service httpd stop       #停止apache服務
service httpd restart    #重啟apache服務
service httpd status   #查看apache服務狀態

 

額外提醒:開啟apache服務失敗

1)未開啟80端口

  可以直接關閉防火牆

service iptables stop
chkconfig iptables off

  或者可以開啟80端口

vim /etc/sysconfig/iptables

  在里面添加一行  -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT ,如下圖所示

  保存並退出,再重啟防火牆即可

service iptables restart

 

2)80端口被占用

  1)修改httpd.conf

    將里面Listen 80 這一行里面的80改成其他的端口,比如81,保存並退出以后重啟apache即可

  2)殺死占用80端口的進程

netstat -lnp |grep :80

  可以查看到,監聽80端口的pid為2786,使用kill指令殺死該進程

kill -9 2786

  之后重新啟動apache即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM