Apache 虚拟机设置

作者: 我不是鱼 (2008-11-04 23:04)分类: Apache   标签: 虚拟机

apache虚拟机有两种设置方法:
基于主机名的虚拟主机(一个IP地址,多个网站)
基于IP地址的虚拟主机(每个站点拥有一个的独立IP地址)

可能很多人没有多个静态ip,也没有多个域名,也没有线上的服务器。我也没有。不过我们还是可以在本机实现apache的虚拟机设置的。下面我们要用到的ip是 127.0.0.1, 127.0.0.2。域名是localhost, localhost2, localhost3

打开 /etc/hosts
在后面添加
127.0.0.1 localhost2
127.0.0.2 localhost3

windows的系统是修改 C:\WINDOWS\system32\drivers\etc\hosts 文件

这一步需要重启一下机器。先重启了再进行下边的操作。重启后 localhost2和localhost3就可以指向各住的ip了。

打开apache配置文件。一般是在 /etc/httpd/conf/httpd.conf 或者你指定的目录。windows的系统是在apache安装目录的conf文件夹里
在最后添加

NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
    ServerAdmin [email protected]
    DocumentRoot /home/webroot/website1
    ServerName localhost
</VirtualHost>

<VirtualHost 127.0.0.1:80>
    ServerAdmin [email protected]
    DocumentRoot /home/webroot/website2
    ServerName localhost2
</VirtualHost>

<VirtualHost 127.0.0.2:80>
    ServerAdmin [email protected]
    DocumentRoot /home/webroot/website3
    ServerName localhost3
</VirtualHost>

其中DocumentRoot要改成和自己机子相符的路径。然后务必重启apache才可以生效。 service httpd restart 重启apache。然后用localhost localhost2 和 localhost3 就可以访问各住的目录了。

其中 NameVirtualHost 127.0.0.1:80 是需要的,否则会出现这样的警告提示:VirtualHost 127.0.0.1:80 overlaps with VirtualHost 127.0.0.1:80, the first has precedence, perhaps you need a NameVirtualHost directive

如果需要一个虚拟机绑定多个域名,则可以在别名 ServerAlias 后面全部列出来。还可以通过 php_admin_value open_basedir 限制各自虚拟机可操作文件的目录。同时可以通过 ErrorDocument 404 设置404错误页面的位置。其他配置就不多说了,可以参考apache手册。

评论 (1) | 浏览 (10458)

前一篇: 无限分级的实现
后一篇: Apache  的 Include  指令


评论

修改host后只需要重启浏览器,不需要重启电脑
[游客]江湖笑 2010-06-10 11:25

1

添加评论

昵称:


博主


« 2020年-12月 »
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2

分类


热门标签


最近留言


概要

  • 文章数量: 41
  • 分类数量: 9
  • 标签数量: 73
  • 评论数量: 159
  • 浏览次数: 3236516

友情链接