源码安装
源码:有特定的语言写出的文本就是源码
源码安装条件:(查看环境:#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() {
if [ -e $lockfile ];then
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(){
if [ -e $lockfile ];then
echo "the program `basename $prog` is running"
else
echo "the program `basename $prog` is stop"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
*)
echo "USAGE:start|stop|restart|status"
esac
}
查看系统中安装的服务:
#chkconfig --list
#chkconfig --list |grep sshd
正常启动3―5 on自动启动 off自动关闭(设置:chkconfig 服务 on/off)