博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Httpd2.4简介及CenOS6.6下编译安装
阅读量:5982 次
发布时间:2019-06-20

本文共 5489 字,大约阅读时间需要 18 分钟。

hot3.png

  CentOS7的镜像中已经提供了httpd2.4rpm包,httpd2.4相对于httpd2.2有较大的改进,在CentOS6下只能通过Apache官方网站提供的源码包编译安装。

httpd2.4新特性:

  MPM支持运行DOS机制;

  支持event MPM

  支持异步读写;

  支持每模块及每个目录分别使用各自的日志级别;

  每请求配置;<If>

  增强版的表达式分析器;

  支持毫秒级的keepalive timeout

  基于FQDN的虚拟主机不再需要NameVirtualHost指令;

  支持用户自定义变量;

新模块:

  mod_proxy_fcgi:PHP结合的模块;

  mod_ratelimit:限制下载速率的模块;

  mod_remoteip:设定远程客户端IP

修改的配置机制:不再支持使用orderallowdeny定义基于ip的访问控制,改为require

编译安装Httpd2.4:

  httpd2.4依赖于aprapr-util1.4以上版本,所以需要一同编译安装;

    aprApachePortable RuntimeApache可移植运行时;

    官网:apr.apache.org

实验环境:

  系统版本:CentOS 6.6x86_64

  httpd源码包:httpd-2.4.16.tar.bz2

  apr源码包:apr-1.5.2.tar.bz2

  apr-util源码包:apr-util-1.5.4.tar.bz2

实验前提:

  关闭防火墙和SELinux

  安装编译环境;

# yum groupinstall "Server Platform Development" "Developmenttools"

实验过程:

一、安装服务;

apr

# tar xf apr-1.5.2.tar.bz2# cd apr-1.5.2#./configure --prefix=/usr/local/apr# make && make install

apr-util         

# tar xf apr-util-1.5.4.tar.bz2# cd apr-util-1.5.4#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/    --with-apr=/usr/local/apr/    :指明apr安装位置;# make && make install

httpd

# tar xf httpd-2.4.16.tar.bz2# cd httpd-2.4.16#./configure --prefix=/usr/local/apache --sysconfdir=/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=all --enable-mpms-shared=all --with-mpm=event# make && make install

httpd编译参数解释:

--prefix=/usr/local/apache    :安装位置;--sysconfdir=/etc/httpd    :配置文件位置;--enable-so    :支持DSO动态装载模块;--enable-ssl    :支持SSL/TLS,可实现https协议访问,需要安装openssl-devel;--enable-cgi    :支持CGI脚本;--enable-rewrite    :支持URL重写;--with-zlib    :使用指定的zlib压缩库,不指定路径会自动寻找;--with-pcre    :使用指定的pcre库,增强的正则表达式分析工具;不指定路径会自动寻找 需已安装pcre-devel;--with-apr=/usr/local/apr    :指定依赖apr程序安装位置;--with-apr-util=/usr/local/apr-util    :指定依赖apr-util程序安装位置;--enable-modules=all    :支持动态启用模块;all:所有,most:常用;--enable-mpms-shared=all    :编译并共享模块;--with-mpm=event    :默认启用模块;{prefork|worker|event}

二、参数配置;

接下来是安装完成之后的参数配置;

添加环境变量,并重读文件:

# vim /etc/profile.d/httpd.sh> export PATH=/usr/local/apache/bin:$PATH# source /etc/profile.d/httpd.sh

导出头文件;

# ln -sv /usr/local/apache/include /usr/include/httpd

导出man手册;

# vim /etc/man.config> MANPATH /usr/local/apache/man

启动服务,查看监听端口;

# apachectl start# ss �tnl

访问测试;

提供服务脚本:

可使用rpm包安装提供的脚本修改使用:

# vim /etc/rc.d/init.d/httpd> #!/bin/bash> #> # httpdStartup script for the Apache HTTP Server> #> # chkconfig:- 85 15> #description: Apache is a World Wide Web server. It is used to serve \> #        HTML files and CGI.> #processname: httpd> # config:/etc/httpd/conf/httpd.conf> # config:/etc/sysconfig/httpd> # pidfile:/var/run/httpd.pid>> # Sourcefunction library.> ./etc/rc.d/init.d/functions>> if [ -f/etc/sysconfig/httpd ]; then>     . /etc/sysconfig/httpd> fi>> # Starthttpd in the C locale by default.> HTTPD_LANG=${HTTPD_LANG-"C"}>> # This willprevent initlog from swallowing up a pass-phrase prompt if> # mod_sslneeds a pass-phrase from the user.> INITLOG_ARGS="">> # SetHTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server> # with thethread-based "worker" MPM; BE WARNED that some modules may not> # workcorrectly with a thread-based MPM; notably PHP will refuse to start.>> # Path tothe apachectl script, server binary, and short-form for messages.> apachectl=/usr/local/apache/bin/apachectl> httpd=${HTTPD-/usr/local/apache/bin/httpd}> prog=httpd> pidfile=${PIDFILE-/usr/local/apache/logs/httpd.pid}> lockfile=${LOCKFILE-/var/lock/subsys/httpd}> RETVAL=0>> start() {>     echo -n $"Starting $prog: ">     LANG=$HTTPD_LANG daemon --pidfile=${pidfile}$httpd $OPTIONS>     RETVAL=$?>     echo>     [ $RETVAL = 0 ] && touch${lockfile}>     return $RETVAL> }> stop() {>     echo -n $"Stopping $prog: ">     killproc -p ${pidfile} -d 10 $httpd>     RETVAL=$?>     echo>     [ $RETVAL = 0 ] && rm -f${lockfile} ${pidfile}> }> reload() {>     echo -n $"Reloading $prog: ">     if ! LANG=$HTTPD_LANG $httpd $OPTIONS-t >&/dev/null; then>     RETVAL=$?>     echo $"not reloading dueto configuration syntax err or">     failure $"not reloading$httpd due to configuration >syntax error">     else>     killproc -p ${pidfile} $httpd-HUP>     RETVAL=$?>     fi>     echo> }>> # See how wewere called.> case"$1" in> start)>     start> ;;> stop)>     stop> ;;> status)>     status -p ${pidfile} $httpd>     RETVAL=$?> ;;> restart)>     stop>     start> ;;> condrestart)>     if [ -f ${pidfile} ] ; then>     stop>     start>     fi> ;;> reload)>     reload> ;;> graceful|help|configtest|fullstatus)>     $apachectl $@>     RETVAL=$?> ;;> *)> echo $"Usage: $prog{start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"> exit 1> esac>> exit $RETVAL

修改主配置文件指定pidfile

# vim /etc/httpd/httpd.conf> PidFile "/var/run/httpd.pid"

脚本执行权限;

# chmod +x /etc/rc.d/init.d/httpd

添加服务,测试脚本;

# chkconfig httpd �add# chkconfig httpd on
# service httpd stop# service httpd start# service httpd restart# service httpd reload

httpd2.4配置文件:

# /etc/httpd24    :编译安装时指定的配置文件目录;# /etc/httpd24/httpd.conf    :主配置文件# /etc/httpd24/extra/httpd-default.conf    :默认配置文件,keepalive、AccessFileName等设置;# /etc/httpd24/extra/httpd-userdir.conf    :用户目录配置文件;# /etc/httpd24/extra/httpd-mpm.conf    :MPM配置文件;# /etc/httpd24/extra/httpd-ssl.conf    :SSL配置文件,为站点提供https协议;# /etc/httpd24/extra/httpd-vhosts.conf    :虚拟主机配置文件;# /etc/httpd24/extra/httpd-info.conf    :server-status页面配置文件;

  至此httpd2.4的编译安装配置已完成,httpd2.4的配置与httpd2.2大致相同。

本文出自 “” 博客,请务必保留此出处

转载于:https://my.oschina.net/masachencer/blog/540875

你可能感兴趣的文章
ROS标记时需要注意的
查看>>
Android获取天气预报
查看>>
django之防止csrf跨站***
查看>>
applicationcontext.xml怎么分模块简化配置
查看>>
Django Admin
查看>>
负载均衡 (一) 工作模式以及工作原理
查看>>
Android 70道面试题汇总不再愁面试
查看>>
从ArrayList说起的JAVA复制与参数传递机制
查看>>
Servlet
查看>>
比较好的网站及工具
查看>>
Keychain
查看>>
Webview图片自适应
查看>>
使用 getopt() 进行命令行处理
查看>>
js去掉html标记,中正则表达式,去掉字符,截取字符
查看>>
使用Akka Http,ActiveMQ搭建一个邮件发送服务器
查看>>
kvm starting domain: cannot send monitor command
查看>>
Tomcat主配置文件Server.xml详解
查看>>
中考在即,您为孩子选择什么?--读<<招生全攻略>>有感
查看>>
深入剖析 HTML5
查看>>
Mysql mysql.server启动脚本详解 .
查看>>