手把手教你,嘴对嘴传达----Apache虚拟主机配置与应用
一、Apache虚拟主机
1、虚拟web主机概述
在同一台服务器中运行多个web站点,其中每一个站点并不独立占用一台真正的计算机 通过虚拟web主机可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本 使用httpd可以非常方便的构建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑大量的web站点
2、httpd支持的虚拟主机类型
基于域名 为每个虚拟主机使用不同的域名,但是其对应的IP地址使相同的 域名不同–IP相同,端口相同 基于域名是最为普遍的虚拟web主机类型 基于IP地址 为每个虚拟主机使用不同的域名,且各自对应的IP地址也不相同 这种方式需要为服务器配备多个网络接口,因此应用不是很广泛 IP不同,端口相同 基于端口 这种方式并不使用域名,IP地址来区分不同的站点内容,而是使用不同的TCP端口号 因此用户在浏览不同的虚拟站点时需要同时制定端口号才能访问 IP相同,端口不同
3、添加虚拟主机配置格式
[root@localhost ~]# vim /etc/http/conf/xxx/vhost.conf
1 <VirtualHost *:80> '//针对本服务器所有IP地址'
2 DocumentRoot "/var/www/html/xxx" '//指定站点目录'
3 ServerName www.xxx.com '//指定域名'
4 Errorlog "logs/www.xxx.com.error_log" '//指定错误日志路径'
5 Customlog "logs/www.xxx.com.custom_log" common '//指定访问日志路径'
6 <Directory> "/var/www/html">
7 Require all granted '//设置网页允许所有主机访问,也可以通过denied设置拒绝访问'
8 </Directory>
9 </VirtualHost>
4、生产环境中虚拟主机概述
生产环境中,服务器不止两台
每台服务器都有虚拟主机对应各自的网站
通过调度服务器调取服务器中的网站资源
二、构建虚拟主机–基于域名实例演示
VMware软件
一台Windows虚拟机,IP地址为192.168.110.3
一台centos7虚拟机,IP地址为192.168.110.132
centos7安装bind和httpd服务
实验目的 在Windows虚拟机浏览器中访问这两个域名时,分别显示不同的内容
1、下载需要的软件包
[root@localhost ~]# yum install bind httpd -y
2、为虚拟主机提供域名解析
关闭防火墙,核心防护,编辑主配置文件
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/named.conf
...省略内容
options {
listen-on port 53 { any; }; '//修改为any'
listen-on-v6 port 53 { ::1; };
...省略内容
allow-query { any; }; '//修改为any'
...省略内容
编辑区域配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones
'//添加一下两端内容'
...省略内容
zone "shang.com" IN {
type master;
file "shang.com.zone";
allow-update { none; };
};
zone "zhen.com" IN {
type master;
file "zhen.com.zone";
allow-update { none; };
};
...省略内容
编辑区域数据文件
[root@localhost ~]# cd /var/named/
[root@localhost named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@localhost named]# cp -p named.localhost shang.com.zone
[root@localhost named]# vim shang.com.zone
...省略内容
'//末尾添加内容'
www IN A 192.168.110.132
[root@localhost named]# cp -p shang.com.zone zhen.com.zone
开启DNS域名服务
[root@localhost named]# systemctl start named
3、打开win10 看一下解析是否成功
4、 配置httpd服务
创建站点,并添加虚拟主机配置
[root@localhost named]# cd /etc/httpd/conf
[root@localhost conf]# ls
httpd.conf magic
[root@localhost conf]# mkdir qwer
[root@localhost conf]# ls
qwer httpd.conf magic
[root@localhost conf]# cd qwer
[root@localhost baobao]# ls
[root@localhost baobao]# vim vhost.conf
1 <VirtualHost *:80>
2 DocumentRoot "/var/www/html/shang"
3 ServerName www.shang.com
4 Errorlog "logs/www.shang.com.error_log"
5 Customlog "logs/www.shang.com.custom_log" common
6 <Directory> "/var/www/html">
7 Require all granted
8 </Directory>
9 </VirtualHost>
10
11 <VirtualHost *:80>
12 DocumentRoot "/var/www/html/zhen"
13 ServerName www.zhen.com
14 Errorlog "logs/www.zhen.com.error_log"
15 Customlog "logs/www.zhen.com.custom_log" common
16 <Directory> "/var/www/html">
17 Require all granted
18 </Directory>
19 </VirtualHost>
编辑虚拟机网页文档
[root@localhost baobao]# cd /var/www/html/
[root@localhost html]# ls
[root@localhost html]# mkdir shang zhen
[root@localhost html]# ls
shang zhen
[root@localhost html]# cd shang
[root@localhost html]# vim index.html
<h1>this is shang web</h1>
同理 zhen的网页是<h1>this is zhen web</h1>
编辑httpd主配置文件,添加虚拟主机站点
[root@localhost html]# vim /etc/httpd/conf/httpd.conf
'//找到此行'
IncludeOptional conf.d/*.conf
Include conf/qwer/vhost.conf '//添加此行内容'
开启httpd服务,并测试 [root@localhost html]# systemctl start httpd
三、构建虚拟主机–基于端口实例演示
实例目的 在浏览器中访问不同端口,显示不同内容
1、配置httpd服务
配置虚拟主机配置
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# systemctl start httpd
[root@localhost html]# cd /etc/httpd/conf
[root@localhost conf]# ls
qwer httpd.conf magic
[root@localhost conf]# cd qwer
[root@localhost baobao]# ls
vhost.conf
[root@localhost baobao]# vim vhost.conf
'//在第二个主机配置后添加80'
<VirtualHost *:8080> '//多写一个80'
2、设置监听地址
[root@localhost baobao]# vim /etc/httpd/conf/httpd.conf
Listen 192.168.197.141:80
Listen 192.168.197.141:8080 '//找到监听地址,开启IPv4监听,设置监听地址,添加一个8080端口的监听地址'
#Listen 80 '//关闭IPv6监听'
3、重启服务
[root@localhost baobao]# systemctl restart httpd.service
4、测试
四、构建虚拟主机–基于不同IP实例演示
1、环境准备
继承以上实验环境 centos虚拟主机新添加一张网卡 编辑另一个网卡为192.168.110.200
2、实例目的
在浏览器访问两个IP时,分别显示不同的内容
3、配置httpd服务
虚拟主机配置
[root@localhost sahng]# vim vhost.conf
<VirtualHost 192.168.110.132:80> '//将*修改为第一张网卡IP地址'
<VirtualHost 192.168.110.200:80> '//将*修改为第二张网卡IP地址'
'//将他们的域名都注释掉'
设置监听地址
[root@localhost shang]# vim /etc/httpd/conf/httpd.conf
...省略内容
Listen 192.168.110.132:80
Listen 192.168.110.200:80
#Listen 80
...省略内容
重启服务,验证
[root@localhost shang]# systemctl restart httpd
4、验证
- CentOS 7安装Hadoop 3.0.0
- 揭秘ThreadLocal
- Java异常体系中的秘密
- 10分钟搞懂蚁群算法
- 手把手0基础项目实战(三)——教你开发一套电商平台的安全框架
- 遇见requestAnimationFrame
- 认识createDocumentFragment
- 点击穿透原理及解决
- 如何使用Intellij搭建Spark开发环境
- 如何重置Cloudera Manager的admin密码
- 如何在CDH集群安装Anaconda&搭建Python私有源
- 如何使用Python Impyla客户端连接Hive和Impala
- 如何在Windows Server2008搭建DNS服务并配置泛域名解析
- 如何通过CM API优雅的获取元数据库密码
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法