利用主机域名配置Apache的虚拟主机功能
利用主机域名配置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的虚拟主机功能的更多相关文章
- php配置虚拟主机的配置步骤(hosts、httpd.conf、vhosts.conf)1.配置本地的dns文件2.配置apache的主配置文件3.配置Apache的虚拟主机
1.域名解析(DNS) 找到C:\Windows\System32\drivers\etc目录下的hosts文件,在里面进行添加对应的内容
- Centos7下配置Apache的虚拟主机
一.虚拟主机 虚拟主机是Apache提供的一个功能,通过虚拟主机拉雅在一台服务器上部署多个网站.虽然服务器的IP地址是相同的,但用户当用户使用不同的域名访问时,访问到的是不同的网站. 下面讲解Apac ...
- win7下配置Apache本地虚拟主机
我们有时候从网上下载下来的php源码很多都是应用在网站根目录下的,而我们又想在本地先测试一遍确定没有问题了再上传空间,但一换到子目录下的时候因为路径问题,使得许多图片.内容都无法显示. 这个时候我们就 ...
- ubuntu配置apache的虚拟主机
ubuntu中apache的配置文件分散在几个文件中,/etc/apache2/apache2.conf将它们组织起来.这样设计有很多好处,这里就不在赘述了.进入正题: 1)配置文件在/etc/apa ...
- 配置 Apache 的虚拟主机
1.在host配置比如: 找到记事本以管理员的身份打开,然后文件->打开 C:\Windows\System32\drivers\etc 下面的hosts文件 127.0.0.1 www ...
- centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课
centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 ...
- apache中虚拟主机的配置
一.两种方式:基于域名的虚拟主机和基于IP地址的的虚拟主机 (这里基于前者) 二.作用:实现在同一个web服务器下,同时运行很多个站点(项目) 三.虚拟主机的配置 1.在核心配置文件中加载虚拟主机配置 ...
- Web服务器(Apache)虚拟主机的配置
一.定义 所谓虚拟主机是指在一台服务器里运行几个网站,提供WEB.FTP.Mail等服务. 二.虚拟主机的实现方法有三种: 基于IP的方法,基于主机名的方法和基于端口的法官法. ...
- windows下Apache的虚拟主机配置
1.Apache虚拟主机: 在Apache上有关于虚拟主机的具体说明,具体可以参考Apache手册,这里简单的说一下虚拟主机主要分为两种: 1.基于主机名的虚拟主机(一个IP地址,多个网站) 2.基于 ...
随机推荐
- nginx反向代理、负载均衡以及分布式下的session保持
[前言]部署服务器用到了nginx,相比较于apache并发能力更强,优点也比其多得多.虽然我的项目可能用不到这么多性能,还是部署一个流行的服务器吧! 此篇博文主要学习nginx(ingine x)的 ...
- virtualbox多个网卡添加(第5-8块儿)
virtualbox多个网卡添加(第5-8块儿) virtualbox默认只能启用4块网卡,如果4块网卡不够则需要通过命令添加.最多可以增加至8块 创建一个文件run.bat,添加如下内容到文件中,然 ...
- PAT-1102(Invert a Binary Tree)+二叉树的镜像+层次遍历+中序遍历+已知树的结构构树
Invert a Binary Tree pat-1102 import java.util.Arrays; import java.util.Queue; import java.util.Scan ...
- 译文《全新首发JDK 16全部新特性》
封面:洛小汐 译者:潘潘 JDK 8 的新特性都还没摸透,JDK 16 的新特性就提着刀来了. 郑重申明: 第一次冒险翻译专业领域的文献,可想而知,效果特别糟糕.一般翻译文献特别是 技术专业领域 的内 ...
- 记离线部署docker,以及docker下部署zabbix
一.离线安装docker 下载地址:https://download.docker.com/linux/static/stable/x86_64/ 上传软件并解压 [root@localhost op ...
- 强化学习导论 课后习题参考 - Chapter 1,2
Reinforcement Learning: An Introduction (second edition) - Chapter 1,2 Chapter 1 1.1 Self-Play Suppo ...
- Dart 学习
语言特性 Dart所有的东西都是对象, 即使是数字numbers.函数function.null也都是对象,所有的对象都继承自Object类. Dart动态类型语言, 尽量给变量定义一个类型,会更安全 ...
- C#控制鼠标自动连续点(DEMO)
---------------------------界面---------------------------------------------------- ------------------ ...
- concurrentHashMap扩容相关方法详解
上一个博客中说到了concurrentHashMap的put操作,在put操作之后如果添加了节点,我们首先会把全局的节点数+1,如果满足了扩容条件,我们则进行扩容 我们先从addCount方法说起 / ...
- Go 语言入门教程,共32讲,6小时(已完结)
Go语言入门教程,共32讲,6小时(完结) 在B站:https://www.bilibili.com/video/BV1fD4y1m7TD/