利用主机域名配置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. 痞子衡嵌入式:盘点国内RISC-V内核MCU厂商

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是国内RISC-V内核MCU厂商. 虽然RISC-V风潮已经吹了好几年,但2019年才是其真正进入主流市场的元年,最近国内大量芯片公司崛起 ...

  2. 看完我的笔记不懂也会懂----MongoDB

    MongoDb数据库学习 - 数据库的分类 - 数据库基本概念 - MongoDB常用指令 - MongoDB的CURD - sort({key:*[1,-1]}).limit(num).skip(n ...

  3. 如何进BAT,有了这个篇面试秘籍,成功率高达80%!!(附资料)

    多年前自己刚来北京找工作的时候,面了一个星期 面了七八家公司才拿到一个offer.而上次跳槽面了不到10家公司基本全过而且都给到了期望的薪资,本来自己在面试前没想到能够这么顺利,回想起来还是自己准备的 ...

  4. HDOJ-3001(TSP+三进制状态压缩)

    Traving HDOJ-3001 这题考察的是状态压缩dp和tsp问题的改编 需要和传统tsp问题区分的事,这题每个点最多可以经过两次故状态有3种:0,1,2 这里可以模仿tsp问题的二进制压缩方法 ...

  5. 冗余网络构建方案对比:VRRP协议、多网卡绑定及WN202冗余链路网卡

    在组建网络时为网络设计冗余方案已经成为提高网络可用性必不可少的一环,伴随着网络技术的发展实现网络冗余的技术方案也是层出不穷,例如应用于服务器端的HA.LB,应用于存储的SAN.DAS.NAS等.本文重 ...

  6. frameset、frame和div 、iframe

    框架一般应用于首页的界面排版工作.把一个网页切割成多个页面管理.frame文件一般只包含框架的布局信息,不会包含其他内容,所有的页面效果都是在各个frameset页面内显示.他们都从属于frame文件 ...

  7. webpack核心模块tapable用法解析

    前不久写了一篇webpack基本原理和AST用法的文章,本来想接着写webpack plugin的原理的,但是发现webpack plugin高度依赖tapable这个库,不清楚tapable而直接去 ...

  8. 网易云信 QUIC 加速服务架构与实践

    导语:网易云信作为音视频服务提供商的领导者,一直致力于提供顶级的音视频通话服务体验,为用户在各种恶劣环境下提供可靠的音视频服务.如何在极端弱网条件下仍然能给用户提供可靠的音视频服务,是网易云信关注的重 ...

  9. filecoin今日价格,filecoin币价估值,filecoin币会涨到多少钱

    filecoin今日价格,截止 2021 年 3 月 17 日 9 时,filecoin价格为 63.8939 美元,约合人民币 415.69 元.流通市值约 416.2 亿人民币,总市值达到 831 ...

  10. windows使用vscode设置免密登录linux服务器

    秘钥原理解释 id_rsa.pub是公钥,部署在服务器上 id_rsa是私钥,放在windows本地 本质上它们都是个文本文件 操作流程 生成秘钥对(windows和linux均可) ssh-keyg ...