在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录。Apache虚拟主机配置有3中方法:基于IP配置、基于域名配置和基于端口配置,这里介绍基于域名配置和基于端口配置,基于IP配置方法类似
1、Apache基于域名配置虚拟主机:
安装软件包
配置dns服务
打开Apache安装目录下的配置文件/etc/httpd/conf/extra/vhost.conf,添加如下配置信息:
<VirtualHost *:80> //端口:80
DocumentRoot “/var/ww/html/accp/” //路径
ServerName www.accp.com //域名
ErrorLog "logs/www.accp.com.error.log” //错误日志
CustomLog "logs/ww.accp.com.access_log” comman //日常日志
<Directory “/var/www/html/”>
Require all granted //允许所有请求访问
<VirtualHost *:80>
DocumentRoot “/var/www/html/kgc/”
ServerName www. kgc. com
ErrorLog "logs/www. kgc . com. error_ log”
CustomLog "logs/ww. kgc. com. access_ log” comman
<Directory “/var/www/html/”>
Require all granted
I /Directory>
这里配置了两个虚拟主机,其中第一个是默认虚拟主机,找不到虚拟主机的域名访问也由这个虚拟主机来提供服务。这两个主机使用的都是80端口,第一个虚拟主机指定域名为“www.kgc.com”,,第二个虚拟你主机指定域名为“www.accp.com”
进入apache主配置文件/etc/httpd/conf/httpd.conf,添加配置文件
Include conf/extra/vhost.conf
启动服务后,用其他主机访问域名即可!
2、Apache基于端口配置虚拟主机:
首先在Apache配置文件conf/httpd.conf中修改配置让Apache服务器监听多个端口:
Listen 8080
Listen 80
这里监听两个端口,配置两个虚拟主机。
然后在配置文件/etc/httpd/conf/extra/vhost.conf,添加如下配置信息:
在Apache主配置文件/etc/httpd/conf/httpd.conf中包含这个配置文件:
最后重启Apache服务器,就可以通过同一个IP地址的不同端口来访问同一个服务器上的两个不同目录了
注意:Web服务器默认使用的是80端口,所以访问80端口的站点时可以不用加上“:80”,但是访问其他端口时必须带上端口号
3、Apache基于IP地址配置虚拟主机:
需求:虚拟机配置两个网卡
首先在Apache配置文件conf/httpd.conf中修改配置让Apache服务器监听多ip地址:
然后在配置文件/etc/httpd/conf/extra/vhost.conf,添加如下配置信息:
在Apache主配置文件/etc/httpd/conf/httpd.conf中包含这个配置文件: