Linux系統源碼編譯安裝httpd2.4

一、httpd 簡介

    目前CENTOS7默認安裝是HTTPD2.4,但是CENTOS6上默認是安裝HTTPD2.2,CENTOS6如果要安裝HTTPD2.4,需要通過編譯安裝實現,一般情況下,centOS7默認是安裝httpd2.4,若自己編譯特殊的模塊,需要源碼編譯安裝。httpd2.4源碼在 http://httpd.apache.org 下載。

    源碼編譯的優勢
    1)自定義軟件功能;
    2)優化編譯參數,提高性能;
    3)解決不必要的軟件間依賴;
    4)方便清理與卸載。

二、httpd的版本
    httpd-1.3
    httpd-2.0
    httpd-2.2
    httpd-2.4

三、編譯安裝

    httpd-2.4 依賴於1.4+及以上版本的apr(apache portable runtime,能實現httpd跨平臺運行), apr-util

1、編譯安裝需要先安裝開發包組”Development Tools”

yum -y groupinstall "Development Tools"

image.png

    查看組安裝

image.png

2、安裝前準備,安裝所需要的rpm包

yum -y install pcre-devel apr-devel apr-util-devel openssl-devel

image.png

3、將下載好的壓縮包加壓

image.png

tar xvf httpd-2.4.35.tar.bz2 -C /usr/local/src/    -C 指定解壓後的路徑

image.png

cd /usr/local/src/httpd-2.4.35/srclib/     進入解壓後文件存放地目錄放入已下載完畢的依賴包

image.png

    由於apr-util依賴於apr,所以先編譯安裝apr。

tar xvf apr-1.6.5.tar.gz

image.png

tar xvf apr-util-1.6.1.tar.gz

image.png

image.png

mv apr-util-1.6.1 apr-util       改變文件名稱
mv apr-1.6.5 apr

image.png

4、 進行編譯

cd /usr/local/src/httpd-2.4.35/   或  cd ..   進入上一級目錄

image.png

 ./configure --prefix=/app/httpd24 --sysconfdir=/etc/httpd24  --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork --with-included-apr    具體解釋如下:

image.png

        --sysconfdir=/etc/httpd24  指定配置文件路徑,如不指定,配置文件就在程序安裝的目錄;
        --enable-so  啓動模塊動態裝卸載功能

        --enable-ssl 編譯ssl模塊,要先安裝完畢

        --enable-cgi 支持cgi機制(能夠讓靜態web服務器能夠解析動態請求的一個協議)
        --enable-rewrite  支持url重寫(重定向功能)   

        --with-zlib  支持數據包壓縮      

        --with-pcre  支持正則表達式

        --with-apr=/usr/local/apr  指明依賴的apr所在目錄(注意必須指明路徑)

        --with-apr-util=/usr/local/apr-util/  指明依賴的apr-util所在的目錄

        --enable-modules=[all | most | ……]   啓用的模塊。all表示啓用所有模塊,most表示啓用大多數常用模塊

        --enable-mpms-shared=all   以共享方式編譯的模塊。    其他選項爲[prefork | worker | event | all]
        --with-mpm=prefork         指明httpd的工作方式爲prefork 。  3種MPM模塊爲 [prefork | worker | event]

   enable類的一般用於指定啓用哪些功能,with類的一般表示依賴於哪些。

image.png

5、加載安裝內核

make -j 2 && make install

image.png

6、創建指定用戶

useradd -r -u 48 -c "Apache" -d /usr/share/httpd -s /sbin/nologin apache

image.png

    useradd:
     -u UID 指定 UID
     -o 與-u 配合,不檢查uid的唯一性
     -g GID/組名 指定用戶的主要組
     -G GID/組名 指定用戶的附加組
     -c "註釋" 用戶名
     -d 路徑  用戶名    (路徑中的目錄名要先存在,而基名不要存在)
     -s /sbin/nologin  指定用戶的默認shell
     -N 使用users組做爲主要組
     -r 創建系統用戶
     -m 與-r 配合使用,在創建系統用戶時,同時創建家目錄
     -M 創建非系統用戶時,不創建家目錄
     -D 設置默認值,影響以下文件
    useradd的默認設置: /etc/default/useradd

7、配置文件設置

 vim /etc/httpd24/httpd.conf

image.png

image.png

8、重啓服務

/app/httpd24/bin/apachectl restart    若沒有開啓,需要start

image.png

9、查看進程

ps -ef |grep httpd

image.png

    ps命令:將某個進程顯示出來

     -e   顯示所有進程

     -f    全格式

     -h   不顯示標題

     -l    長格式

     -w   寬輸出

     -a    顯示終端上的所有進程,包括其他用戶的進程

     -r    只顯示正在運行的進程

    -u  以用戶爲主的格式來顯示程序狀況

    -x     顯示所有程序,不以終端機來區分

四、小總結

   關於HTTP已啓動無法訪問的解決方法:

    清除瀏覽器緩存後再次訪問。

    沒有關閉selinux會出現訪問不到的情況

    沒有關閉防火牆,則需要添加80端口,或者可以選擇關閉防火牆


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章