Http实践

练习:搭建虚拟主机

    (1)基于主机名实现三个虚拟主机

    (2) 每虚拟主机使用独立的访问日志和错误日志

Http实践

    (3) 第三个虚拟主机的/admin要进行用户访问认证

Http实践

Http实践

    (4) 在第二个虚拟主机上提供/status;

Http实践

    (5) 在第三个虚拟主机提供路径别名/bbs,访问其它文件系统路径;

Http实践

    (6) 尝试使用混合类型的虚拟主机:基于IP,PORT和ServerName

[root@Centos7 httpd]# cat /etc/httpd/conf.d/vhost.conf
###虚拟主机1
<VirtualHost 192.168.1.3:80 >
    ServerName www.centos1.com
    DocumentRoot "/var/www1/html"
    ErrorLog "logs/www1_error_log"
    CustomLog "logs/www1_access_log" combined 
<Directory "/var/www1/html">
    Options None
    AllowOverride None 
    Require all granted 
</Directory>
</VirtualHost>
 
###虚拟主机2
<VirtualHost 10.1.3.25:80 >
    ServerName www.centos2.com
    DocumentRoot "/var/www2/html"
    ErrorLog "logs/www2_error_log"
    CustomLog "logs/www2_access_log" combined 
    <Directory "/var/www2/html">
        Options None
        AllowOverride None 
        Require all granted 
    </Directory>
    <Location "/status">
        SetHandler server-status
        Require all granted 
    </Location>
</VirtualHost>
 
###虚拟主机3
<VirtualHost 10.1.3.25:8080 >
    ServerName www.centos3.com
    DocumentRoot "/var/www3/html"
    ErrorLog "logs/www3_error_log"
    CustomLog "logs/www3_access_log" combined 
    Alias /bbs "/bbs/fstab"
    <Directory "/var/www3/html/admin">
        Options None
        AllowOverride None
        AuthName "Admin Login."
        AuthType Basic
        AuthUserFile "/var/www3/.pass"
        Require user li
    </Directory>
    <Directory "/var/www3/html">
        Options Indexes
        AllowOverride None 
        Require all granted 
    </Directory>
    <Directory "/bbs/fstab">
       Options None
        AllowOverride None 
        Require all granted 
    </Directory>
</VirtualHost>

练习2:使用脚本实现以上功能;

    每虚拟使用单独的配置文件;

    脚本可接受参数,参数虚拟主机名称;

#!/bin/bash
#
#判断是否为变量path是否为quit,如果是,则退出。
while [[ $path != "quit" ]];do
    read -p "Please Input Save Path: " path
    if [[ $path == "quit" ]];then
      break 
    fi
#读取变量参数
    read -p "Please Input ServerName: " SName
    read -p "Please Input IP: " ip 
    read -p "Please Input port: " port 
#截取本机ip用于判断
    localip=$(ip ad sho | awk '/inet\>/{print $2}' | awk -F'/' '!/^127/{print $1}')
#判断及创建  
    if ! [ -d $path ] &&  [ -n $path ];then 
    mkdir -p $path &>/dev/null
        if echo $localip | grep "$ip" &>/dev/null ;then
        if [ $port -lt 1023 ];then
          echo "<VirtualHost "$ip":"$port">" >>$path/index.html
          echo -e "\tServerName $SName" >>$path/index.html
          echo -e "\tDocumentRoot \""$path"\"" >>$path/index.html
          echo "</VirtualHost>" >>$path/index.html
        else 
          echo "Sorry $port max"
        fi
      else
         echo "Sorry $ip false"
      fi
  else 
    echo "Sorry path exist"
  fi
done

原创文章,作者:Lii,如若转载,请注明出处:http://www.178linux.com/49701

(0)
LiiLii
上一篇 2016-09-29 21:31
下一篇 2016-10-01 21:20

相关推荐

  • LVM2基本应用,扩展及缩减实现

    LVM(Logical Volume Manager,逻辑卷管理)是CentOS6中常用的磁盘管理的工具。常用于CentOS6上,提供了分区的动态扩展、缩减等功能。目前的常用版本为LVM2。 结构: 一、物理卷 LVM的物理卷以分区为单位。通常情况下,会以一个硬盘一个分区的情况下进行容量扩展。 在分区之后,要使用fisk命令来改变分区的类型,LVM的磁盘类型…

    Linux干货 2016-02-25
  • 第三周

    第三周 1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@node1 ~]# who -q | sed -n ‘1p’ centos root fedora redhat mint 2.取出最后登录到当前系统的用户的相关信息。 [root@node1 ~]# who -a | tail -1 mint +…

    Linux干货 2017-07-25
  • 马哥教育网络班20期 第8周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:工作于数据链路层,实现多个lan之间数据的转发,隔离冲突域,类似二层交换机。 集线器:工作于物理层,实现设备的接入,数据信号放大、中转,共享信道。把一个端口接收的所有信号向所有端口分发出去 二层交换机:工作于数据链路层,可连接多个lan,根据帧的mac来转发数据,隔离冲突域…

    Linux干货 2016-08-15
  • tomcat之-从AT到Cluster

    本文导航 一、    LAMT搭建以及部署应用        1、LAMT部署                   (1)、安装Apache     …

    2017-02-13
  • 请使用命令行展开功能来完成以下练习

    (1)、创建/tmp目录下的:ac, ad, bc, bd ]# mkdir -p /tmp/{a,b}_{c,d} 或者: ]# touch /tmp/{a,b}_{c,d} (2)、创建/tmp/mylinux目录下的: ]# mkdir -pv /tmp/mylinux/{bin,boot/gtub,dev,etc/{rc.d/init.d,sysco…

    Linux干货 2016-11-06
  • wordpress和discuz的负载均衡(lvs-dr)

    wordpress和discuz的负载均衡 实验目的:利用lvs-dr模型实现wordpress和discuz的负载均衡 实验要求:客户端访问wordpress或discuz服务器时,无论被调度至哪台RS上,其会话和访问的页面都应保持一致; 实验环境:一台server用作VS,两台server用作RS,一台server用于部署mysql、NFS、wordpr…

    2017-05-13