centos6编译httpd2.4

前端之家收集整理的这篇文章主要介绍了centos6编译httpd2.4前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.

tar xvf apr-1.6.2.tar.gz

tar xvf apr-util-1.6.0.tar.gz

tar xvf httpd-2.4.28.tar.bz2

2.

cp -a apr-1.6.2 httpd-2.4.28/srclib/apr

cp -a apr-util-1.6.0 httpd-2.4.28/srclib/apr-util

3.

getent passwd apache查看apache帐户

须保证apache用户为系统用户

则需要userdel -r apache删除用户重新创建

创建apache用户需指定家目录及登录shell

groupadd -g 48 -r apache;useradd -r -u 48 -g apache -s /sbin/nologin -d /usr/share/httpd -c "Apache" apache 规范点的写法如此,也可以简单的写

useradd -r -d /app/httpd24 -m -s /sbin/nologin apache

4.

缺包装包

yum groupnstall 'development-tools'

yum install openssl-devel pcre-devel expat-devel

5.

cd httpd-2.4.28/

./configure --prefix=/app/httpd24 \

--enable-so \

--enable-ssl \

--enable-cgi \

--enable-rewrite \

--with-zlib \

--with-pcre \

--with-included-apr \

--enable-modules=most \

--enable-mpms-shared=all \

--with-mpm=prefork

6.make -j 4 && make install

7.

path变量

vim /etc/profile.d/httpd.sh

PATH=/app/httpd24/bin:$PATH


. /etc/profile.d/httpd.sh

8.

修改运行服务的用户

vim /app/http24/conf/httpd.conf

User apache

Group apache

9.准备服务脚本

cd /etc/init.d

cp httpd httpd24


服务脚本httpd,这里改为httpd24以便区分。httpd为原httpd包自带的,rpm -q --scripts httpd查看之前的服务脚本。或者从别的地方拷一个。这里阿拉拷贝好了一个。

#!/bin/bash
#
#httpdStartupscriptfortheApacheHTTPServer
#
#chkconfig:-8515
#description:TheApacheHTTPServerisanefficientandextensible\
#serverimplementingthecurrentHTTPstandards.
#processname:httpd
#config:/etc/httpd/conf/httpd.conf
#config:/etc/sysconfig/httpd
#pidfile:/var/run/httpd/httpd.pid
#
###BEGININITINFO
#Provides:httpd
#required-Start:$local_fs$remote_fs$network$named
#required-Stop:$local_fs$remote_fs$network
#Should-Start:distcache
#Short-Description:startandstopApacheHTTPServer
#Description:TheApacheHTTPServerisanextensibleserver
#implementingthecurrentHTTPstandards.
###ENDINITINFO

#Sourcefunctionlibrary.
./etc/rc.d/init.d/functions

if[-f/etc/sysconfig/httpd];then
./etc/sysconfig/httpd
fi

#StarthttpdintheClocalebydefault.
HTTPD_LANG=${HTTPD_LANG-"C"}

#Thiswillpreventinitlogfromswallowingupapass-phrasepromptif
#mod_sslneedsapass-phrasefromtheuser.
INITLOG_ARGS=""
#SetHTTPD=/usr/sbin/httpd.workerin/etc/sysconfig/httpdtouseaserver
#withthethread-based"worker"MPM;BEWARNEDthatsomemodulesmaynot
#workcorrectlywithathread-basedMPM;notablyPHPwillrefusetostart.

#Pathtotheapachectlscript,serverbinary,andshort-formformessages.
apachectl=/usr/sbin/apachectl
httpd=${HTTPD-/usr/sbin/httpd}
prog=httpd
pidfile=${PIDFILE-/var/run/httpd/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd}
RETVAL=0
STOP_TIMEOUT=${STOP_TIMEOUT-10}

#Thesemanticsofthesetwofunctionsdifferfromthewayapachectldoes
#things--attemptingtostartwhilerunningisafailure,andshutdown
#whennotrunningisalsoafailure.Sowejustdoitthewayinitscripts
#areexpectedtobehavehere.
start(){
echo-n$"Starting$prog:"
LANG=$HTTPD_LANGdaemon--pidfile=${pidfile}$httpd$OPTIONS
RETVAL=$?
echo
[$RETVAL=0]&&touch${lockfile}
return$RETVAL
}

#Whenstoppinghttpd,adelay(ofdefault10second)isrequired
#beforeSIGKILLingthehttpdparent;thisgivesenoughtimeforthe
#httpdparenttoSIGKILLanyerrantchildren.
stop(){
status-p${pidfile}$httpd>/dev/null
if[[$?=0]];then
echo-n$"Stopping$prog:"
killproc-p${pidfile}-d${STOP_TIMEOUT}$httpd
else
echo-n$"Stopping$prog:"
success
fi
RETVAL=$?
echo
[$RETVAL=0]&&rm-f${lockfile}${pidfile}
}
reload(){
echo-n$"Reloading$prog:"
if!LANG=$HTTPD_LANG$httpd$OPTIONS-t>&/dev/null;then
RETVAL=6
echo$"notreloadingduetoconfigurationSyntaxerror"
failure$"notreloading$httpdduetoconfigurationSyntaxerror"
else
#ForceLSBbehavIoUrfromkillproc
LSB=1killproc-p${pidfile}$httpd-HUP
RETVAL=$?
if[$RETVAL-eq7];then
failure$"httpdshutdown"
fi
fi
echo
}
#Seehowwewerecalled.
case"$1"in
start)
start
;;
stop)
stop
;;
status)
status-p${pidfile}$httpd
RETVAL=$?
;;
restart)
stop
start
;;
condrestart|try-restart)
ifstatus-p${pidfile}$httpd>&/dev/null;then
stop
start
fi
;;
force-reload|reload)
reload
;;
graceful|help|configtest|fullstatus)
$apachectl$@
RETVAL=$?
;;
*)
echo$"Usage:$prog{start|stop|restart|condrestart|try-restart|force-reload|reload|status|fullstatus|graceful|help|configtest}"
RETVAL=2
esac

exit$RETVAL


更改相关路径

vim httpd24

apachectl=/app/httpd24/bin/apachectl

httpd={HTTPD-/app/httpd24/bin/httpd}

pidfile={PIDFILE-/app/httpd24/logs/http.pid}

lockfile={LOCKFILE-/var/lock/subsys/httpd24}

启动服务

chkconfig --add httpd24

chkconfig httpd24 on

service httpd24 start

10.测试

猜你在找的CentOS相关文章