|
|
假设我们的Linux服务器有2个IP,分别是17.16.0.3,172.16.0.5,就能够用这2个IP地址提供好几百个网站的服务,当然服务器器的性能要求是要很高了。我们这里看看如何实现。
apache支持虚拟主机技术,也就是把一台实际的服务器应将当作多台web服务器使用。apache的虚拟主机基于两种技术:基于Ip的和基于名称的(实际中常是域名的)。其实,不论是那种,都可以通过端口号在同IP或同域名上建立不同的站点。下面,我们首先假设需求,然后给出实现过程。
实现要求:建立如下的几个站点
公司内部:
http://172.16.0.3:8080(人事部) --文件在/var/www/rsb
http://172.16.0.3:8088(宣传部) --文件在/var/www/xcb
公司网站
http://www.xxx.com ---172.16.0.3上 --文件在/var/www/www
虚拟主机服务:
http://www.c1.com ---172.16.0.5上 --文件在/www/c1
http://www.c2.com ---172.16.0.5上 --文件在/www/c1
http://www.c3.com ---172.16.0.5上 --文件在/www/c1
http://www.c4.com ---172.16.0.5上 --文件在/www/c1
实现过程:
1)DNS注册,请参考本论坛DNS服务器的相关精华贴
2)修改文件的权限
#chmod 755 -R /var/www/rsb
............其他类似
3)修改httpd.conf文件
#vi /etc/httpd/conf/httpd.conf
进行如下修改
a)找到Listen 0.0.0.0 80,在其后添加 --添加监听端口,所有用到的必须全部添加
Listen 0.0.0.0 8080
Listen 0.0.0.0 8088
b)找到DirectoryIndex并添加
index.html index.htm default.htm default.html index.cgi index.php default.cgi default.php
c)在最后添加
<VirtualHost 172.16.0.3:8080>
DocumentRoot /var/www/rsb
ServerName www.xxx.com
</VirtualHost>
<VirtualHost 172.16.0.3:8088>
DocumentRoot /var/www/xcb
ServerName www.xxx.com
</VirtualHost>
<VirtualHost 172.16.0.3>
DocumentRoot /var/www/www
ServerName www.xxx.com
</VirtualHost>
NameVirtualHost 17.16.0.5:80 ----所有基于名称的虚拟主机IP都要首先这样说明,且只说明一次即可
<VirtualHost 172.16.0.5>
DocumentRoot /www/c1
ServerName www.c1.com
</VirtualHost>
......................其他几个类似
让网站支持CGI的方法是:
在<VirtualHost>中添加CGI支持
ScriptAlias /cgi-bin/ 网站根/cgi-bin/
并将CGI文件复制在上目录下,
修改权限: chmod -R 555 网站根/cgi-bin/* |
|