文档章节

单Tomcat多Service配置

Soi
 Soi
发布于 2015/10/18 17:57
字数 577
阅读 93
收藏 2

      记得以前搭建项目时,遇到了多项目时,并不懂得怎么去分离开项目,一开始的做法,在一个Tomcat上使用项目名称区别的方法搭建项目。今天试了用多Service方式,记录下步骤,以备忘。

soi@soi:/opt/apache/tomcat/8.0.27$sudo cp conf/server.xml conf/server.xml.bk
soi@soi:/opt/apache/tomcat/8.0.27$sudo vi conf/server.xml

<?xml version='1.0' encoding='utf-8'?>

<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <!-- Security listener. Documentation at /docs/config/listeners.html
  <Listener className="org.apache.catalina.security.SecurityListener" />
  -->
  <!--APR library loader. Documentation at /docs/apr.html -->
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <!-- Prevent memory leaks due to use of particular java/javax APIs-->
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <!-- Global JNDI resources
       Documentation at /docs/jndi-resources-howto.html
  -->
  <GlobalNamingResources>
    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users
    -->
    <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>
   <!--
    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
        maxThreads="150" minSpareThreads="4"/>
    -->
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <!--
    <Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    -->

    <!--
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
    -->

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />


    <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
    -->
    <Engine name="Catalina" defaultHost="localhost">

      <!--
      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
      -->

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
             <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
    </Engine>
  </Service>
  <!--开始第二个Service配置-->
<Service name="bbs">

    <Connector port="8090" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="bbs" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase=""
            unpackWARs="true" autoDeploy="true">
            <!-- 
                debug=“0”指定debug的等级
                docBase指定项目路径
                path指定项目的访问路径,空表示根路径
                reloadable="true"表示支持部署
             -->
        <Context debug="0" docBase="/srv/www/bbs" path="" privileged="true" reloadable="true"/>

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="bbs_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
    </Engine>
  </Service>
</Server>

    修改完毕,只需要把项目部署到/srv/www/bbs即可,bbs项目内容如下:

   

soi@soi:/srv/www/bbs$ ll
drwxrwxr-x 6 root root 4096 10月 17 21:28 ./
drwxr-xr-x 3 root root 4096 10月 17 21:54 ../
-rw-rw-r-- 1 root root 4286 10月 15 20:32 favicon.ico
drwxrwxr-x 5 root root 4096 10月 17 21:28 ftl/
drwxrwxr-x 2 root root 4096 10月 17 21:28 META-INF/
drwxrwxr-x 8 root root 4096 10月 17 21:28 static/
drwxrwxr-x 4 root root 4096 10月 17 21:28 WEB-INF/

   

© 著作权归作者所有

共有 人打赏支持
Soi

Soi

粉丝 16
博文 11
码字总数 4845
作品 0
合川
tomcat实现多端口、多域名访问

tomcat可以实现:多个端口访问同一个web应用、不同的应用通过不同的域名进行访问。 本文介绍的都是只启动一个tomcat服务的情况下,当然,实现这些功能也可以通过启动多个tomcat服务实现。 百...

尉迟逍遥
2015/10/10
1K
0
SVN jsvnadmin 安装与基本使用

1. jsvnadmin 介绍 https://code.google.com/p/jsvnadmin/ Svn Admin是一个Java开发的管理Svn服务器的项目用户的web应用。安装好Svn服务器端好,把Svn Admin部署好,就可以通过web浏览器管理...

唐僧他大叔
2017/11/07
0
0
Apache+Tomcat多节点负载均衡集群搭建

前段时间写了一篇关于apache+tomcat单节点多实例的安装部署方法,最近公司做项目又要求做多节点单实例的安装方法,由于配置容易出错,所以写博客记录一下方法,其实也没什么可配置的,就是把...

freshman411
2014/05/13
0
0
关于spring的单例和非单例方面的困惑,javaweb方面的大神请戳入!

我做了一个测试,在我原有的SSH项目中为Service何dao层的方法写一个构造器,里面打印一句话,测试结果表名service和dao层在启动tomcat时就被实例化,也就是说以后不管多少次访问,多少个线程...

上帝爱众生
2015/05/29
1K
1
Tomcat多实例部署及其原理

(一) 什么是tomcat多实例部署? tomcat多实例部署指的是只需要安装一个tomcat服务器软件同时可部署多个应用实例的场景,这样做的好处是: 不需要到处拷贝tomcat软件,减少磁盘空间占用; 当需...

jcc_codingBoy
2016/04/11
505
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。 下载 下载地址 https://dev....

waylau
35分钟前
0
0
微信第三方平台 access_token is invalid or not latest

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事. 现在记录一下解决问题的过程,方便后来人参考. 我遇到的这个问题搜索了整个网络也...

自由的开源
今天
0
0
openJDK之sun.misc.Unsafe类CAS底层实现

注:这篇文章参考了https://www.cnblogs.com/snowater/p/8303698.html 1.sun.misc.Unsafe中CAS方法 在sun.misc.Unsafe中CAS方法如下: compareAndSwapObject(java.lang.Object arg0, long a......

汉斯-冯-拉特
今天
2
0
设计模式之五 责任链模式(Chain of Responsibility)

一. 场景 相信我们都有过这样的经历; 我们去职能部门办理一个事情,先去了A部门,到了地方被告知这件事情由B部门处理; 当我们到了B部门的时候,又被告知这件事情已经移交给了C部门处理; ...

JackieRiver
今天
1
0
Android中的设计模式之命令模式

参考 《设计模式:可复用面向对象软件的基础 》5.2 Command 命令 对象行为型模式 《Android源码设计模式解析与实战》第11章 让程序畅通执行--命令模式 意图 将一个请求封装为一个对象,从而使...

newtrek
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部