14、 三种虚拟主机
2015-08-27 01:34
489 查看
虚拟主机 是指在一台WWW服务器上 为多个单独的域名提供Web服务
Apache有3种方式支持 虚拟主机:
一、基于IP的虚拟主机: 一台服务器上配置多个IP地址,每个Ip地址都有特定的目录和配置。适合Ip地址充足的情况
1、[root@localhost root]# vi /etc/named.conf
2、正向区域数据库文件
[root@localhost root]# vi /var/named/gr.org.db
反向区域数据库文件
[root@localhost root]# vi /var/named/170.168.192.db
3、设置DNS客户端
[root@localhost root]# cat > /etc/resolv.conf
nameserver 192.168.170.4
service named start (启动服务)
如果已经启动,就 rndc reload (重启服务)
4、配置虚拟主机
[root@localhost conf.d]# vi /etc/httpd/conf.d/host_ip.conf
5、添加子接口的IP地址
[root@localhost conf.d]# ifconfig eth0:1 192.168.170.1
[root@localhost conf.d]# ifconfig eth0:2 192.168.170.2
[root@localhost conf.d]# ifconfig eth0:3 192.168.170.3
6、创建虚拟主机目录和测试主页
mkdir /var/www/host{1,2,3}
cd /var/www
echo “this host1” > host1/index.html
echo “this host2” > host2/index.html
echo “this host3” > host3/index.html
7、重启服务
service httpd restart
结果如下:
![](http://images0.cnblogs.com/blog/727732/201508/270133441259202.png)
![](http://images0.cnblogs.com/blog/727732/201508/270133471408191.png)
![](http://images0.cnblogs.com/blog/727732/201508/270133502344736.png)
二、基于端口的虚拟主机:
1、在/etc/httpd/conf.d目录下 创建host_port.conf文件,添加以下内容
2、创建虚拟主机的工作目录和测试主页
3、重启服务
service httpd restart
测试
![](http://images0.cnblogs.com/blog/727732/201508/270133534537552.png)
![](http://images0.cnblogs.com/blog/727732/201508/270133566407827.png)
三、基于名称的虚拟主机 (大多数用这种)
多个域名访问,都对应同一个IP地址
1、在 正向区域数据库文件 添加下面内容
2、在 反向区域数据库文件 添加下面内容
3、在/etc/httpd/conf.d目录下 创建host_domain.conf文件,添加以下内容
4、创建虚拟主机的工作目录和测试主页
5、重启服务
rndc reload 或者 service named restart
service httpd start
6、测试
![](http://images0.cnblogs.com/blog/727732/201508/270134009223302.png)
Apache有3种方式支持 虚拟主机:
一、基于IP的虚拟主机: 一台服务器上配置多个IP地址,每个Ip地址都有特定的目录和配置。适合Ip地址充足的情况
1、[root@localhost root]# vi /etc/named.conf
zone "gr.org" IN { type master; file "gr.org.db"; allow-update { none; }; }; zone "170.168.192.in-addr.arpa" IN { type master; file "170.168.192.db"; };
2、正向区域数据库文件
[root@localhost root]# vi /var/named/gr.org.db
$TTL 86400 @ IN SOA ns.gr.org. root.gr.org.( 20140308 ;serial 8H ;refresh 4M ;retry 1W ;expiry 1D ) ;minimum @ IN NS ns.gr.org. ns IN A 192.168.170.1 host1 IN A 192.168.170.1 host2 IN A 192.168.170.2 host3 IN A 192.168.170.3
反向区域数据库文件
[root@localhost root]# vi /var/named/170.168.192.db
$TTL 86400 @ IN SOA ns.gr.org. root.gr.org.( 20150826 8H 4M 1W 1D) IN NS ns.gr.org. 1 IN PTR ns.gr.org. 1 IN PTR host1.gr.org. 2 IN PTR host2.gr.org. 3 IN PTR host3.gr.org.
3、设置DNS客户端
[root@localhost root]# cat > /etc/resolv.conf
nameserver 192.168.170.4
service named start (启动服务)
如果已经启动,就 rndc reload (重启服务)
4、配置虚拟主机
[root@localhost conf.d]# vi /etc/httpd/conf.d/host_ip.conf
<VirtualHost 192.168.170.1:80> DocumentRoot /var/www/host1 ServerName host1.gr.org </VirtualHost> <VirtualHost 192.168.170.2:80> DocumentRoot /var/www/host2 ServerName host2.gr.org </VirtualHost> <VirtualHost 192.168.170.3:80> DocumentRoot /var/www/host3 ServerName host3.gr.org </VirtualHost>
5、添加子接口的IP地址
[root@localhost conf.d]# ifconfig eth0:1 192.168.170.1
[root@localhost conf.d]# ifconfig eth0:2 192.168.170.2
[root@localhost conf.d]# ifconfig eth0:3 192.168.170.3
6、创建虚拟主机目录和测试主页
mkdir /var/www/host{1,2,3}
cd /var/www
echo “this host1” > host1/index.html
echo “this host2” > host2/index.html
echo “this host3” > host3/index.html
7、重启服务
service httpd restart
结果如下:
![](http://images0.cnblogs.com/blog/727732/201508/270133441259202.png)
![](http://images0.cnblogs.com/blog/727732/201508/270133471408191.png)
![](http://images0.cnblogs.com/blog/727732/201508/270133502344736.png)
二、基于端口的虚拟主机:
1、在/etc/httpd/conf.d目录下 创建host_port.conf文件,添加以下内容
Listen 192.168.170.1:8000 Listen 192.168.170.1:8888 <VirtualHost 192.168.170.1:8000> DocumentRoot /var/www/host4 ServerName host1.gr.org </VirtualHost> <VirtualHost 192.168.170.2:8888> DocumentRoot /var/www/host5 ServerName host1.gr.org </VirtualHost>
2、创建虚拟主机的工作目录和测试主页
mkdir /var/www/host{4,5} echo “this host1(8000)” > /var/www/host4/index.html echo “this host1(8888)” > /var/www/host5/index.html
3、重启服务
service httpd restart
测试
![](http://images0.cnblogs.com/blog/727732/201508/270133534537552.png)
![](http://images0.cnblogs.com/blog/727732/201508/270133566407827.png)
三、基于名称的虚拟主机 (大多数用这种)
多个域名访问,都对应同一个IP地址
1、在 正向区域数据库文件 添加下面内容
music IN A 192.168.170.1 movie IN A 192.168.170.1
2、在 反向区域数据库文件 添加下面内容
1 IN PTR music.gr.org. 1 IN PTR movie.gr.org.
3、在/etc/httpd/conf.d目录下 创建host_domain.conf文件,添加以下内容
<VirtualHost music.gr.org:80> DocumentRoot /var/www/music ServerName music.gr.org </VirtualHost> <VirtualHost movie.gr.org:80> DocumentRoot /var/www/movie ServerName movie.gr.org </VirtualHost>
4、创建虚拟主机的工作目录和测试主页
cd /var/www mkdir music movie echo “this music” > music/index.html echo “this movie” > movie/index.html
5、重启服务
rndc reload 或者 service named restart
service httpd start
6、测试
![](http://images0.cnblogs.com/blog/727732/201508/270134009223302.png)
相关文章推荐
- JTree中怎么改变节点的字体颜色?
- JSF 2.0 + Ajax hello world example
- Dagger2官方CoffeeMaker案例的分解说明
- 苹果开发者账号如何多人协作进行开发和真机调试XCode
- 顺时针打印矩阵
- hdu 2546 饭卡(经典dp)
- luci工作过程,总结的更好
- PopupWindow的进入和退出的动画效果设置
- Winter is coming Just have a little faith. JSF框架简介与实例
- 面向对象学习
- Javascript面向对象编程(三):非构造函数的继承
- poj1185炮兵阵地【状压dp】
- IOS不用AutoLayout也能实现自动布局的类(4)----MyTableLayout横空出世
- Windows&Ubuntu
- linkbutton 的启用和禁用
- SPOJ 题目913QTREE2 - Query on a tree II(Link Cut Tree 查询路径第k个点)
- Javascript面向对象编程(二):构造函数的继承
- Linux用户管理命令使用之疑问 — useradd <一>
- EmguCV Image类中的函数(四)使用MatchTemplate函数进行模板匹配
- 关于“如何做到在一个类内不通过创建另一个类的对象,却调用另一个类的方法”的问题