Apache配置多站点
在服务器上面配置Apache多个网站
测试IP:192.168.1.2 (其他IP自己改)
网站根目录:/var/www/html/
网站根目录下(/var/www/html/)的三个网站文件夹名:web001/,web002/,web003/
测试主页:index.html 里面的内容自己写,最好内容不同,以测试可以看到
在本机测试,假设有三个域名,www.web01.com,www.web02.com,www.web03.com
在测试之后,我要改一下系统文件:vim /etc/hosts
原来是:
192.168.1.2 localhost
再加三行:
192.168.1.2 localhost
192.168.1.2 www.web01.com
192.168.1.2 www.web02.com
192.168.1.2 www.web03.com
上面这样,就可以让三个域名的IP指向到192.168.1.2,满足我们测试的要求。若测试完毕,删除上面三行即可。
下面开始配置多网站:
上面搞好后,那么就可以配置成下面的,记住NameVirtualHost 192.168.1.2:80 这个一定要有,否则,打开所有的域名,都是指向第一个,这个就是很多人出现的配置不成功的问题所在了。
NameVirtualHost 192.168.1.2:80
<VirtualHost 192.168.1.2:80>
DocumentRoot D:/webroot/web001
ServerName www.web01.com
DirectoryIndex index.html
</virtualHost>
<VirtualHost 192.168.1.2:80>
DocumentRoot D:/webroot/web002
ServerName www.web02.com
DirectoryIndex index.html
</virtualHost>
<VirtualHost 192.168.1.2:80>
DocumentRoot D:/webroot/web003
ServerName www.web03.com
DirectoryIndex index.html
</virtualHost>
重启APACHE后
/etc/init.d/httpd restart
就可以用上面的三个域名打开,就会显示不同的内容了,测试成功!
我们继续扩展上面的代码,以第一个为例:
NameVirtualHost 192.168.1.2:80
<VirtualHost 192.168.1.2:80>
ServerName www.web01.com
DocumentRoot D:/webroot/web001
DirectoryIndex index.html
<Directory "D:/webroot/web001">
Options Indexes FollowSymLinks
AllowOverride Options FileInfo
order allow,deny
Allow from all
</Directory>
</VirtualHost>
第一个,加入了可以看到根目录所有文件的代码,不过,最好大家不要加上,安全性的问题。
其实扩展的,是在配置文件前面代码基础下,有则覆盖,没则继承的原则来做的,和CSS一样。根据自己的需求来定吧。其他的,大家自己去发现吧。
NameVirtualHost *:85
<VirtualHost *:85>
DocumentRoot "E:/wwwroot/php/we"
ServerName exp1.xx.com
<Directory "E:/wwwroot/php/we">
Options FollowSymLinks IncludesNOEXEC Indexes
DirectoryIndex index.php
AllowOverride None
Order Deny,Allow
Allow from all
</Directory>
</Virtualhost>
<VirtualHost *:85>
DocumentRoot "E:/wwwroot/php/phpadmin/phpadmin"
ServerName exp2.xx.com
<Directory "E:/wwwroot/php/phpadmin/phpadmin">
Options FollowSymLinks IncludesNOEXEC Indexes
DirectoryIndex index.php
AllowOverride None
Order Deny,Allow
Allow from all
</Directory>
</Virtualhost>
全部都需要 特别是NameVirtualHost *:85 不加会造成网站打开 exp1.xx.com和 exp2.xx.com显示为站点都相同
<Directory e:/sp>
Order Deny,Allow
Allow from all
Options All
AllowOverride All
</Directory>
<VirtualHost 127.0.0.2:8080>
DocumentRoot "E:/sp"
ServerName www.c.com
DirectoryIndex index.html index.htm index.php default.php
</VirtualHost>
#Include conf/extra/httpd-vhosts.conf 前面的#去掉,再去编辑httpd-vhosts.conf。
httpd.conf 里面一般放置通用设置。
<VirtualHost *:80>
ServerAdmin xxxxxxxxxx
DocumentRoot "xxxxxxxxxxxxx"
<Directory "xxxxxxxxxx">
AddOutputFilterByType DEFLATE text/html text/htm text/shtml text/plain text/xml text/css text/javascript application/javascript application/x-javascript application/xml
</Directory>
ServerName www.test.com
</VirtualHost>
------------------------------------
apache 如何配置多站点详细
APACHE多站点配置方法
例如你的主机IP:192.168.1.8
而你有三个站点 www.379life.com www.hlwh.net www.duweng.com
相应的网站文件放在主机的:/website/111;D:/website/222;D:/website/333文件夹下
现在打开APACHE配置文件httpd.conf文件,设置不同的域名到不同的目录中:
NameVirtualHost 192.168.1.8
<VirtualHost 192.168.1.8>
DocumentRoot "D:/website/111"
ServerName www.379life.com
</Virtualhost>
<VirtualHost 192.168.1.8>
DocumentRoot "D:/website/222"
ServerName www.hlwh.net
</Virtualhost>
<VirtualHost 192.168.1.8>
DocumentRoot "D:/website/333"
ServerName www.duweng.com
</Virtualhost>
保存关闭文件,重启一下APACHE就可以了!
参考推荐:
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2014-03-20 10:15:31
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!
转载注明: Apache配置多站点 (米扑博客)