利用主机域名配置Apache的虚拟主机功能,可以减轻服务器为每一个网站分配IP地址的压力。而且根据不同的主机域名可以输出不同的网页内容。要实现此项功能,可以通过修改/etc/host文件来强制定义IP地址与域名的对应关系。

第一步:修改/etc/hosts配置文件

在/etc/hosts文件中假如下面标注出的信息

[root@localhost ~]# vim /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.146.100 www.baidu.com bbs.baidu.com tech.baidu.com

第二步:检测IP地址解析是否成功

可以通过ping域名来验证IP地址是否解析成功

[root@localhost ~]# ping www.baidu.com
PING www.baidu.com (192.168.146.100) 56(84) bytes of data.
64 bytes from www.baidu.com (192.168.146.100): icmp_seq=1 ttl=64 time=0.058 ms
64 bytes from www.baidu.com (192.168.146.100): icmp_seq=2 ttl=64 time=0.100 ms
64 bytes from www.baidu.com (192.168.146.100): icmp_seq=3 ttl=64 time=0.098 ms
^C
--- www.baidu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2019ms
rtt min/avg/max/mdev = 0.058/0.085/0.100/0.020 ms

[root@localhost ~]# ping bbs.baidu.com
PING www.baidu.com (192.168.146.100) 56(84) bytes of data.
64 bytes from www.baidu.com (192.168.146.100): icmp_seq=1 ttl=64 time=0.062 ms
64 bytes from www.baidu.com (192.168.146.100): icmp_seq=2 ttl=64 time=0.107 ms
64 bytes from www.baidu.com (192.168.146.100): icmp_seq=3 ttl=64 time=0.107 ms
^C
--- www.baidu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2009ms
rtt min/avg/max/mdev = 0.062/0.092/0.107/0.021 ms
[root@localhost ~]# ping tech.baidu.com
PING www.baidu.com (192.168.146.100) 56(84) bytes of data.
64 bytes from www.baidu.com (192.168.146.100): icmp_seq=1 ttl=64 time=0.058 ms
64 bytes from www.baidu.com (192.168.146.100): icmp_seq=2 ttl=64 time=0.099 ms
64 bytes from www.baidu.com (192.168.146.100): icmp_seq=3 ttl=64 time=0.104 ms
^C
--- www.baidu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.058/0.087/0.104/0.020 ms

由此而见,IP地址解析成功

第三步:在/home/wwwroot创建保存不同网页数据的目录

创建好目录之后,在查看一下,确保目录全都创建完成

[root@localhost ~]# mkdir -p /home/wwwroot/www
[root@localhost ~]# mkdir -p /home/wwwroot/bbs
[root@localhost ~]# mkdir -p /home/wwwroot/tech
[root@localhost ~]# ls /home/wwwroot
100 110 120 bbs index.html tech www

第四步:分别向创建好的目录中写入内容

[root@localhost ~]# echo "fei fei wo xiang ni" > /home/wwwroot/www/index.html
[root@localhost ~]# echo "fei fei wo lian ni" > /home/wwwroot/bbs/index.html
[root@localhost ~]# echo "fei fei wo ai ni" > /home/wwwroot/tech/index.html

第五步:修改Apache服务的配置文件

在配置文件中加入基于主机名的虚拟主机网站参数,大概位置在113行左右,文档编辑好记得保存退出。

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf

113 <VirtualHost 192.168.146.100>
114 DocumentRoot /home/wwwroot/www
115 ServerName www.baidu.com
116 <Directory /home/wwwroot/www >
117 AllowOverride None
118 Require all granted
119 </Directory>
120 </VirtualHost>
121 <VirtualHost 192.168.146.100>
122 DocumentRoot /home/wwwroot/bbs
123 ServerName bbs.baidu.com
124 <Directory /home/wwwroot/bbs >
125 AllowOverride None
126 Require all granted
127 </Directory>
128 </VirtualHost>
129 <VirtualHost 192.168.146.100>
130 DocumentRoot /home/wwwroot/tech
131 ServerName tech.baidu.com
132 <Directory /home/wwwroot/100 >
133 AllowOverride None
134 Require all granted
135 </Directory>
136 </VirtualHost>

第六步:重启Apache服务,并访问网页

[root@localhost ~]# systemctl restart httpd

第七步:修改SELinux安全上下文,并使其立即生效。

由于我在利用IP地址配置虚拟主机功能的时候,就已经配置过SELinux安全上下文,所以在第六步的时候既可以访问成功,但是如果在第六步的时候不能访问,执行第七步,既可以访问。

[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/www
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/www/*
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/bbs
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/bbs/*
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/tech
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/tech/*
[root@localhost ~]# restorecon -Rv /home/wwwroot

利用主机域名配置Apache的虚拟主机功能的更多相关文章

  1. php配置虚拟主机的配置步骤(hosts、httpd.conf、vhosts.conf)1.配置本地的dns文件2.配置apache的主配置文件3.配置Apache的虚拟主机

    1.域名解析(DNS) 找到C:\Windows\System32\drivers\etc目录下的hosts文件,在里面进行添加对应的内容

  2. Centos7下配置Apache的虚拟主机

    一.虚拟主机 虚拟主机是Apache提供的一个功能,通过虚拟主机拉雅在一台服务器上部署多个网站.虽然服务器的IP地址是相同的,但用户当用户使用不同的域名访问时,访问到的是不同的网站. 下面讲解Apac ...

  3. win7下配置Apache本地虚拟主机

    我们有时候从网上下载下来的php源码很多都是应用在网站根目录下的,而我们又想在本地先测试一遍确定没有问题了再上传空间,但一换到子目录下的时候因为路径问题,使得许多图片.内容都无法显示. 这个时候我们就 ...

  4. ubuntu配置apache的虚拟主机

    ubuntu中apache的配置文件分散在几个文件中,/etc/apache2/apache2.conf将它们组织起来.这样设计有很多好处,这里就不在赘述了.进入正题: 1)配置文件在/etc/apa ...

  5. 配置 Apache 的虚拟主机

    1.在host配置比如: 找到记事本以管理员的身份打开,然后文件->打开  C:\Windows\System32\drivers\etc    下面的hosts文件 127.0.0.1 www ...

  6. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

  7. apache中虚拟主机的配置

    一.两种方式:基于域名的虚拟主机和基于IP地址的的虚拟主机 (这里基于前者) 二.作用:实现在同一个web服务器下,同时运行很多个站点(项目) 三.虚拟主机的配置 1.在核心配置文件中加载虚拟主机配置 ...

  8. Web服务器(Apache)虚拟主机的配置

    一.定义    所谓虚拟主机是指在一台服务器里运行几个网站,提供WEB.FTP.Mail等服务.    二.虚拟主机的实现方法有三种:    基于IP的方法,基于主机名的方法和基于端口的法官法.    ...

  9. windows下Apache的虚拟主机配置

    1.Apache虚拟主机: 在Apache上有关于虚拟主机的具体说明,具体可以参考Apache手册,这里简单的说一下虚拟主机主要分为两种: 1.基于主机名的虚拟主机(一个IP地址,多个网站) 2.基于 ...

随机推荐

  1. SpringCloud之服务网关

    1.zuul 1.1定义 zuul叫路由网关,它包含对请求的路由和过滤的功能. 路由负责将外部的请求转发到具体的微服务实例上,是实现外部访问统一入口的基础.而过滤是负责对请求的处理过程进行干预,是实现 ...

  2. Expression #4 of SELECT list is not in GROUP BY clause and contains nonaggregated column

    Error: javax.servlet.ServletException: java.sql.SQLSyntaxErrorException: Expression #4 of SELECT lis ...

  3. Google单元测试框架gtest之官方sample笔记2--类型参数测试

    gtest 提供了类型参数化测试方案,可以测试不同类型的数据接口,比如模板测试.可以定义参数类型列表,按照列表定义的类型,每个测试case都执行一遍. 本例中,定义了2种计算素数的类,一个是实时计算, ...

  4. Mybatis系列全解(五):全网最全!详解Mybatis的Mapper映射文件

    封面:洛小汐 作者:潘潘 若不是生活所迫,谁愿意背负一身才华. 前言 上节我们介绍了 < Mybatis系列全解(四):全网最全!Mybatis配置文件 XML 全貌详解 >,内容很详细( ...

  5. PowerShell的使用

                一:基于winserver2008版本powershell2.0的升级(至4.0) (1)首先:查看各版本的Powershell版本,如下所示: (2)打开虚拟机winserv ...

  6. 从零学脚手架(三)---webpack属性详解

    如果此篇对您有所帮助,在此求一个star.项目地址: OrcasTeam/my-cli 在上一篇中,介绍了webpack的entry.output.plugins属性. 在这一篇,接着介绍其它配置属性 ...

  7. Spring中各种扩展原理及容器创建原理

    一.BeanFactoryPostProcessor BeanFactory的后置处理器:在BeanFactory标准初始化之后调用,来定制和修改BeanFactory的内容:所有的bean定义已经保 ...

  8. 2018.12-2019.1 TO-DO LIST

    AC自动机 P3808 [模板]AC自动机(简单版)(完成时间:2018.12.06) P3796 [模板]AC自动机(加强版)(完成时间:2018.12.06) P2444 [POI2000]病毒( ...

  9. [SPOJ2021] Moving Pebbles

    [SPOJ2021] Moving Pebbles 题目大意:给你\(N\)堆\(Stone\),两个人玩游戏. 每次任选一堆,首先拿掉至少一个石头,然后移动任意个石子到任意堆中. 谁不能移动了,谁就 ...

  10. 杨辉三角的实现(Java)

    杨辉三角的实现 一.什么是杨辉三角 杨辉三角是二项式系数在三角形中的一种几何排列.每个数等于它上方两数之和.每行数字左右对称,由1开始逐渐变大.第n行的数字有n项.前n行共[(1+n)n]/2 个数. ...