利用主机域名配置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. 看完我的笔记不懂也会懂----git

    Git学习笔记 - 什么是Git - 首次使用Git - DOS常用命令 - Git常用命令 - 关于HEAD - 版本回退 - 工作区.暂存区与版本库 - git追踪的是修改而非文件本身 - 撤销修 ...

  2. Python3+pygame实现Windows经典扫雷

    今天给大家分享一个由Python3(当然python3.5 3.6 3.7 3.8 ...都行)与pygame模块结合制作的一个经典小游戏"扫雷" 代码是完全可运行的,请大家放心运 ...

  3. 剑指 Offer 39. 数组中出现次数超过一半的数字 + 摩尔投票法

    剑指 Offer 39. 数组中出现次数超过一半的数字 Offer_39 题目描述 方法一:使用map存储数字出现的次数 public class Offer_39 { public int majo ...

  4. 剑指 Offer 30. 包含min函数的栈 + 双栈实现求解栈中的最小值

    剑指 Offer 30. 包含min函数的栈 Offer_30 题目描述: 题解分析: 题目其实考察的是栈的知识,本题的目的是使用两个栈来求解最小值. 第二个栈主要用来维护第一个栈中的最小值,所以它里 ...

  5. OpenGL中的坐标系统详细概括:包括Z缓冲

    一: 首先就是关于几个坐标系统的概括: 局部坐标是对象相对于局部原点的坐标,也是物体起始的坐标. 下一步是将局部坐标变换为世界空间坐标,世界空间坐标是处于一个更大的空间范围的.这些坐标相对于世界的全局 ...

  6. CVE-2015-1635-HTTP.SYS远程执行代码

    这个漏洞刚好是在挖SRC的时候找到的,漏洞危害能打到服务器蓝屏,以下只作验证 参考 https://www.jianshu.com/p/2e00da8a12de https://blog.csdn.n ...

  7. Java流程控制:三种基本结构

    顺序结构: Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行顺序结构是最简单的算法结构语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的, ...

  8. java异常的 理解

    1.体系结构 java.lang.Object |----java.lang.Throwable |-------java.lang.Error:错误,java程序对此无能为力,不显式的处理 |--- ...

  9. 初见pyecharts

    pyecharts(可互动的可视化) 模块准备 在Anaconda Prompt中下载pyecharts v1版本(>=python3.6) pip install pyecharts 可视化最 ...

  10. 【python+selenium的web自动化】- PageObject模式解析及案例

    如果想从头学起selenium,可以去看看这个系列的文章哦! https://www.cnblogs.com/miki-peng/category/1942527.html PO模式 ​ Page O ...