优选主流主机商
任何主机均需规范使用

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版本

?

1 2 3 4 5 [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,测试能否正常运行

?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [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命令访问

?

1 2 3 4 5 6 7 8 9 10 11 12 [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 >

创建指定文件目录

?

1 2 3 4 [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

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

?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 # 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页面

?

1 2 3 4 5 6 [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配置文件

?

1 2 3 [root@host conf.d]$httpd -t syntax ok [root@host conf.d]$systemctl reload httpd.service

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

hosts在windows环境下的路径为c:\windows\system32\drivers\etc。在该文件中添加两行

192.168.55.128 www1.stux.com
192.168.55.128 www2.stux.com

 

未经允许不得转载:搬瓦工中文网 » CentOS7详细指南:一步步教你配置httpd虚拟主机,实现多站点管理