一、目標
1、熟練掌握CentOS6.5下Apache的編譯安裝
2、能夠解決編譯過程中產生的問題,並對相應問題進行記錄
二、編譯前環境搭建
1、環境搭建
所需環境:make、gcc、gcc-c++、openssl-devel、pcre、pcre-devel、zlib*、expat-devel
説明:所有軟件包在本地yum源中都有,yum配置
2、安裝軟件包準備(已保存到百度網盤)
1)apr-1.6.5.tar.gz 下載地址:http://apr.apache.org/download.cgi;https://mirrors.tuna.tsinghua.edu.cn/apache/apr/
2)apr-util-1.6.1.tar.gz 下載地址:http://apr.apache.org/download.cgi;https://mirrors.tuna.tsinghua.edu.cn/apache/apr/
3)httpd-2.4.38.tar.bz2 下載地址:https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/
三、編譯安裝
1、編譯安裝apr
1)解壓apr
tar -zxvf apr-1.6.5.tar.gz
2)進入解壓後的目錄,並將其配置到/usr/local/apr目錄中
cd apr-1.6.5
./configure --prefix=/usr/local/apr
3)編譯並安裝
make -j 4 && make install
2、編譯安裝apr-util
1)解壓apr-util
tar -zxvf apr-util-1.6.1.tar.gz
2)進入解壓後的目錄,將其配置到/usr/local/apr-util目錄中,並指定apr位置
cd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
3)編譯並安裝
make && make install
3、編譯安裝httpd
1)解壓httpd
tar -jxvf httpd-2.4.38.tar.bz2
2)進入解壓後目錄,將其配置到/usr/local/apache目錄中,並指定apr、apr-util位置和其他參數
./configure --prefix=/usr/local/apache --sysconf=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
--sysconf=/etc/httpd 配置文件位置
--enable-so 支持模塊化
--enable-ssl 支持ssl功能
--enable-cgi 支持cgi功能
--enable-rewrite 支持url重寫
--enable-modules=most 啓用模塊級別:most大多數
--enable-mpms-shared=all 支持所有支持的模塊
--with-mpm=prefork/event/worker mpm模塊為prefork模式
--with-zlib 支持傳輸壓縮
--with-pcre 支持pcre正則表達式
--with-apr=/usr/local/apr apr位置為/usr/local/apr
--with-apr-util=/usr/local/apr-util apr-util位置為/usr/local/apr
3)編譯並安裝
make && make install
四、安裝後的設置
1、打開源碼包中build/rpm/httpd.init文件
2、在文件第二行添加內容(不用添加):
#chkconfig:35 92 92
#description:httpd
3、將build/rpm/httpd.init文件複製到/etc/rc.d/init.d/目錄下改名為httpd,並將httpd服務添加進chkconfig
cp /usr/local/apache/bin/apache /etc/rc.d/init.d/httpd
chkconfig --add httpd
chkconfig --list | grep httpd
4、檢測httpd的配置文件是否有語法錯誤,並清空緩存
/usr/local/apache/bin/httpd -t
bash -r
5、將/usr/local/apache/bin添加到環境變量
vim /etc/profile.d/httpd.sh
export PATH=/usr/local/apache/bin:$PATH
執行環境變量:chmod +x /etc/profile.d/httpd.sh && source httpd.sh
查看:echo $PATH
6、啓動httpd服務,並查看結果
service httpd start
ps aux | grep httpd
7、查看mpm啓動的模塊
httpd -M
其配置內容在/etc/httpd24/httpd.conf
LoadModule mpm_event_module modules/mod_mpm_event.so
#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_worker_module modules/mod_mpm_worker.so
五、出錯總結
1、需要安裝openssl-devel
|
2、在執行./httpd.sh時報錯,執行後PATH沒改變
使用source命令運行
生死看淡,不服就幹!