当前位置: 代码迷 >> 应用服务器 >> 请问怎么在一台服务器下部署多个网站多个域名
  详细解决方案

请问怎么在一台服务器下部署多个网站多个域名

热度:3399   发布时间:2013-02-26 00:00:00.0
请教如何在一台服务器上部署多个网站多个域名
现有一台服务器 IP为:211.152.0.100
部署了三个网站,域名分别是:
  map.csdn.com 80端口
  wap.csdn.com 8080端口
  cat.csdn.com 8088端口
之前已经有map.csdn.com这个域名,现在要在上面部署另外两个域名,但是系统管理员告诉我居然 一台服务器只能有一个域名,其他的只能这样访问;
  map.csdn.com:8080/wap
  map.csdn.com:8088/cat

我觉得不可能,但是系统管理员不会弄,
我希望 都通过域名wap.csdn.com 、cat.csdn.com 访问各自的网站。

请各位坛友,支招

------解决方案--------------------------------------------------------
嘿嘿,你看看,你看看,我就知道,这玩艺有用。
<?php
$domain_net="abc.com";
$dot_net_url="目录1/";
$dot_com_url="目录2/";
if(($HTTP_HOST=="$domain_net")or($HTTP_HOST=="www.$domain_net"))
{
Header("Location: $dot_net_url");
}
else
{
Header("Location: $dot_com_url");
}
?>
<?php
switch ($_SERVER["HTTP_HOST"]) { 
case "ychon.org":
header("location:bbs");
break;
default:
header("location:news");
break;
}
?>
楼上几个说不行,的,给我喊一个,这个东西是干嘛的?
就是楼主要的PHP下单一端口指向多站点的代码。
另外,补充一下,如果楼主能在apache主机配置文件里改多端口,还是更直接的。80,81,82这样。
另外,这是PHP代码。
java脚本,也可以实现楼主需求,供参考。
Java Script : 

<script>try { if( self.location == "http://玉米一/" ) {
top.location.href = "http://玉米一/目录";
}
else if( self.location == "http://玉米二/" ) {
top.location.href = "http://玉米二/目录";
}
else if( self.location == "http://玉米三/" ) {
top.location.href = "http://玉米三/目录";
}
else if( self.location == "http://玉米四/" ) {
top.location.href = "http://玉米四/目录";
}
else { document.write ("错误的访问地址") } } catch(e) { }</script> 


-------------------------------------

<script language="javascript">
switch (window.location.hostname) {
case "test" ://确定玉米为TEST
window.location.pathname="1"//跳转到1目录
break;
case "127.0.0.1" ://确定玉米为127.0.0.1
window.location.pathname="2"//跳转到2目录
break;
//依次类推写下去
default ://如果没有找到该玉米
window.location.pathname="3"//跳转到3目录
}
</script>
------解决方案--------------------------------------------------------
本站也有很老实的用VHOST文件解决的不用端口分的。
APACHE有LINUX版的。
Apache下服务器虚拟主机设置方法介绍
一、WWW服务器虚拟主机原理
WWW服务器虚拟主机是指使用一台物理机器,充当多个主机名的WWW服务器。比如由一台机器同时提供http://www.company1.com, http://www.company2.com 等的WWW服务,而浏览这些WWW站点的用户感觉不到这种方式下跟由不同的机器提供不同的服务有什么差别。
使用WWW虚拟主机的好处在于,一些小规模的网站,通过跟其他网站共享同一台物理机器,可以减少系统的运行成本,并且可以减少管理的难度。另外,对于个人用户,也可以使用这种虚拟主机方式来建立有自己独立域名的WWW服务器,目前国内有很多公司都提供这种免费的服务。
WWW虚拟主机有两种工作方式:
1.1 基于IP地址的虚拟主机方式
这种方式下,不同的主机名解析到不同的IP地址,提供虚拟主机服务的机器上同时设置有这些IP地址。服务器根据用户请求的目的IP地址来判定用户请求的是哪个虚拟主机的服务,从而进一步的处理。
缺点:基于IP地址的虚拟主机方式需要在提供虚拟主机服务的机器上设立多个IP地址,既浪费了IP地址,又限制了一台机器所能容纳的虚拟主机数目。因此这种方式越来越少使用。但是,这种方式是早期使用的HTTP 1.0协议唯一支持的虚拟主机方式。
1.2 基于主机名的虚拟主机方式
由于基于IP地址的虚拟主机方式有如上的缺点,HTTP 1.1协议中增加了对基于主机名的虚拟主机的支持。具体说,当客户程序向WWW服务器发出请求时,客户想要访问的主机名也通过请求头中的“Host:”语句传递给WWW服务器。比如,www.company1.com, www.company2.com 都对应于同一个IP地址(即由同一台机器来给这两个虚拟域名提供服务),客户程序要存取http://www.company1.com/index时,发出的请求头中包含有如下的内容:
GET /index HTTP/1.1
Host: www.company1.com
…..
WWW服务器程序接收到这个请求后,可以通过检查“Host:”语句,来判定客户程序请求是哪个虚拟主机的服务,然后再进一步的处理。
优点:提供虚拟主机服务的机器上只要设置一个IP地址,理论上就可以给无数多个虚拟域名提供服务,占用资源少,管理方便。目前基本上都是使用这种方式来提供虚拟主机服务。
缺点:在早期的HTTP 1.0版本下不能使用。实际上现在使用的浏览器基本上都支持基于主机名的虚拟主机方式。
二、Apache服务器下的虚拟主机设置技术
2.1 Apache WWW服务器简介
Apache WWW服务器是目前Internet上使用最广的WWW服务器软件。通过灵活的配置,它可以完成几乎您想得到的功能。本文主要介绍在Apache 下设置各种虚拟主机的方法。
2.2 Apache WWW服务器下基于IP地址的虚拟主机设置
使用这种虚拟主机方式,首先要在服务器上为每个虚拟主机单独设置一个IP地址。这些IP地址可以通过增加多个网卡或者在一个网卡上设立多个IP地址来完成。有了多个IP地址后,可以采用以下两种方式之一来设置Apache:
2.2.1 为每个虚拟主机运行一份Apache
采用这种方式,每一份Apache程序可以以单独的用户运行,因此各个虚拟主机之间互不影响。设置这种虚拟主机时,只要为每一份Apache设置一套配置文件就可以了,唯一需要注意的是:必须使用“Listen”语句,强制每一份Apache 仅仅在属于“自己”的IP地址上接收服务请求。
  相关解决方案