首页 > 学院 > 操作系统 > 正文

14、 三种虚拟主机

2024-06-28 13:18:57
字体:
来源:转载
供稿:网友
14、 三种虚拟主机

虚拟主机 是指在一台WWW服务器上 为多个单独的域名提供Web服务

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.1host1  IN   A       192.168.170.1host2  IN   A       192.168.170.2host3  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.confnameserver 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

结果如下:

image

image

image

二、基于端口的虚拟主机:

1、在/etc/httpd/conf.d目录下 创建host_port.conf文件,添加以下内容

Listen  192.168.170.1:8000Listen  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

测试

image

image

三、基于名称的虚拟主机 (大多数用这种)

多个域名访问,都对应同一个IP地址

1、在 正向区域数据库文件 添加下面内容

music   IN  A  192.168.170.1movie   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/musicServerName   music.gr.org</VirtualHost> <VirtualHost   movie.gr.org:80> DocumentRoot   /var/www/movie ServerName   movie.gr.org</VirtualHost>

4、创建虚拟主机的工作目录和测试主页

cd    /var/wwwmkdir  music  movieecho “this  music” >  music/index.htmlecho “this  movie” >  movie/index.html

5、重启服务

rndc reload 或者 service named restart

service httpd start

6、测试

image


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表