CentOS7配置httpd虚拟主机教程
GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!
【 如果你想靠AI翻身,你先需要一个靠谱的工具! 】
本实验旨在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配置文件
修改客户端主机的hosts文件,以便能解析域名
hosts在windows环境下的路径为C:\Windows\System32\drivers\etc。在该文件中添加两行
192.168.55.128 www1.stuX.com
192.168.55.128 www2.stuX.com
访问结果
图1、访问www1站点
图2、访问www2站点
图3、查看www1站点的访问状态——正常
图4、查看www2站点的访问状态错误
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

微信公众号搜索 “ 脚本之家 ” ,选择关注
程序猿的那些事、送书等活动等着你
最新评论