多tomcat实例

环境说明

操作系统:CentOS 6.6
JDK:

# ll /usr/local/java
lrwxrwxrwx 1 root root 22 Feb 27 17:43 /usr/local/java -> /usr/local/jdk1.7.0_51
# cat /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin/:$PATH

tomcat_1 安装目录:/opt/tomcat8080/
tomcat_1 数据目录:/data/tomcat8080/
tomcat_2 安装目录:/opt/tomcat9090/
tomcat_2 数据目录:/data/tomcat9090/

创建tomcat实例

# mkdir -p /opt/tomcat{8080,9090}
# cp -r apache-tomcat-7.0.50/ /opt/tomcat8080/
# cp -r apache-tomcat-7.0.50/ /opt/tomcat9090/

配置文件

# vim /opt/tomcat8080/conf/server.xml
....
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<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>
<Host name="www.example.com" appBase="/data/tomcat8080/" unpackWARs="true" autoDeploy="true">
<Alias>example.com</Alias>
<Context path="/bbs" docBase="bbs" />
<Context path="" docBase="/data/tomcat8080/" />
</Host>
..... # vim /opt/tomcat9090/conf/server.xml
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<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>
<Host name="www.test.com" appBase="/data/tomcat9090" unpackWARs="true" autoDeploy="true">
<Alias>test.com</Alias>
<Context path="" docBase="/data/tomcat9090/" />
<Context path="bbs" docBase="bbs" />
</Host>

注意上面的配置中要将两个tomcat实例配置成不同的端口!

启动文件

tomcat_1

# vim /opt/tomcat8080/bin/catalina.sh
开头添加如下的内容:
CATALINA_HOME=/opt/tomcat8080
# cp /opt/tomcat8080/bin/catalina.sh /etc/init.d/tomcat8080

timcat_2:

# vim /opt/tomcat9090/bin/catalina.sh
开头添加如下的内容:
CATALINA_HOME=/opt/tomcat9090
# cp /opt/tomcat9090/bin/catalina.sh /etc/init.d/tomcat9090

测试文件

# tree /data/
/data/
├── tomcat8080
│   ├── bbs
│   │   └── index.jsp
│   └── index.jsp
└── tomcat9090
├── bbs
│   └── index.jsp
└── index.jsp 4 directories, 4 files

启动

# /etc/init.d/tomcat8080 start
# /etc/init.d/tomcat9090 start
# ss -tanlp |grep java
LISTEN 0 100 :::9009 :::* users:(("java",3906,43))
LISTEN 0 100 :::9090 :::* users:(("java",3906,42))
LISTEN 0 1 ::ffff:127.0.0.1:8005 :::* users:(("java",3637,49))
LISTEN 0 100 :::8009 :::* users:(("java",3637,43))
LISTEN 0 1 ::ffff:127.0.0.1:9005 :::* users:(("java",3906,49))
LISTEN 0 100 :::8080 :::* users:(("java",3637,42))

按上面的启动后可以在浏览器中进行测试,这种方式会带来一定的问题下面说明使用CATALINA_BASE的方式进行配置。

增加CATALINA_BASE

这种方式的一个实例增加一个 catalina_base ,但只用一个Tomcat软件实体。

环境说明

操作系统:CentOS 6.6
JDK:

# ll /usr/local/java
lrwxrwxrwx 1 root root 22 Feb 27 17:43 /usr/local/java -> /usr/local/jdk1.7.0_51
# cat /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin/:$PATH

tomcat 安装目录:

]# ll /usr/local/tomcat
lrwxrwxrwx. 1 root root 31 Nov 3 17:59 /usr/local/tomcat -> /usr/local/apache-tomcat-7.0.50

tomcat 实例1目录:

# tree /opt/tomcat8080/
/opt/tomcat8080/
├── conf
│   ├── Catalina
│   ├── catalina.policy
│   ├── catalina.properties
│   ├── context.xml
│   ├── logging.properties
│   ├── server.xml
│   ├── tomcat-users.xml
│   └── web.xml
├── logs
├── temp
├── tomcat.sh
├── webapps
│   ├── bbs
│   │   └── index.jsp
│   └── index.jsp
└── work

tomcat 实例2目录:

# tree /opt/tomcat9090/
/opt/tomcat9090/
├── conf
│   ├── Catalina
│   ├── catalina.policy
│   ├── catalina.properties
│   ├── context.xml
│   ├── logging.properties
│   ├── server.xml
│   ├── tomcat-users.xml
│   └── web.xml
├── logs
├── temp
├── tomcat.sh
├── webapps
│   ├── bbs
│   │   └── index.jsp
│   └── index.jsp
└── work

启动脚本

tomcat 实例1:

# cat /opt/tomcat8080/tomcat.sh
#!/bin/sh
# 本脚本参考:http://www.ttlsa.com
. /etc/init.d/functions
RETVAL=$?
# export CATALINA_BASE="$PWD"
export CATALINA_BASE="/opt/tomcat8080"
# tomcat安装目录,这个指向tomact所在的路径
export CATALINA_HOME="/usr/local/tomcat"
case "$1" in
start)
if [ -f $CATALINA_HOME/bin/startup.sh ];then
echo $"Start Tomcat"
$CATALINA_HOME/bin/startup.sh
fi
;;
stop)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];then
$CATALINA_HOME/bin/shutdown.sh
fi
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
;;
esac
exit $RETVAL

tomcat 实例2:

# cat /opt/tomcat9090/tomcat.sh
#!/bin/sh
# 本脚本参考:http://www.ttlsa.com
. /etc/init.d/functions
RETVAL=$?
# export CATALINA_BASE="$PWD"
export CATALINA_BASE="/opt/tomcat9090"
# tomcat安装目录,这个指向tomact所在的路径
export CATALINA_HOME="/usr/local/tomcat"
case "$1" in
start)
if [ -f $CATALINA_HOME/bin/startup.sh ];then
echo $"Start Tomcat"
$CATALINA_HOME/bin/startup.sh
fi
;;
stop)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];then
$CATALINA_HOME/bin/shutdown.sh
fi
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
;;
esac
exit $RETVAL

tomcat 实例配置

配置文件和上面的相同,这里就不做介绍了。注意在配置中两个的配置文件的端口不能出现相同的!

测试

前面的配置好然后启动各tomcat 实例进行测试,测试还是和上面的相同也不做介绍。

tomcat多实例.md的更多相关文章

  1. Tomcat多实例部署

    前言 以前总是采用很Low的方式太同一台服务器上部署多个Web应用,步骤是这样的:Copy Tomcat目录-->更改conf/server.xml三个端口号----->部署war包--- ...

  2. tomcat多实例

    //结合博主之前的安装tomcat的博文一起看,tomcat多实例就是在不同路径启动多个tomcat,然后在本机不同端口启动 [root@ycj ~]# cd /usr/local/src/ [roo ...

  3. 搭建Tomcat应用服务器、tomcat虚拟主机及Tomcat多实例部署

    一.环境准备 系统版本:CentOS release 6.6 (Final) x86_64 Tomcat版本:tomcat- JDK版本:jdk-8u25-linux-x64 关闭防火墙 软件包下载地 ...

  4. 性能测试二十:环境部署之Tomcat多实例部署+日志监控

    一个tomcat性能有限,所以需要部署等多个tomcat 单实例部署与windows下类似,项目包放到webapp目录下,启动bin目录下的startup.sh即可启动命令:./startup.sh启 ...

  5. Tomcat学习总结(10)——Tomcat多实例冗余部署

    昨天在跟群友做技术交流的时候,了解到,有很多大公司都是采用了高可用的,分布式的,实例沉余1+台.但是在小公司的同学也很多,他们反映并不是所有公司都有那样的资源来供你调度.往往公司只会给你一台机器,因为 ...

  6. tomcat 多实例的Sys V风格脚本

    -------------------------------------------------[翠花,上脚本]------------------------------------------- ...

  7. tomcat集群--单tomcat多实例

    1.解压apache-tomcat-7.0.75.tar.gz到任意目录 /data/tomcat-4X 2.建立tomcat多实例目录,这个tomcat-4X运行4X应用的两个实例4002,4004 ...

  8. Tomcat多实例 - 单机

    最近在研究Apache+Tomcat+负载均衡/集群的过程中,发现了一篇好的在单机上部署多个tomcat实例的blog. 感受:关于Apache+Tomcat+负载均衡/集群,国内关于这方面的资料是挺 ...

  9. CentOS6.7安装部署之Tomcat多实例

    Tomcat单机多实例配置 操作前的准备:关闭防火墙,配置好IP地址,安装好JAVA环境 1.首先创建tomcat所有实例共同的工作目录/data/webapps以及tomcat所有实例的所在目录/d ...

随机推荐

  1. 总结:Python学习 和 Python与C/C++交互

    本篇仅仅是Python的学习和Python和C++数据对接过程中的一些总结. 由于工作的需要,用一周的时间学习 Python. Python是基于C实现的一门解释型语言,由于其易用性,俘获了不少开发者 ...

  2. Cheatsheet: 2017 10.01 ~ 12.31

    Mobile Updating Your App for iOS 11 Get Started With Natural Language Processing in iOS 11 Getting S ...

  3. Java Calendar Date使用总结

    Java Calendar Date使用总结 package cn.outofmemory.codes.Date; import java.util.Calendar; import java.uti ...

  4. GString惰性求值

    当对一个GString实例求值时,如果其中包含一个变量,该变量的值会被简单地打印到一个Writer,通常是一个StringWriter.然而,如果GString中包含的是一个闭包,而非变量,该闭包就会 ...

  5. groovy动态类型--能力式设计

    动态类型 动态类型中的类型是在运行时推断的,方法及其参数也是在运行时检查的. 能力式设计 被称作鸭子模式:他有这么一个观点:如果它走路像鸭子,叫起来也像鸭子,那么他就是一只鸭子. 契约式设计 相当于J ...

  6. 借助 Filter 生成静态页面缓存问题

    如果有些 jsp 页面,在一次 jsp 页面生成后 html 后, 就不太可能需要更新.可以使用缓存机制来解决这个问题. 解决思路如下 1.  定义一个文件夹 pagestaticize,用来存放 j ...

  7. SuperSubScriptHelper——Unicode上下标辅助类

    在项目的实施过程中,类似化学分子式.平方.立方等,需要处理上.下标字符. 上下标字符的实现,大致有两种方式,一种是字符本身包含上下标信息,另一种方式是通过格式化标记实现上下标字符的显示. Word中的 ...

  8. css实现中间文字,两边横线效果

    1. vertical-align属性实现效果: vertical-align 属性设置元素的垂直对齐方式. 该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐.允许指定负长度值和百分比值. ...

  9. Luogu4887 第十四分块(前体)

    sto \(lxl\) orz 考虑莫队,每次移动端点,我们都要询问区间内和当前数字异或有 \(k\) 个 \(1\) 的数字个数 询问 \([l,r]\) 可以再次离线,拆成询问 \([1,l-1] ...

  10. ActiveMQ的用途

    ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线. ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现. 消息队列的主要作用是为了 ...