源碼安裝
源碼:有特定的語言寫出的文本就是源碼
源碼安裝條件:(檢視環境:#yum grouplist |less) 安裝了四類軟體組:開發庫Development Libraries、傳統軟體開發Development Tools、圖形界面開發組X Software Development、開發工具Legacy Software Development 等。
——》拆解安裝包
——》先進行配置(//configgure)
——》編譯(makefile)【需求編譯器 gcc 】
——》可執行 頭檔案 庫檔案 手冊
——》安裝
——拆解安裝包:(以httpd-2.4.4為例)
安裝包拆解位置:/usr/local/scr
安裝位置: /usr/local/ ……
[root@server1 ~]#tar -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src

[root@server1 httpd-2.4.4]#less INSTALL 檢視檔案
——配置:
[root@server1 httpd-2.4.4]# ./configgrure --help |less 檢視配置幫助
[root@server1 httpd-2.4.4]# ./configgrure --prefix=/usr/local/apache安裝檔案目錄
--sysconfdir=/etc/apache配置檔案目錄
若出現錯誤apr未發現,則檢視是否挂載apr,在檢查是否存在apr-devel,否則挂載apr-devel,如果apr-devel版本較低則下載下傳較高版本
也可以先檢查apr是否挂載
下載下傳位址:hhtp://www.apr.apache.org/
下載下傳完畢後,拆解apr-1.4.6 、apr-util-1.5.1
進入apr配置目錄
——編譯(makefile)【需求編譯器 gcc 】
——可執行 頭檔案 庫檔案 手冊
——安裝
配置檢測完畢後,輸入指令#make 之後#make install
然後#cd /usr/local/apr/ #ll
bin可執行檔案 include頭檔案 lib庫檔案
庫檔案 目錄為:/lib或者/usr/lib 可分為動态庫(可直接進行更新 .so)、靜态庫(直接編譯,效率快 .a)
頭檔案 其目錄為:/include 或者/usr//include 若直接使用可是連接配接 (ln -s )
#cd /usr/local/apr/include/ 進入目錄建立連結為了更好的利用頭檔案
#ln -s /usr/local/apr/include/apr-1/* .在目前目錄下建立連結
進入/etc/ld.so.conf.d/建立檔案 檔案.conf
#cd /etc/ld.so.conf.d
#vim apr.conf (編譯内容:/usr/local/apache/modules)
#ldconfig然後重新整理緩存
#ldconfig -pv |grep apr
#cat apache.conf
進入apr-util…配置目錄
[root@server1 apr-util-1.5.1]# ./configgrure --help |less
[root@server1 apr-util-1.5.1]# ./configgrure --prefix=/usr/local/apr-util安裝檔案目錄
--with-apr=/usr/local/apr/bin/apr-1-config配置檔案目錄
然後#make 後#make install
#cd /etc/apache/bin/
[root@server1 bin]#ll
[root@server1 bin]#file apachectl
[root@server1 bin]#file httpd
[root@server1 bin]# ./httpd -f /etc/apache/httpd.conf
[root@server1 bin]#netstat -tupln |grep 80
[root@server1 bin]#./httpd --help
腳本: service 名稱{控制腳本} start /etc/init.d
#cd /etc/init.d 再檢視(ls或ll)可看到可執行腳本
可編譯一個腳本(#vim httpd),權重限(#chmod a+x httpd 可編譯)
#vim httpd
{#!/bin/bash; prog=/usr/local/apache/bin/httpd;
configfile=/etc/apache/httpd.conf;
lockfile=/etc/local/subsys/httpd;
. /etc/init.d/functions
start() {
if [ -e $lockfile ];then
echo "the program `basename $prog` is started"
else
echo -n -e "the program `basename $prog` is starting……"
sleep 2
$prog && echo "[ok]" && touch $lockfile || echo "fail"
fi
}
stop() {
echo -n "the program `basename $prog` is stoping……"
sleep 2
killproc httpd && echo "[ok]" && rm -rf $lockfile || echo "fail"
else
echo -n -e "the program `basename $prog` is stoped"
fi
}
status(){
echo "the program `basename $prog` is running"
echo "the program `basename $prog` is stop"
case "$1" in
start)
start
;;
stop)
stop
status)
status
restart)
*)
echo "USAGE:start|stop|restart|status"
esac
檢視系統中安裝的服務:
#chkconfig --list
#chkconfig --list |grep sshd
正常啟動3—5 on自動啟動 off自動關閉(設定:chkconfig 服務 on/off)