• CentOS7配置httpd虚拟主机


    本实验旨在CentOS7系统中,httpd-2.4配置两台虚拟主机,主要有以下要求:

    (1) 提供两个基于名称的虚拟主机:

      www1.stuX.com,页面文件目录为/web/vhosts/www1;错误日志为/var/log/httpd/www1/error_log,访问日志为/var/log/httpd/www1/access_log;

      www2.stuX.com,页面文件目录为/web/vhosts/www2;错误日志为/var/log/httpd/www2/error_log,访问日志为/var/log/httpd/www2/access_log;

    (2) 通过www1.stuX.com/server-status输出其状态信息,且要求只允许提供账号的用户访问;

    (3) www1不允许192.168.1.0/24网络中的主机访问;

    查看系统版本和httpd版本

    [root@host ~]$httpd -v
    Server version: Apache/2.4.6 (CentOS)
    Server built:   Nov 14 2016 18:04:44
    [root@host ~]$cat /etc/centos-release
    CentOS Linux release 7.3.1611 (Core) 

    启动httpd,测试能否正常运行

    [root@host ~]$systemctl start httpd.service 
    [root@host ~]$systemctl status httpd.service 
    ● httpd.service - The Apache HTTP Server
       Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
       Active: active (running) since Thu 2017-06-01 03:03:12 CST; 5s ago                      #   active 表示正常运行
         Docs: man:httpd(8)
               man:apachectl(8)
      Process: 6473 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
     Main PID: 6485 (httpd)
       Status: "Processing requests..."
       CGroup: /system.slice/httpd.service
               ├─6485 /usr/sbin/httpd -DFOREGROUND
               ├─6486 /usr/sbin/httpd -DFOREGROUND
               ├─6487 /usr/sbin/httpd -DFOREGROUND
               ├─6489 /usr/sbin/httpd -DFOREGROUND
               ├─6490 /usr/sbin/httpd -DFOREGROUND
               └─6572 /usr/sbin/httpd -DFOREGROUND
    
    Jun 01 03:03:11 host systemd[1]: Starting The Apache HTTP Server...
    Jun 01 03:03:12 host systemd[1]: Started The Apache HTTP Server.

    使用curl命令访问

    [root@host ~]$ip a show ens38    # 查看ip 
    3: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:dc:18:5f brd ff:ff:ff:ff:ff:ff
        inet 192.168.55.128/24 brd 192.168.55.255 scope global dynamic ens38
           valid_lft 1752sec preferred_lft 1752sec
        inet6 fe80::20c:29ff:fedc:185f/64 scope link 
           valid_lft forever preferred_lft forever
    [root@host ~]$curl http://192.168.55.128       # 访问
    <!DOCTYPE>
    <h1>
        CentOS 7.3
    </h1>

    创建指定文件目录

    [root@host conf.d]$mkdir -pv /web/vhosts/www1
    [root@host conf.d]$mkdir -pv /web/vhosts/www2
    [root@host conf.d]$mkdir -pv /var/log/httpd/www2
    [root@host conf.d]$mkdir -pv /var/log/httpd/www1

    根据要求填写虚拟主机配置信息

    # path /etc/httpd/conf.d/vir.conf      # 配置文件全路径
    #virtual host 1     # 虚拟主机1的配置
    <VirtualHost 192.168.55.128:80>
        ErrorLog "/var/log/httpd/www1/error_log"
        CustomLog "/var/log/httpd/www1/access_log" combined
        <Location /server-status>
            SetHandler server-status
        </Location>
        <Directory /web/vhosts/www1>
            <RequireAll>
            Require all granted
            Require not ip 192.168.1
            </RequireAll>
        </Directory>
    </VirtualHost>
    # virtual host 2     # 虚拟主机2的配置
    <VirtualHost 192.168.55.128:80>
        ServerName www2.stuX.com
        DocumentRoot "/web/vhosts/www2"
        ErrorLog "/var/log/httpd/www2/error_log"
        CustomLog "/var/log/httpd/www2/access_log" combined
        <Directory /web/vhosts/www2>
            <RequireAll>
              Require all granted
            </RequireAll>
        </Directory>
    </VirtualHost>

    创建www1和www2的index页面 

    [root@host conf.d]$cat /web/vhosts/www1/index.html
    welcome to www1
    thank you
    [root@host conf.d]$cat  /web/vhosts/www2/index.html 
    welcome to www2
    thank you

    重载httpd配置文件

    [root@host conf.d]$httpd -t
    Syntax OK
    [root@host conf.d]$systemctl reload httpd.service 

    修改客户端主机的hosts文件,以便能解析域名

    hosts在windows环境下的路径为C:WindowsSystem32driversetc。在该文件中添加两行

    192.168.55.128 www1.stuX.com
    192.168.55.128 www2.stuX.com

    访问结果

    图1  访问www1站点

     

    图2  访问www2站点

    图3  查看www1站点的访问状态——正常

     

    图4  查看www2站点的访问状态错误

  • 相关阅读:
    关于feign调用请求头丢失分析
    并发下编写SQL的注意事项
    Sentinel降级规则整理
    Mybatis-Plus使用整理
    Docker各种零散命令整理
    set集合怎么保证不重复的
    idea启动项目ava heap space
    网络穿透工具--钉钉HTTP穿透
    Log4j基本使用
    ide中普通java程序打包
  • 原文地址:https://www.cnblogs.com/vathe/p/6925963.html
Copyright © 2020-2023  润新知