4terre 发表于 2014-10-23 09:35:02

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]
查看完整版本: Apache虚拟主机配置