httpd-2.2和httpd-2.4区别 、请求方法和响应状态码、虚拟主机、访问控制、持久链接

第十周
The Apache HTTP Server is a powerful, efficient, and extensible web server.
2018/2/4 16:33

1、Centos7系统下实现httpd-2.2的安装,并分别实现prefork、worker、event等几种工作方式

MPM

w1

编译过程复习

w2

三种模式转换

w3

附上编译过程脚本

编译脚本

#!/bin/bash
#
# ----------------------------------- pre install scripts -----------------------------------------
wkdir=$PWD
yum -y groupinstall "Development Tools" 
yum -y install zlib-devel
which wget || yum -y install wget
[ -f httpd-2.2.34.tar.gz ] || wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.2.34.tar.gz

# ----------------------------------- complie scripts -----------------------------------------
for i in prefork event worker; do
 [ -d /usr/local/httpd22-$i ] && continue 
 [ -d httpd-2.2.34-$i ] || tar xf httpd-2.2.34.tar.gz 
 mv httpd-2.2.34 httpd-2.2.34-$i
 cd httpd-2.2.34-$i
 ./configure --prefix=/usr/local/httpd22-$i --enable-modules=all --with-mpm=$i
 make -j 8
 make install
 sleep 5
 cd $wkdir
 rm -rf httpd-2.2.34-$i
done

# ----------------------------------- post install scripts -----------------------------------------
[ -L /usr/sbin/httpd.worker ] || ln -sv /usr/local/httpd22-worker/bin/httpd /usr/sbin/httpd.worker
[ -L /usr/sbin/httpd.event ] || ln -sv /usr/local/httpd22-event/bin/httpd /usr/sbin/httpd.event
[ -h /usr/sbin/httpd ] || ln -sv /usr/local/httpd22-prefork/bin/httpd /usr/sbin/httpd
install ${wkdir}/httpd /etc/rc.d/init.d/httpd
cp ${wkdir}/httpd-sys /etc/sysconfig/httpd
chkconfig --list | grep 'httpd' || chkconfig --add httpd

服务脚本

#!/bin/bash
#
# httpd Startup script for the Apache HTTP Server
#
# chkconfig: - 85 15
# description: The Apache HTTP Server is an efficient and extensible \
# server implementing the current HTTP standards.

if [ -f /etc/sysconfig/httpd ]; then
 . /etc/sysconfig/httpd
fi
prog=${HTTPD-/usr/sbin/httpd}
lockfile=${LOCKFILE-/var/lock/subsys/httpd}
prog=$(basename $prog)

check_prog() {
 [ -f $lockfile ] && RETVAL=0 || RETVAL=1
 return $RETVAL
}
pxr_start() {
 check_prog
 if [ $RETVAL -eq 0 ]; then
 echo "$prog is started."
 else
 #$prog $OPTIONS -DFOREGROUND
 $prog $OPTIONS 
 if [ $? -eq 0 ]; then
 touch $lockfile
 echo "$prog start ok"
 else
 echo "$prog start fail"
 fi
 fi
}
pxr_stop() {
 check_prog
 if [ $RETVAL -eq 0 ]; then
 kill -9 `pgrep $prog` &> /dev/null
 rm -f $lockfile
 [ $? -eq 0 ] && echo "$prog stop finished." || echo "$prog stop fail."
 else
 echo "$prog is stopped."
 fi
}
pxr_restart() {
  pxr_stop
  pxr_start
}
pxr_status() {
 check_prog
 [ $? -eq 0 ] && echo "$prog is running." || echo "$prog is stopping"
}

case "$1" in
 start|stop|restart|status)
 pxr_$1
 ;;
 *)
 echo $"Usage: $prog {start|stop|restart|status}"
 RETVAL=2
 ;;
esac
exit $RETVAL

# 注意:脚本有缺陷,要更换MPM时, 需要先停止服务....

2、简述request报文请求方法和状态响应码

request报文请求方法

w5

状态响应码

w4

3、详细描述httpd虚拟主机、站点访问控制、基于用户的访问控制、持久链接等应用配置实例

实现环境

x1

一、httpd虚拟主机

x2

(1) 基于IP的虚拟主机(httpd-2.4)

x3

(2) 基于PORT的虚拟主机(httpd-2.4)

x4

(3) 基于Host:(httpd-2.2/httpd-2.4)

x5

x6

 

二、站点访问控制

x7

x8

x9

三、基于用户的访问控制

x10

x11

四、持久链接

x12

x13

x14

注:完成作业路径:四 -> 二 -> 一 -> 三;参考:http://www.178linux.com/89108

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/91448

(0)
逆神阳逆神阳
上一篇 2018-02-01 20:24
下一篇 2018-02-05 08:43

相关推荐

  • Apache配置压缩优化时报错——undefined symbol: inflateEnd

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1345264    圣诞都过了,好久没来51发博文了。最近一直在忙考试和其他一些私人事务,感觉长期不发博文,有点不好。不是不发,实在是最近…

    Linux干货 2016-08-15
  • lvs-DR模型构建高性能集群

    构建环境:centos7.1     Diretor server:172.16.15.131  (  VIP:172.16.15.138 )     Real server:172.16.15.132/133      配置163源 拓扑…

    Linux干货 2016-08-22
  • DNS服务器类型及查询过程

    什么是DNS   DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。 DNS域名称   域名系统作为一个层次结构和分布式数据库,包含各种类型的数据,…

    Linux干货 2017-02-08
  • keepalived+nginx-upstream部署高可用反向代理

    keepalived+nginx-upstream部署高可用反向代理 实验拓扑 实验要求 两个web server提供httpd服务,ip地址分别是172.18.27.201、202,掩码是16 两个nginx proxy提供高可用反向代理,ip地址分别是172.18.27.102、200,掩码是16. client能够访问web server,使用dr模型…

    2017-05-15
  • 网络班N27 第四周作业

    1、 复制/etc/skel目录为/home/tuserl,要求/home/tuserl及其内部文件的属组和其他用户均没有任何访问权限。 [root@ ~]# cp -r /etc/skel /home/tuserl [root@ ~]# chmod -Rv 700 /home/tuserl/ mode of ‘/home/tuserl/’ changed …

    Linux干货 2017-08-19
  • find 的使用及练习

    find是个使用频率比较高的命令。常常用它在系统特定目录下,查找具有某种特征【名字类型属主权限等】的文件。find命令的格式: find  [-path ..] -options [-print -exec -ok] path:要查找的目录路径。 ~ 表示$HOME目录 . 表示当前目录 / 表示根目录 -print :表示将结果输出到标准输出-e…

    Linux干货 2017-06-11

评论列表(1条)

  • 马哥教育
    马哥教育 2018-02-05 22:27

    赞,总结的比较全面,也有自己的理解,加油~