由于公司业务的需要,有个项目急需一个服务器,而且带宽必须要高,可伸缩性必须要好,所以购买了云机,[font='Microsoft Yahei', serif]Windows 2008 64
 位版本。
 
  
 我选择阿里云的几个原因有:
 
 [font='Microsoft Yahei', serif]1
 ,公司也有自己的服务器,托管在;联通机房里,带宽是共享[font='Microsoft Yahei', serif]100M
 ,访问速度不理想,而且从联通访问会比较快,别的网络访问会很慢;
 
 [font='Microsoft Yahei', serif]2
 ,租金昂贵,一年的租金就购买好几个阿里云的服务器,更别说算买服务器的钱了;
 
 [font='Microsoft Yahei', serif]3
 ,阿里云机器扩展很方便,公司那个服务器,加[font='Microsoft Yahei', serif]CPU
 ,加内存条,都很麻烦;
 
 [font='Microsoft Yahei', serif]4
 ,阿里云可以建快照,可以回滚,公司服务器曾经就崩溃好几次,每次崩溃都要跑去联通机房,而且还要带足了证明过去,路途遥远,很劳累;
 
 [font='Microsoft Yahei', serif]5
 ,阿里云备案非常快,在公司服务器上想备案,机器麻烦,有一个域名备案了两个月都没有备案下来。
 
 [font='Microsoft Yahei', serif]6
 ,阿里云有云监控,可以很好的监控服务器的情况,公司服务器每次都是宕机了,或者访问不了了,才会发现有问题;
 
  
  
  
 我看中了阿里云服务器可以提供直接可用的环境镜像,最着急的那个项目是个[font='Microsoft Yahei', serif]php
 的工程,我是[font='Microsoft Yahei', serif]java
 研发六年的程序员,没有配置过[font='Microsoft Yahei', serif]IIS+PHP
 的环境,所以果断选择了[font='Microsoft Yahei', serif]
 
ASP/.NET 
 运行环境(Windows2008 64位 IIS7.0)
 环境[font='Microsoft Yahei', serif];
 
 
 [font='Microsoft Yahei', serif]
 
 选择[font='Microsoft Yahei', serif]Windwos
 是因为项目太着急了,又是[font='Microsoft Yahei', serif]php
 项目,怕选择[font='Microsoft Yahei', serif]Linux
 有些环节会不方便;本人是非常喜欢[font='Microsoft Yahei', serif]linux
 的;
 
 我有自己掏腰包买了主机宝[font='Microsoft Yahei', serif]Windws
 版本,主机宝有很好用的功能,自动配置[font='Microsoft Yahei', serif]IIS+PHP
 环境,所以选用了主机宝;(有人可能会问,为什么不直接买带主机宝的镜像还要自己花[font='Microsoft Yahei', serif]30
 元买呢?[font='Microsoft Yahei', serif] 
 是因为带主机宝的镜像安装以后,主机宝是安装在[font='Microsoft Yahei', serif]C
 盘里的,也就是说以后你的所有站点,[font='Microsoft Yahei', serif]ASP
 跟[font='Microsoft Yahei', serif]PHP
 的站点,都会在[font='Microsoft Yahei', serif]C
 盘底下,不能迁移,由于阿里云的系统盘不能升级,所以后期随着项目的增大,不能迁移,会很麻烦,所以自己安装了主机宝)
 
  
  
 阿里云服务器购买之后我又去买了主机宝,根据主机宝视频[font='Microsoft Yahei', serif] 
 安装配置了[font='Microsoft Yahei', serif]PHP
 环境,所有数据库与网站的目录都指向了[font='Microsoft Yahei', serif]D
 盘(数据盘),这回安心了很多,项目部署上线,[font='Microsoft Yahei', serif]5M
 的带宽访问速度很让人满意;
 
  
 但是公司是做[font='Microsoft Yahei', serif]java
 方面的研发的,所以服务器不只要支持[font='Microsoft Yahei', serif]IIS+PHP
 ,还需要支持[font='Microsoft Yahei', serif]IIS+tomcat
 的环境,因为公司考虑废弃托管的那个服务器,要把所有的应用都转移到阿里云服务器上;
 
 我就开始配置了[font='Microsoft Yahei', serif]IIS+tomcat
 的通过域名可以访问不同的[font='Microsoft Yahei', serif]tomcat
 的工作,网上资料很多,但是自己配置着实费了一把劲,我准备跟大家分享一下我的配置过程;
 
  
 1,在D盘跟目录建个tomcat_server目录,结构如下:
 
  
  
 其中tomcat1的server.xml为
 
  
 <?xml version='1.0' encoding='utf-8'?>
 <Server port="8005" shutdown="SHUTDOWN">
   <ListenerclassName="org.apache.catalina.core.AprLifecycleListener"SSLEngine="on" />
   <ListenerclassName="org.apache.catalina.core.JasperListener" />
   <ListenerclassName="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
   <ListenerclassName="org.apache.catalina.mbeans.ServerLifecycleListener" />
   <ListenerclassName="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
   <GlobalNamingResources>
     <Resource name="UserDatabase"auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
   </GlobalNamingResources>
   <Service name="Catalina">
     <Connector port="8080"protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
     <Connector port="8009"protocol="AJP/1.3" redirectPort="8443" />
  <Engine name="Catalina"defaultHost="localhost">
       <RealmclassName="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>
       <Host name="localhost"appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
       </Host>
     </Engine>
   </Service>
 </Server>
  
 其中tomcat2的server.xml为
 
 <?xml version='1.0' encoding='utf-8'?>
 <Server port="8006" shutdown="SHUTDOWN">
   <ListenerclassName="org.apache.catalina.core.AprLifecycleListener"SSLEngine="on" />
   <ListenerclassName="org.apache.catalina.core.JasperListener" />
   <ListenerclassName="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
   <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
   <ListenerclassName="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
   <GlobalNamingResources>
     <Resource name="UserDatabase"auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
   </GlobalNamingResources>
   <Service name="Catalina">
     <Connector port="8081"protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
     <Connector port="8010"protocol="AJP/1.3" redirectPort="8443" />
     <Engine name="Catalina"defaultHost="localhost">
       <RealmclassName="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>
       <Host name="localhost"appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
       </Host>
     </Engine>
   </Service>
 </Server>
  
 2,tomcat_server
 [font="]目下建立workers.properties文件,内容如下:
 
  
 worker.list=tomcat1,tomcat2
 worker.tomcat1.port=8009
 worker.tomcat1.host=localhost
 worker.tomcat1.type=ajp13
 worker.tomcat1.lbfactor=1
 worker.tomcat2.port=8010
 worker.tomcat2.host=localhost
 worker.tomcat2.type=ajp13
 worker.tomcat2.lbfactor=1
  
 3,tomcat_server
 [font="]目下建立uriworkermap.properties文件,内容如下:
 
  
 # 
 当前域名下的所有请求都转发给ajp13w工作站处理 
 /www.test.com.cn/*=tomcat1
 /weixin.test.com.cn/*=tomcat2
  
 4,tomcat_server
 目下建立tomcat_IIS.reg文件,然后双击运行,内容如下(注意:我这里是64位的操作系统,要是32位去掉Wow6432Node路径):
 
  
  
 Windows Registry Editor Version 5.00
 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache SoftwareFoundation\Jakarta Isapi Redirector\1.0]
 "extension_uri"="/jakarta/isapi_redirect-1.2.27.dll"
 "log_file"="E://tomcat_server//isapi.log"
 "log_level"="debug"
 "worker_file"="E://tomcat_server//workers.properties"
 "worker_mount_file"="E://tomcat_server//uriworkermap.properties"
 
5
 ,在IIS管理器中的“ISAPI和CGI限制”里面右键添加isapi_redirect.dll,并设定“允许执行扩展路径”,描述名可取jakarta(isapi_redirect.dll文件可以去网上下载)
 
 
 
 6
 ,在Default Web Site上右键添加虚拟目录,别名可取jakarta,路径指向tomcat_server目录,即isapi_redirect.dll所在目录。
 
 
 [font="]
 
 
7
 接着单击Default Web Site,选择ISAPI筛选器,并右键添加筛选器,名称可取jakarta,可执行文件选择isapi_redirect.dll。
 
 
 
 
 
 8
 ,然后点击jakarta虚拟目录,双击“处理程序映射”选择“编辑功能权限...”将所有权限选上 
 
  
 
  
 
  
  
 9,
 然后重启IIS,启动tomcat  
 
  
  
 **
 由于在uriworkermap.properties文件里配置了/www.test.com.cn/*=tomcat1,所以直接访问resinfo.com.cn的请求不会被tomcat获取,需要301重定向
下载rewrite_x64_zh-CN.msi ,是微软提供的URL重写组件(我用了rewrite_x64_zh-CN.msi,可以自己去网上下载),安装成功后在IIS中会出现  
 
  
 
 
  
  
 然后编辑Default Web Site的web.config文件
 
  
 添加如下代码
 
 [font="]<?xml version="1.0"encoding="UTF-8"?>
 
 [font="]<configuration>
 
 [font="]<system.webServer>
 
 [font="] <rewrite>
 
 [font="]  <rules>
 
 [font="]    <rule name="Resinfo
 [font="]域名 301重定向"patternSyntax="Wildcard" stopProcessing="true">
 
 [font="]    <match url="*" />
 
 [font="]    <conditions>
 
 [font="]    <addinput="{HTTP_HOST}" pattern="test.com.cn" />
 
 [font="]    </conditions>
 
 [font="]    <actiontype="Redirect" url="http://www.test.com.cn/{R:0}" />
 
 [font="]    </rule>
 
 [font="]  </rules>
 
 [font="] </rewrite>
 
 [font="]</system.webServer>
 
 [font="]</configuration>
 
  
 [font="]其实上述内容完全在URL重写模块填写,我由于不太熟悉怎么配置,直接手写了.
 
  
  
 
  
 
  
  
  
 
 最终解决了IIS+tomcat通过域名转发的配置,而且还配置了301重定向,这个对很多人来说可能是小事一桩,但是我饶了几个弯路,所以分享一下;