这里有新鲜出炉的精品教程,程序狗速度看过来!
Apache 是世界使用排名第一的 Web 服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的 Web 服务器端软件。
这篇文章主要为大家详细介绍了 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:\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 站点的访问状态错误
来源: http://www.phperz.com/article/17/0718/336648.html