{channel.title!channel.name} - 楚淮公司周东林

多个jeecms部署到同一个TOMCAT下

之前想将多个jeecms项目部署到同一个Tomcat下,如果用项目名分开放在 webapps下启动成功。放在不同的目录下一直尝试失败。


1.需求描述

哪里的项目就不说了吧,因为资源紧张项目多想在一个 Tomcat 下面部署多个 JEECMS 项目,因为都是县区项目访问量都不大。各县区都建设机房买服务器太消耗资源,也没有实力维护。所以就想到把所有县区的项目都放到一台服务器,托管给专业维护人员,这样节省人力物力。

如果使用织梦、帝国之类的 PHP 语言写的 CMS 这些问题都不是问题, 伟大的 LNMP 一台服务器放几十个站都不是问题。但是公司搞 JAVA 的多,技术总监选择了 JEECMS 我也很绝望呀

2.配置TOMCAT

给出主要配置配置

    <Service name="kaili">
    <Connector port="800" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8"/>
    <Connector port="800" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="kaili" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>
      <Host name="localhost"  appBase="kaili"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      </Host>
    </Engine>
  </Service>
<Service name="sansui">
    <Connector port="803" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8"/>
    <Connector port="803" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="sansui" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>
      <Host name="localhost"  appBase="sansui"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      </Host>
    </Engine>
  </Service>

详细操作可参照本站Tomcat下多应用部署这篇文章

3.JEECMS修改及注意事项

主要注意两点第一点要修改项目中 WEB-INF 目录下的 web.xml 当中的 <display-name>JeeCms</display-name> 的值,两个项目设置要不一样。第二点把项目下 WEB-INF\lib 目录中的 JAR 包移动到 TOMCAT 的 lib 目录下的时候 logback-classic-0.9.27.jar 和 logback-core-0.9.27.jar 这两个 JAR 包不能移,不然会出现页面显示异常。

按照这种方法配置,我只使用了,文章发布和删除功能,其他功能还没有做详细测试,不知道有没有后遗症。我只是根据 Tomcat 报错信息这样调整的,毕竟我对 JEECMS 使用的框架技术不熟悉,我还不算是一个程序员,只能算是小学生。


浏览.发表于:2017-06-17 01:46:05