Apache下设置虚拟主机之基于IP的虚拟主机

首先说两段废话:
1、什么是虚拟主机?
虚拟主机是指在一台服务器(硬件、软件)上运行多个网站。有两种方法在Apache服务器上设置虚拟主机。如果每个网站的IP地址不同,则虚拟主机是“基于IP”的;如果只有一个IP地址,可以是“基于主机名”的。
2、为什么要设置虚拟主机?
很显然,虚拟主机可以在一台服务器上运行多个网站,这样可以把多个网站移到一个服务器上,可以节约成本。

废话说完,现在介绍第一种方法:基于IP的虚拟主机设置:
我这里Apache按照上章配置,只是将Apache服务器的IP改为(192.168.0.104)。
另外,有三个网站,域名与IP的关系为:

www.whut1.com   192.168.0.11
www.whut2.com   192.168.0.12
www.whut3.com   192.168.0.13


步骤:
1、添加IP地址到eth0:
[root@localhost ~]# ifconfig eth0:1 192.168.0.11 up
[root@localhost ~]# ifconfig eth0:2 192.168.0.12 up
[root@localhost ~]# ifconfig eth0:3 192.168.0.13 up

2、设置域名对应的IP地址,解析IP地址:
因为这里我没有做DNS,我就在hosts文件添加。hosts文件也可以将域名映射为IP。在linux下,hosts文件在:/etc/目录下:
[root@localhost ~]# vi /etc/hosts
打开后,在空白处添加:
192.168.0.11    www.whut1.com
192.168.0.12    www.whut2.com
192.168.0.13    www.whut3.com

3、设置各个虚拟机存放网页的根目录:
[root@localhost ~]# mkdir /whut
[root@localhost ~]# mkdir /whut/htdocs1
[root@localhost ~]# mkdir /whut/htdocs2
[root@localhost ~]# mkdir /whut/htdocs3

4、分别在各个目录下写入测试文件:

在htdocs1目录下写入一个test1.php

<?php
	phpinfo();
?>
在htdocs2目录下写入一个test2.php
<?php
	phpinfo();
?>
在htdocs3目录下写入一个test3.php
<?php
	phpinfo();
?>
5、修改主配置文件http.conf:
上一节中,我将主配置文件放在了:/etc/httpd/目录下,打开http.conf:
[root@localhost ~]# vi /etc/httpd/httpd.conf
打开后,用“/Virtual hosts”找到Virtual hosts这个辅助配置文件,去掉“#Include /etc/httpd/extra/httpd-vhosts.conf
”,这个里面的“#”(其实也就是加载Virtual hosts这个辅助配置文件)

6、修改Virtual hosts这个辅助配置文件:
[root@localhost ~]# vi /etc/httpd/extra/httpd-vhosts.conf
进入这个目录后,先要注释掉:

“NameVirtualHost *:80”(前面加#),

然后注释掉所有的:

#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot "/usr/local/apache2/docs/dummy-host.example.com"
#    ServerName dummy-host.example.com
#    ServerAlias www.dummy-host.example.com
#    ErrorLog "logs/dummy-host.example.com-error_log"
#   CustomLog "logs/dummy-host.example.com-access_log" common
#</VirtualHost>

为什么要注释掉呢,是因为如果不注释掉,重新启动apache的时候会出现警告。
注释掉之后,然后添加:
<VirtualHost 192.168.0.11:80>
        ServerName www.whut1.com
        DocumentRoot /whut/htdocs1/
        <Directory "/whut/htdocs1">
                Options Indexes FollowSymLinks
                AllowOverride None
                Order allow,deny
                Allow from all
        </Directory>
</VirtualHost>
<VirtualHost 192.168.0.12:80>
        ServerName www.whut2.com
        DocumentRoot /whut/htdocs2/
        <Directory "/whut/htdocs2">
                Options Indexes FollowSymLinks
                AllowOverride None
                Order allow,deny
                Allow from all
        </Directory>
</VirtualHost>
<VirtualHost 192.168.0.13:80>
        ServerName www.whut3.com
        DocumentRoot /whut/htdocs3/
        <Directory "/whut/htdocs3">
                Options Indexes FollowSymLinks
                AllowOverride None
                Order allow,deny
                Allow from all
        </Directory>
</VirtualHost>
7、保存,然后重新启动Apache服务器:
[root@localhost ~]# service httpd restart
8、在linux的浏览器中输入:

http://www.whut1.com,出现下面的图片:


同理分别输入www.whut2.com、www.whut3.com也会出现类似的图片。
注意,这个时候在windows的浏览器里面输入域名是找不到的,只能输入IP地址找到。为什么呢?
请看下面9:

9、修改windows的hosts:
之所以在windows下面输入域名找不到,是因为windows的浏览器无法解析域名(没有DNS嘛)。这样就要修改windows下面的hosts,怎么修改呢?用文本编辑器打开“C:\windows\system32\drivers\ete\hosts”。然后在最下面添加:
192.168.0.11 www.whut1.com
192.168.0.12 www.whut2.com
192.168.0.13 www.whut3.com

这样也可以在windows下面打开噢:,看下图:




这样就配置成功了。下面一节将配置基于主机名的虚拟主机。。。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值