文档章节

将多个Tomcat实例应用转为Windows服务

周烈庆
 周烈庆
发布于 2014/05/28 11:52
字数 829
阅读 116
收藏 0

有使用过Tomcat经验的朋友看到这个标题,就会产生疑问,安装Tomcat后,不就有一个Tomcat服务安装了吗?是的,没错,但不知道你是否将N个应用都用一个Tomcat实例来服务呢?这样的弊端是明显的,某个应用出现问题,需要重新启动Tomcat服务,那势必会影响其他正常运行的N- 1个服务,这样的效果显然不尽人意。理想的情况是一个Tomcat实例对应一个应用,并且每个Tomcat实例都是Windows服务,让Windows 服务控制台来对不同的应用单独进行启动与关闭。

那要怎么做呢?

首先是实现一个Tomcat程序上,运行N个Tomcat实例,然后每个Tomcat实例对应一个应用。 1.解压Tomcat压缩包(非Tomcat安装版),在%Tomcat%目录下会有bin,common,conf,logs,server,shared,tmp,webapps,work等文件夹与文件,我统称这些为Tomcat程序。

2.创建应用名称为PROJECT[X]的文件夹(非%Tomcat%下),将%Tomcat%文件夹下的conf,logs,tmp,work文件夹拷贝到%PROJECT[X]%目录下。

注:我现在用[X]代替,[X]可以是0-9的数字

3.修改%PROJECT[X]%/conf/server.xml配置文件中的三个端口: a.Server port=”8[X]05″ shutdown=”SHUTDOWN” b.Connector port=”8[X]80″ maxHttpHeaderSize=”8192″ … c.Connector port=”8[X]09″ enableLookups=”false” …

注:Tomcat默认的这三个端口号为8005,8080,8009,PROJECT1对应8105,8180,8109,PROJECT2对应8205,8280,8209,以此类推。

4.现在启动Tomcat实例,在%PROJECT[X]%目录下创建startup.bat脚本,代码如下: set JAVA_HOME=D:\JDK set CATALINA_BASE=D:\PROJECT[X] set CATALINA_HOME=D:\TOMCAT %CATALINA_HOME%\bin\catalina start

5.启动各自%PROJECT[X]%的startup.bat,各自独立的Tomcat实例就启动了。

那为什么我会想要将这些各自的Tomcat实例转成Windows服务呢?原因有三点: 1.多个Tomcat实例启动会有多个Tomcat的SHELL在运行,一个字-丑 2.通常WEB服务器都需要远程登录,如果使用startup.bat脚本启动的方式,那管理员将不能使用注销,而只能关闭远程连接,这样做的后果是服务器会提示“超出最大连接数”的错误,只能乖乖的请求托管商重新启动服务器,一个字-烦 3.将Tomcat实例转成Windows服务,可以让应用在系统启动时候一起启动,而不需要手动去启动每个Tomcat实例

其实将Tomcat实例转成Windows服务也是很简单的事情,只需要运行下面脚本 set JAVA_HOME=D:\JDK set CATALINA_BASE=D:\PROJECT[X] set CATALINA_HOME=D:\TOMCAT %CATALINA_HOME%\bin\service.bat install “PROJECT[X]”

运行脚本后,Windows服务控制台将多了如Apache Tomcat “PROJECT[X]”服务。

本文转载自:http://bluexp29.blog.163.com/blog/static/33858148200972184354935/

共有 人打赏支持
周烈庆
粉丝 12
博文 8
码字总数 3197
作品 0
深圳
技术主管
私信 提问
windows 安装tomcat 7

tomcat 算是最知名的java容器了,windows下安装使用tomcat 7其实并不易,本文以windows 2008R2 x64为例。 1、下载安装JDK,设置JAVA_HOME (略) 2、下载tomcat 7 由于我们是x64系统,所以需...

紫色葡萄
2016/07/17
0
0
linux(centos)下一个tomcat版本创建多个实例

之前在windows上面写了一篇windows下一个tomcat版本创建多个实例,又在linux上面试了下。 首先必须配置java环境变量以及tomcat的环境变量CATALINA_HOME=/usr/local/tomcat 配置环境变量的方法...

luamas
2014/02/24
0
6
开发cloudify配方文件-两种应用伸缩方式

扩展规则 扩展服务 Cloudify支持两种方式来扩展服务 : Automatic Scaling Manual Scaling 自动扩展 Cloudify使每个服务定义一个扩展规则来决定是否服务需要扩展或缩小,例如使用一个基于忙线...

chape
2013/04/10
0
0
Cloudify:一步一步部署应用到本地云环境

前提条件: Cloudify Shell 支持 Windows/*nix 系统,安装前确保你的环境满足以下最低要求: JDK 1.6 或者更高版本 JAVA_HOME 环境变量指向 JDK 而不是 JRE %JAVA_HOME%\bin 必须添加到系统 ...

彭博
2012/11/27
804
0
Cloudify:一步一步部署应用到本地云环境

简介:目前非常火热的一项技术就是云计算,服务提供商业越来越多,但是每个提供商都有自己的一套规范,部署和管理方式不尽相同,很不方便。Cloudify 可让你在线对各种主流云服务上的应用,无...

tsl0922
2012/09/27
2.6K
0

没有更多内容

加载失败,请刷新页面

加载更多

Confluence 6 修改导航显示选项

选择 子页面(Child pages)来在边栏中查看当前页面的子页面。 选择 页面树(Page tree)来查看整个空间的页面树,扩展当前的页面。 你也可以选择是否完全隐藏导航显示选项或者添加你希望可见...

honeymose
22分钟前
0
0
Ubuntu18.04 安装MySQL

1.安装MySQL sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 3.设置MySQL非root用户 设置原因:配置过程为系统root权限,在构建MySQL连接时出现错误:ERROR...

AI_SKI
今天
3
0
3.6 rc脚本(start方法) 3.7 rc脚本(stop和status方法) 3.8 rc脚本(以daemon方式启动)

3.6-3.7 rc脚本(start、stop和status方法) #!/usr/bin/env python# -*- coding: utf-8 -*-# [@Version](https://my.oschina.net/u/931210) : python 2.7# [@Time](https://my.oschina.......

隐匿的蚂蚁
今天
3
0
Cnn学习相关博客

CNN卷积神经网络原理讲解+图片识别应用(附源码) 笨方法学习CNN图像识别系列 深度学习图像识别项目(中):Keras和卷积神经网络(CNN) 卷积神经网络模型部署到移动设备 使用CNN神经网络进行...

-九天-
昨天
5
0
flutter 底部输入框 聊天输入框 Flexible

想在页面底部放个输入框,结果键盘一直遮住了,原来是布局问题 Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("评论"), ...

大灰狼wow
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部