Apache基于IP、基于port和基于域名的三种虚拟主机的配置方法
Apache基于IP、基于port和基于域名的三种虚拟主机的配置方法基于相同
IP
不同
Port
的虚拟主机
1
)
vi /etc/httpd/conf/httpd.conf
(建议使用
nano
或
gedit
等编辑器,下同)
2
)将
Listen
字段改为
Listen 80
Listen 8080
(以上设置表示使用
80
以及
8080
端口,好像
8888
端口有冲突)
3
)更改虚拟主机部分为:
<VirtualHost 192.168.0.1:80>
DocumentRoot /var/www/html/website1
</VirtualHost>
<VirtualHost 192.168.0.1:8080>
DocumentRoot /var/www/html/website2
</VirtualHost>
4
)保存以上设置
5
)创建目录以及页面文件:
#mkdir –p /var/www/html/website1
#mkdir –p /var/www/html/website2
#cd /var/www/html/website1
#cat >index.html <<EOF
>website1
>EOF
#cd /var/www/html/website2
#cat >index.html <<EOF
>website2
>EOF
(注:在
/etc/httpd/conf/httpd.conf
中有
DirectoryIndex index.html index.html.var
,表示只读
index.html
,而不读
index.htm
,切记)
6
)
service httpd restart
完成以上设置后,可以通过以下方式访问:
1
)打开浏览器
2
)输入
http://192.168.0.1:80
以及
http://192.168.0.1:8080
2
.基于相同
Port
不同
IP
的虚拟主机
1
)不同
IP
地址的配置:
#cd /etc/sysconfig/network-scripts
#cp ifcfg-eth0 ifcfg-eth0:1
#vi ifcfg-eth0:1
将
eth0:1
更改为:
DEVICE=eth0:1
ONBOOT=YES
BOOTPROTO=static
IPADDR=192.168.0.2
NETMASK=255.255.255.0
2
)
service network restart
3
)
vi /etc/httpd/conf/httpd.conf
4
)更改虚拟主机部分为:
<VirtualHost 192.168.0.1:80>
DocumentRoot /var/www/html/website1
</VirtualHost>
<VirtualHost 192.168.0.2:80>
DocumentRoot /var/www/html/website2
</VirtualHost>
5
)创建目录以及页面文件:
#mkdir –p /var/www/html/website1
#mkdir –p /var/www/html/website2
#cd /var/www/html/website1
#cat >index.html <<EOF
>website1
>EOF
#cd /var/www/html/website2
#cat >index.html <<EOF
>website2
>EOF
完成以上设置后,可以通过以下方式访问:
1
)打开浏览器
2
)输入
http://192.168.0.1:80
以及
http://192.168.0.2:80
3
.基于域名的虚拟主机的访问
1
)
vi /etc/http/conf/httpd.conf
2
)更改虚拟主机部分为:
NameVirtualHost 192.168.0.1
<VirtualHost www1.example.com>
DocumentRoot /var/www/html/website1
ServerName www1.example.com
</VirtualHost>
<VirtualHost www2.example.com>
DocumentRoot /var/www/html/website2
ServerName www2.example.com
</VirtualHost>
(注:以上设置中
NameVirtualHost
不可以省略)
3
)创建目录以及页面文件:
#mkdir –p /var/www/html/website1
#mkdir –p /var/www/html/website2
#cd /var/www/html/website1
#cat >index.html <<EOF
>website1
>EOF
#cd /var/www/html/website2
#cat >index.html <<EOF
>website2
>EOF
4
)完成以上设置后,可以通过以下方式访问:
1
)打开浏览器
2
)输入
http://www1.example.com
以及
http://www2.example.com
注意:如果虚拟主机的目录不在“
/var/www
”下面,则需要关闭
SELINUX
,方法如下:
把
/etc/selinux/config
中的
SELINUX=enforcing
改成
SELINUX=permissive
然后重启。
如果想立即生效,则执行:
# setenforce 0
命令就可以了。
这里是在一台配置了3个IP的虚拟机下的配置
Listen 80
Listen 81
#same IP ,diff port
<VirtualHost 192.168.174.130:80>
DocumentRoot /usr/local/apache/htdocs/test1
# ServerNametest1.localhost
</VirtualHost>
<VirtualHost 192.168.174.130:81>
DocumentRoot /usr/local/apache/htdocs/test2
# ServerName test2.localhost
</VirtualHost>
#same port ,diff IP
<VirtualHost 192.168.174.131:80>
DocumentRoot /usr/local/apache/htdocs/test1
</VirtualHost>
<VirtualHost 192.168.174.132:80>
DocumentRoot /usr/local/apache/htdocs/test2
</VirtualHost>
#more domain
NameVirtualHost 192.168.174.130:80
<VirtualHost www.test1.com>
DocumentRoot /usr/local/apache/htdocs/test1
ServerName www.test1.com
</VirtualHost>
<VirtualHost www.test2.com>
DocumentRoot /usr/local/apache/htdocs/test2
ServerName www.test2.com
</VirtualHost>
还要到/et/hosts中添加
192.168.174.130 www.test1.com
192.168.174.130 www.test2.com
本文转载自:http://hi.baidu.com/ghasky/blog/item/08d1b2ac785235024b36d68b.html
页:
[1]