在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录。Apache虚拟主机配置有3种方法:基于IP配置、基于域名配置和基于端口配置,这里介绍基于域名配置
1)编辑httpd.conf配置文件,开启 Virtual hosts
[root@localhost ~]# vim /usr/local/apache/conf/httpd.conf
- #Include conf/extra/httpd-vhosts.conf 注释掉#即可
2)编辑httpd-vhosts.conf 虚拟主机配置文件
[root@localhost ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
#内容如下:
3)创建发布目录
[root@localhost ~]# mkdir /usr/local/apache/conf/{abc.com,bcd.com}
4)重启apache服务
[root@localhost ~]# /usr/local/apache/bin/apachectl restart
[root@localhost ~]# netstat -lntup
5)创建测试文件
[root@localhost ~]# echo 'this is www.abc.com' > /index.html
[root@localhost ~]# echo 'this is www.bcd.com' > /index.html
6)添加本地hosts解析
#编辑C:\Windows\System32\drivers\etc\hosts
7)访问
#浏览器访问www.abc.com,出现以下页面
访问www.bcd.com,出现以下页面
8)参数详解:
1) 使用<Directory>… </Directory>设置指定目录的访问权限,其中可包含:
Options
AllowOverride
Order
Allow
Deny
如上五个属性,在后面可以跟如下参数设置:
2) AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。指令设置为 All 时,所有具有 ".htaccess" 作用域将生效.
3) Options -Indexes FollowSymLinks禁止显示目录,如果要以目录显示需要改成Options Indexes FollowSymLinks
4) Order allow,deny ,默认情况下禁止所有客户机访问;Order deny,allow 默认情况下允许所有客户机访问。
5) Allow from all允许所有客户机访问。
6) NameVirtualHost指令,指定一个基于域名的虚拟主机将使用哪个IP地址来接受请求。