linux 安裝apache原始碼

2022-08-17 14:54:16 字數 3596 閱讀 9301

環境介紹:

系統環境:centos7

安裝需要gcc庫 yum install -y gcc gcc-c++

所需軟體包:apr-1.6.2.tar.gz、apr-util-1.6.0.tar.gz、httpd-2.4.27.tar.gz 、pcre-8.35

依賴包:zlib-devel

# yum install zlib-devel

開發環境包組:development tools, server platform development

# yum groupinstall "development tools" "serverplatform development" -y

1、查詢舊版apache包名並解除安裝。

rpm -q httpd  查詢

rpm -e --nodeps ttpd-2.2.15-59.el6.centos.x86_64  刪除

或使用如下shell指令碼批量刪除舊版apache軟體包

進入htpd目錄

執行:   rpm -ivh httpd  安裝

wget 

wget 

wget 

apr-1.5.1.tar.gz

apr-util-1.5.1.tar.gz

3、解壓

4、編譯安裝apr-1.5.2

5、編譯安裝apr-util-1.5.4

6、編譯安裝httpd-2.2.32

--prefix:安裝路徑;

--sysconfdir:指定配置檔案路徑

--enable-so:dso相容,dso=dynamic shared object,動態共享物件,可實現模組動態生效;

--enable-deflate:支援壓縮功能;需要zlib-devel包支援;

--enable-headers:提供允許對http請求頭的控制;

--enable-rewrite:提供基於url規則的重寫功能;

--with-mpm:設定預設啟用的mpm模式,;

--with-apr:apr安裝路徑;

--with-apr-util:apr-util安裝的路徑;

--with-pcre:pcre安裝目錄;

make

make install

解除安裝源**包:

刪除源**所安裝位置: rm -rf /usr/local/apache2

重新安裝:刪除源**解壓檔案然後在進行安裝;

7、設定二進位制命令path環境變數

編輯檔案/etc/profile.d/name.sh,輸入export path=/path/to/bin:$path

注意:bin路徑的放在前面系統在讀取配置檔案的時候會按照自左向右的順序讀取

path變數設定;

1.。檢視:export  或 echo $path;

2.修改profile檔案  所有使用者可用 

vi /etc/profile    

export path="$path:安裝目錄"  

讓環境變數立即生效需要執行如下命令:  

source /etc/profile

3. 修改.bashrc檔案:  

# vi /root/.bashrc  

在裡面加入:  

export path="$path:/opt/au1200_rm/build_tools/bin"

8、建立鏈結標頭檔案

9、設定manpath

在/etc/man.config檔案中新增manpath指令,並指向新的命令手冊路徑;

vim /etc/man.config

manpath /usr/local/apache/man

10、啟動httpd-2.2.32服務

apachectl start

解決方法:vi /usr/local/apache2/etc/httpd/httpd.conf

修改:serveroot:localhost:80

11、檢視80埠是否被監聽

ss -tnl

12、使用瀏覽器訪問測試   一定要關閉firewall防火牆:(詳見防火牆設定)

apache安裝目錄在:

cd /usr/local/apache2

網頁目錄;

cd /usr/local /apache2/htdocs

設定開機啟動:

echo "/usr/local/apache2/bin/apachectl start">>/etc/rc.local  假如啟動檔案rc.local;

cat /etc/rc.local  檢視

加入系統服務:

#chkconfig 35 85 15  三個數分別代表執行級別、開機啟動順序、關機順序

新增服務:

檢視新增:

開啟apache開機啟動

AbstractCollection原始碼分析

abstractcollection抽象類提供了collection的骨架實現,collection分析請看 這裡直接看它的 是如何實現的.public abstract iterator iterator 該方法沒有實現.public abstract int size 該方法沒有實現.publi...

ThreadPoolExecutor原始碼閱讀

執行緒池解決兩個問題 一是復用執行緒,減少建立銷毀執行緒帶來系統開銷 二是限定系統資源使用邊界,避免大量執行緒消耗盡系統記憶體 適用於互不依賴,執行時間短,不需要對執行緒控制操作的執行緒 新增任務時,1.若執行緒數量小於corepoolsize,則新增執行緒執行任務 2.若執行緒數量大於等於core...

OrangePi One Android 原始碼編譯

一 系統環境搭建參照 二 lichee原始碼編譯 1.檢視help build.sh h2.配置核心 cd linux 3.4 make arch arm menuconfig 進入配置頁面,上下移動列表,空格是選擇列表,左右移動選擇退出選項 3.首次編譯執行清除 在 lichee linux3.4...