Apache的虚拟主机功能
Apache的虚拟主机功能 (Virtual Host) 是可以让一台服务器基于IP、主机名或端口号实现提供多个网站服务的技术。
第一种情况:基于IP地址
这种情况很常见:一台服务器拥有多个IP地址,当用户访问不同IP地址时显示不同的网站页面。
第1步为网卡添加多个IP地址:(方法不唯一)
重新启动网卡设备后使用ping命令检查是否配置正确
第2步:分别创建网站数据目录。
在/home/wwwroot目录下分别创建三个网站数据目录:
mkdir -p /home/wwwroot/100
mkdir -p /home/wwwroot/110
mkdir -p /home/wwwroot/120
分别在这三个网站数据目录中写入主页文件,内容为该网站的IP地址:
[root@linuxprobe
~]# echo "IP:192.168.5.100" > /home/wwwroot/100/index.html
[root@linuxprobe
~]# echo "IP:192.168.5.110" > /home/wwwroot/110/index.html
[root@linuxprobe
~]# echo "IP:192.168.5.120" > /home/wwwroot/120/index.html
第3步:在配置文件中描述基于IP地址的虚拟主机。
编辑主配置文件(/etc/httpd/conf/httpd.conf),在主配置文件的末尾按下面格式定义虚拟主机信息:
<VirtualHost 192.168.5.100>
DocumentRoot /home/wwwroot/100
ServerName www.haozhikuan-hbza.com
<Directory /home/wwwroot/100 >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.5.110>
DocumentRoot /home/wwwroot/110
ServerName bbs.haozhikuan-hbza.com
<Directory /home/wwwroot/110 >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.5.120>
DocumentRoot /home/wwwroot/120
ServerName tech.haozhikuan-hbza.com
<Directory /home/wwwroot/120 >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
直接在末尾复制,然后重启服务即可
第4步:分别访问192.168.5.100/110/120验证结果:
第二种情况:基于主机名
当服务器无法为每个网站都分配到独立IP地址时,可以试试让Apache服务程序自动识别来源主机名或域名然后跳转到指定的网站
第1步:配置网卡IP地址与hosts文件。
hosts文件作用是定义IP地址与主机名的映射关系,即强制将某个主机名地址解析到指定的IP地址。
vim /etc/hosts
//每行只能写一条,格式为IP地址+空格+主机名(域名)。
第2步:分别创建网站数据目录:
mkdir -p /home/wwwroot/www
mkdir -p /home/wwwroot/bbs
mkdir -p /home/wwwroot/tech
分别在网站目录中写入首页文件:
echo "www.haozhikuan-hbza.com" > /home/wwwroot/www/index.html
echo "www.haozhikuan-hbza.com" > /home/wwwroot/bbs/index.html
echo "www.haozhikuan-hbza.com" > /home/wwwroot/tech/index.html
第3步:在配置文件中描述基于主机名称的虚拟主机。
编辑主配置文件(/etc/httpd/conf/httpd.conf),在主配置文件的末尾按下面格式定义虚拟主机信息:
<VirtualHost
192.168.5.100>
DocumentRoot
"/home/wwwroot/www"
ServerName
"www.haozhikuan-hbza.com"
<Directory
"/home/wwwroot/www">
AllowOverride
None
Require
all granted
</directory>
</VirtualHost>
<VirtualHost
192.168.5.110>
DocumentRoot
"/home/wwwroot/bbs"
ServerName
"bbs.haozhikuan-hbza.com"
<Directory
"/home/wwwroot/bbs">
AllowOverride
None
Require
all granted
</Directory>
</VirtualHost>
<VirtualHost
192.168.5.120>
DocumentRoot
"/home/wwwroot/tech"
ServerName
"tech.haozhikuan-hbza.com"
<Directory
"/home/wwwroot/tech">
AllowOverride
None
Require
all granted
</directory>
</VirtualHost>
复制重启服务即可
第4步:分别访问网站验证结果
第三种情况:基于端口号
我们可以让服务器开启多个服务端口后,然后让用户能够通过访问服务器的指定端口来找到想要的网站。
第1步:配置服务器的IP地址:
第2步:分别创建网站数据目录。
分别创建端口为6111,6222的网站数据目录:
mkdir -p /home/wwwroot/6111
mkdir -p /home/wwwroot/6222
分别在网站数据目录中写入不同内容的主页文件:
[root@linuxprobe
~]# echo "port:6111" > /home/wwwroot/6111/index.html
[root@linuxprobe
~]# echo "port:6222" > /home/wwwroot/6222/index.html
第3步:在配置文件中描述基于端口号的虚拟主机。
编辑主配置文件(/etc/httpd/conf/httpd.conf),找到约在42行的Listen 80,并在下面追加:
Listen
6111
Listen 6222
然后在主配置文件的末尾按下面格式定义虚拟主机信息:
<VirtualHost
192.168.5.100:6111>
DocumentRoot “/home/wwwroot/6111”
ServerName www.haozhikuan-hbza.com
<Directory “/home/wwwroot/6111”>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost
192.168.5.100:6222>
DocumentRoot “/home/wwwroot/6222”
ServerName bbs.haozhikuan-hbza.com
<Directory “/home/wwwroot/6222”>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
第4步:分别访问网站验证结果:
注意:以上三种情况均在SElinux禁用情况下进行实验的,每次实验最好还原上一次快照,防止配置文件冲突
编辑主配置文件(/etc/httpd/conf/httpd.conf),在主配置文件的末尾按下面格式定义虚拟主机信息,记住这个路径!
Apache的虚拟主机功能的更多相关文章
- 利用主机域名配置Apache的虚拟主机功能
利用主机域名配置Apache的虚拟主机功能,可以减轻服务器为每一个网站分配IP地址的压力.而且根据不同的主机域名可以输出不同的网页内容.要实现此项功能,可以通过修改/etc/host文件来强制定义IP ...
- Apache的虚拟主机功能(基于IP、域名、端口号)
Apache虚拟主机就是在一个Apache服务器上配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录. 主要有三种方法: 1.通过不同的IP地址 2.通过不同的域名 ...
- Apache的虚拟主机功能(基于IP地址、基于虚拟主机、基于端口)
1. 安装Apache服务程序(系统用户,1-199之间) 第一步:在虚拟机软件里选中光盘镜像: 第二步:将光盘设备挂载到/media/cdrom目录 输入:mkdir -p /media/cdrom ...
- win10下关于apache配置虚拟主机
apache安装完默认是不开启虚拟服务器的,如果希望在本地apache上面配置虚拟服务器,类似于在网上买的虚拟主机,可以按照以下步骤进行配置: 1,修改本机的hosts文件,如下 示例:127.0.0 ...
- 解决Apache配置虚拟主机时出现403错误的问题
1.用文本编辑器打开Apache中的httpd.conf,搜索httpd-vhosts.conf,找到“#Include conf/extra/httpd-vhosts.conf”,并把“#”去掉,启 ...
- 虚拟机lamp环境下,Apache配置虚拟主机
1.在Apache配置文件中开启虚拟主机功能:即:Include etc//extra/httpd-vhosts.conf把前面的#去掉: 2.在extra目录下找到文件httpd-vhosts.co ...
- Apache+php+mysql的安装与配置 - 之三(Apache的虚拟主机配置)
Apache+php+mysql的安装与配置 - 之三(Apache的虚拟主机配置) Apache核心(Core)配置 VirtualHost 语法 <VirtualHost addr[:por ...
- Apache和PHP结合、Apache默认虚拟主机
5月28日任务 课程内容: 11.14/11.15 Apache和PHP结合11.16/11.17 Apache默认虚拟主机 11.14/11.15 Apache和PHP结合 到目前为止虽然安装好了A ...
- Centos7下配置Apache的虚拟主机
一.虚拟主机 虚拟主机是Apache提供的一个功能,通过虚拟主机拉雅在一台服务器上部署多个网站.虽然服务器的IP地址是相同的,但用户当用户使用不同的域名访问时,访问到的是不同的网站. 下面讲解Apac ...
随机推荐
- Spring Cloud Feign 总结问题,注意点,性能调优,切换okhttp3
### Feign常见问题总结 **FeignClient接口如使用`@PathVariable` ,必须指定value属性** ```java //在一些早期版本中, @PathVariable(& ...
- sql注入100种姿势过waf(二):过安全狗
仅供学习交流如果你有更好的思路可以一起分享,想一起学习的进我主页 先去安全狗网站下载最新的安全狗版本 从官网下载 windwos apache版 v4.0.2395 最新版 数据库是mysql ...
- docker3-镜像的使用
基本使用命令: [root@ipha-dev71- docker]# docker search python # 搜索镜像 [root@ipha-dev71- docker]# docker pul ...
- spring在IoC容器中装配Bean详解
1.Spring配置概述 1.1.概述 Spring容器从xml配置.java注解.spring注解中读取bean配置信息,形成bean定义注册表: 根据bean定义注册表实例化bean: 将bean ...
- Spring Boot项目中如何定制PropertyEditors
本文首发于个人网站:Spring Boot项目中如何定制PropertyEditors 在Spring Boot: 定制HTTP消息转换器一文中我们学习了如何配置消息转换器用于HTTP请求和响应数据, ...
- 百万年薪python之路 -- 请求跨域和CORS协议详解
楔子 什么是同源策略 同源策略,它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略.所谓同源是指,域名,协议,端口相同.当一个浏览器的两个tab ...
- 百万年薪python之路 -- 并发编程之 多线程 一
多线程 1.进程: 生产者消费者模型 一种编程思想,模型,设计模式,理论等等,都是交给你一种编程的方法,以后遇到类似的情况,套用即可 生产者与消费者模型的三要素: 生产者:产生数据的 消费者:接收数据 ...
- 玩转OneNET物联网平台之HTTP服务③ —— OneNet智能灯 HTTP版本
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 从零开始把项目发布到Nuget仓库中心
从零开始把项目发布到Nuget仓库中心 我的项目地址 https://github.com/Ants-double/dasuan ### 前期准备 下载并注册nuget帐号 下载地址 https:// ...
- MySQL操作(一)用户及权限
一.mysql 里的所有用户都是存储在数据库mysql的user表里 二.创建普通用户.赋权.撤销权限 的操作 1.创建用户(需要先用root进去mysql)格式:create user '用户名 ...