Apache配置虚拟主机

来源:互联网 发布:java 黑方块问号乱码 编辑:程序博客网 时间:2024/06/10 06:53

         Apache服务器自带一个网页根目录,但在正常情况下,一个ip只能作为一个主机存在,即当你在同一个电脑开发的网站不止一个时,同一时间只有一个网站能够通过服务器。

         为了能够在同一时间同时访问不同的网站,需要配置apache虚拟主机。

         虚拟主机概念:所谓虚拟主机,也叫“网站空间”,可以把一台真正的主机分成许多“虚拟”的主机,每一台虚拟主机都具有独立的域名和IP地址。虚拟主机之间完全独立,在外界看来,每一台虚拟主机和一台独立的主机完全一样。

         Apache虚拟主机是基于域名的虚拟主机,即一个域名对应一个主机。

配置步骤:

1. 打开虚拟主机的配置项(即启用虚拟主机功能),在httpd.conf文件中

        Includeconf/extra/httpd-vhosts.conf,启用虚拟主机(即取消这条语句的注释)

2. 打开httpd-vhosts.conf文件,在conf文件夹下的extra文件夹中

        NameVirtualHostip:端口号(NameVirtualHost *:80)

                NameVirtualHost:基于域名的虚拟主机

                *:指服务器的所有IP地址

                80:端口号,要和apache的listen的端口号必须要保持一致

        虚拟主机的主配置段

        <VirtualHost*:80>  这里必须与NameVirtualHost的设置保持一致

                //设置,自定义的域名,不是对外的,只在本机使用,对外的域名需要注册备案

                ServerName www.abc.com

                //设置主机的路径,即网站的根目录

                DocumentRoot“d:/abc”

                //设置权限,与网站根目录保持一致

                <Directory“d:/abc”>

                          Options indexes   //设置服务器的特性,有两个常用值,indexes|none

                                    Indexes:如果网站的默认首页不存在,则将网站的文件以列表的方式显示出来

                                    None:如果网站的默认首页不存在,则网站拒绝访问

                          Order Deny,Allow  //访问的权限,deny(拒绝),allow(允许),都得写上,必须先允许后拒绝

                          Denyfrom ip意思是拒绝某ip访问

                          Allow同理

                </Directory>

                //设置网站的默认首页

                DirectoryIndexindex.php index.html

                       如果这条命令省略,则会采用httpd.conf中的配置

        </VirtualHost>

3. 对第2步中的设置的域名进行本机dns解析

        在hosts文件中添加一条解析

        本机ip  虚拟主机的域名

注意事项:

1.虚拟主机的权限高于httpd.conf中的权限

2.虚拟主机配置完成后,localhost将无法访问原来默认的网站目录,访问的将是第一个虚拟主机的网站

3.如果需要访问原来的localhost网站,那么需要为它单独配置一个虚拟主机,即serverName localhost

4.注意配置文件中的关键字,不能漏掉<VirtualHost *:80>中的空格

5.网站目录中不能含有中文

0 0
原创粉丝点击