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.www58058.com/89108

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91448

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

相關推薦

  • wk_02 作業

    Linux 文件管理命令 cp命令 功能 Linux 系統中cp命令是用來復制目錄/文件的。 概要 單源復制 cp [OPTION]… [-T] SOURCE DEST DEST不存在則事先創建此文件,并復制源文件的數據流至DEST中; DEST存在 DEST是非目錄文件:則覆蓋目標文件; DEST是目錄文件:則先…

    Linux干貨 2016-12-11
  • linux初識

    一、計算機的組成及其功能: 存儲器:    實現記憶功能的部件用來存放計算程序及參與運算的各種數據 運算器:    負責數據的算術運算和邏輯運算即數據的加工處理 控制器:    負責對程序規定的控制信息進行分析,控制并協調輸入,輸出操作或內存訪問 輸入設備:    實現計算程序和…

    Linux干貨 2016-10-30
  • 馬哥教育網絡第21期-第十三周課程練習

    1、建立samba共享,共享目錄為/data,要求:(描述完整的過程)   1)共享名為shared,工作組為magedu;   2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名; &n…

    Linux干貨 2016-12-26
  • 一起學DHCP系列(一)開篇、概述

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://jeffyyko.blog.51cto.com/28563/162108     從本節開始,我們將開始討論有關DHCP服務器的相關問題,從易到難一步步理解DHCP服務。還是一樣,在…

    Linux干貨 2015-03-25
  • 權限管理

    linux文件權限:     在linux系統中,每個文件或目錄都包含有相應的權限,這些權限決定了哪些用戶或組能夠對此文件做哪些操作,如讀取、刪除、寫入等操作 文件權限分為三類:r,w,x     應用于文件:      &nbs…

    Linux干貨 2016-08-07
  • Linux基礎命令及獲取命令幫助

    何為命令?         linux命令是對Linux系統進行管理的命令。對于Linux系統來說,無論是中央處理器、內存、磁盤驅動器、鍵盤、鼠標,還是用戶等都是文件,Linux系統管理的命令是它正常運行的核心,與之前的DOS命令類似。linux命令在系統中有兩種類型:內置She…

    Linux干貨 2016-10-25

評論列表(1條)

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

    贊,總結的比較全面,也有自己的理解,加油~

欧美性久久久久