文档章节

单Tomcat多Service配置

Soi
 Soi
发布于 2015/10/18 17:57
字数 577
阅读 99
收藏 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/

   

© 著作权归作者所有

共有 人打赏支持
上一篇: WebService学习记录
下一篇: 二维数组行转列
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
Tomcat-Nginx虚拟主机配置

之前在项目中需要单服务器实现多域名,因为域名是直接指向ip的,所以认为单服务器Tomcat只能实现单域名映射(端口80),但是对Nginx有部分了解,所以使用了Nginx的基于域名的虚拟主机设置(s...

Geek-S
2015/12/18
272
0
Tomcat多实例部署及其原理

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

jcc_codingBoy
2016/04/11
505
0

没有更多内容

加载失败,请刷新页面

加载更多

C#默认OrderBy()函数的排序问题

昨天在客户现场遇到一个很奇葩的问题,猜下下面代码的排序输出是什么: static void Main(){ List<string> strs = new List<string>(){"11", "12", "1:"}; foreach(string str i......

Airship
26分钟前
2
0
Vue调试神器Vue.js devtools

前言: Vue.js devtools是一个高效的vue项目可视化检查工具,其主要功能就是可以快速查看页面结构、组件中的data变量、computed计算属性、props父组件传过来的值等等 Chrome上的使用方法: 科学...

JamesView
31分钟前
14
0
最全面的IGMP协议总结!

IGMP互联网组管理协议是TCP/IP 协议族中负责IP组播成员管理的协议,用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。 一、IGMP 简介 IGMP(Internet Group Management...

linuxprobe16
35分钟前
1
0
node-sass 安装失败的各种坑

开始的时候引入别人的一个项目 npm install npm run dev 启动项目 报错 > sell@1.0.0 dev E:\web_hwf\Vue\02app > node build/dev-server.js Listening at http://localhost:8888 webpack: w......

黑魔法
37分钟前
1
0
Qemu中PCI设备透传(PCI-Assign)源码分析

在网上看到很多人说Qemu的PCI-Assign透传不支持IOMMU,而VFIO透传却可以(还被当做一种优势进行推荐)。而VFIO跟SRIOV并非有必然联系,那就是说VFIO和PCI-Assign进本都是靠软件实现的了?既然...

LastRitter
39分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部