论坛首页 Java企业应用论坛

Tomcat下配置多服务以适应不同项目(修改版)

浏览 9426 次
该帖已经被评为新手帖
作者 正文
   发表时间:2010-07-19   最后修改:2010-08-23
    最近为公司的一个产品开发了个回访平台,部署的时候遇到了点小问题,由于我做的这个项目是部署在webapps的ROOT根目录下的。由于有一个项目已经占据了根目录的位置,所以得想办法解决。想到Tomcat下可以配置多个不同的服务以适应不同项目的需要,所以配置了一下,解决了这个问题。现在分享一下,大家互相探讨。
     要配置多服务,就要更改server.xml文件,要在这个文件的</Service>下面加上如下内容
 <Service name="MyCatalina">

    <Connector port="8081" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />

    <Connector port="8010" enableLookups="false" redirectPort="8444" protocol="AJP/1.3" />
    
    <Engine name="MyCatalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      
      <Host name="localhost" appBase="e:\portalcrm"
      unpackWARs="true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">
      </Host>

    </Engine>

  </Service>

这个服务就配置好了,把端口号换了就可以了。接下来要在conf文件夹下建立MyCatalina文件夹,里面保持跟Catalina一样的内容就可以。
然后在你E盘的portalcrm文件夹下建立ROOT目录,将你的项目文件拷贝进去就可以了。

在浏览器上访问http://xxx.xxx.xx.xx:8081/xxx/xxx/xxx.do
ok,发现页面了吧,指向成功。

感谢1L和2L的两位朋友。虽然我服务器上没有做域名解析,不过这样的方法显然更好。
到C:\WINDOWS\system32\drivers\etc\目录下,找到host文件,打开,稍作修改内容如下
# copyright (c) 1993-1999 microsoft corp.
#
# this is a sample hosts file used by microsoft tcp/ip for windows.
#
# this file contains the mappings of ip addresses to host names. each
# entry should be kept on an individual line. the ip address should
# be placed in the first column followed by the corresponding host name.
# the ip address and the host name should be separated by at least one
# space.
#
# additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# for example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host
127.0.0.1       localhost
192.168.1.88 www.portalcrm.com

最后一行是我做的指向,不过目前域名还没有解析,只是我本机的内网IP。
然后修改下server.xml文件,在</Engine>前添加如下内容
 <Host name="kefu.58.com.cn" appBase="/opt/portalcrm/ROOT" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
			<Context docBase="/opt/portalcrm/ROOT" path="/" reloadable="true" ></Context>
		</Host>


这样就成功了,我只要访问
http://www.portalcrm.com:8080/xxx/xxx/xx.do就ok了。
欢迎大家继续拍砖,交流学习。
   发表时间:2010-07-20  
用tomcat的虚拟主机配置啊,不用换端口,如果有域名的话
0 请登录后投票
   发表时间:2010-07-20  
linzy410 写道
用tomcat的虚拟主机配置啊,不用换端口,如果有域名的话

同上!!
0 请登录后投票
   发表时间:2010-07-20  
gogole_09 写道
linzy410 写道
用tomcat的虚拟主机配置啊,不用换端口,如果有域名的话

同上!!

绑定多域名,这个试过了。可惜没有域名,
0 请登录后投票
   发表时间:2010-07-21  
还不如再开一个tomcat实例。
0 请登录后投票
   发表时间:2010-07-21  
没明白 楼主 多服务以适应不同项目 好处在哪里?
0 请登录后投票
   发表时间:2010-07-21  
yzsunlight 写道
没明白 楼主 多服务以适应不同项目 好处在哪里?

简单的个现实例子,你的项目在你的主机上是部署在ROOT根目录下的,当你要部署在服务器上时候,你服务器上的Tomcat的ROOT下已经有现成正在跑的项目。你有不错的解决方案吗,可以说出来分享。
0 请登录后投票
   发表时间:2010-07-21  
可以试试前置一个Apache。
0 请登录后投票
   发表时间:2010-07-21  
tomcat 可以支持多个项目一期使用同一个端口跑的啊!为什么一定要放在root下,直接把两个项目都放在 webapps 下就可以了!
0 请登录后投票
   发表时间:2010-07-21  
一个tomcat死掉,2个项目over。。。 有什么理由不用两个tomcat?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics