Apache虚拟主机配置
虚拟主机介绍:如果需要在一个web服务器上面跑多个web站点就需要定义虚拟主机。通过虚拟主机web服务器可以充分利用服务器硬件资源,降低网站运行成本。
虚拟主机有以下三种类型:
基于IP:一个站点使用一个IP地址
基于端口:多个站点使用一个Ip地址,但是访问端口不同
基于域名:多个站点使用一个Ip地址,但是域名不同
注意:中心主机和虚拟主机无法一起使用,如果使用虚拟主机就必须取消中心主机。
取消中心主机:注释中心主机的DocumentRoot即可。
虚拟主机的定义:
<VirtualHostHost>
</VirtualHost>
基于IP:HOST的写法
IP1:80
IP2:80
基于端口:
IP:80
IP:8080
基于域名:
IP:80
ServerName不同
IP地址虚拟主机设置:
建立虚拟主机配置文件
1
2
3
4
5
6
7
8
# vim/etc/httpd/conf.d/virtual.conf
<VirtualHost 192.168.0.108:80>
DocumentRoot "/www/baidu.com/"
</VirtualHost>
<VirtualHost 192.168.0.106:80>
DocumentRoot "/www/sina.com/"
</VirtualHost>
建立网站目录
1
2
3
4
5
6
7
# mkdir –p /www/baidu.com
# vim/www/baidu.com/index.html
<h1>baidu.com</h1>
# mkdir -p /www/sina.com
# vim /www/sina.com/index.html
<h1>sina.com</h1>
在现有地址基础上面在添加一个地址
1
2
# ip addr add192.168.0.106/24 dev eth0
# ip addr show
设置基于端口的虚拟主机:
设置之前需要更改主配置文件,使其监听端口
1
2
3
# vim/etc/httpd/conf/httpd.conf
Listen 80
Listen 8080
编辑虚拟主机配置文件配置文件
1
2
3
4
5
6
7
<VirtualHost 192.168.0.108:80>
DocumentRoot "/www/baidu.com/"
</VirtualHost>
<VirtualHost 192.168.0.108:8080>
DocumentRoot "/www/sina.com/"
</VirtualHost>
设置基于域名的虚拟主机
1
2
3
4
5
6
7
8
9
10
NameVirtualHost 192.168.0.108
<VirtualHost 192.168.0.108>
DocumentRoot "/www/baidu.com/"
ServerName www.baidu.com
</VirtualHost>
<VirtualHost 192.168.0.108>
DocumentRoot "/www/sina.com/"
ServerName www.sina.com
</VirtualHost>
记录日志的虚拟主机
1
2
3
4
5
6
7
8
9
10
11
12
13
14
NameVirtualHost 192.168.0.108
<VirtualHost 192.168.0.108>
DocumentRoot "/www/baidu.com/"
ServerName www.baidu.com
CustomLog /var/log/httpd/baidu.com/access_log combined
ErrorLog /var/log/httpd/baidu.com/error_log
</VirtualHost>
<VirtualHost 192.168.0.108>
DocumentRoot "/www/sina.com/"
ServerName www.sina.com
CustomLog /var/log/httpd/sina.com/access_log combined
ErrorLog /var/log/httpd/sina.com/error_log
</VirtualHost>
设置日志的存放目录
1
2
# cd /var/log/httpd/
# mkdir baidu.com sina.com
基于域名的虚拟主机加身份验证:
1
2
3
4
5
6
7
8
9
10
11
12
13
<VirtualHost 192.168.0.108>
DocumentRoot "/www/sina.com/"
ServerName www.sina.com
CustomLog /var/log/httpd/sina.com/access_log combined
ErrorLog /var/log/httpd/sina.com/error_log
<Directory "www/sina.com">
AllowOverride authconfig
AuthType basic
AuthName "Restrict area"
AuthUserFile "/etc/httpd/.htpasswd"
Require valid-user
</Directory>
</VirtualHost>
创建认证文件
1
2
# htpasswd -c -m/etc/httpd/.htpasswd zhangsan
# htpasswd -m/etc/httpd/.htpasswd lisi
页:
[1]