jetty部署多个web应用及将jetty配置成服务

简介:

通常情况下一个jetty部署一个java web应用,但一台服务只部署一个应用可能会造成资源浪费,所以有时候可能在一台服务器上要部署多个web应用。下面我们以一台server部署两个web应用为例。

服务器环境:安装JDK,2个jetyy9

重点:2个web应用的端口不能冲突


工程1使用jetty01,将bin/jetty.sh重命名为bin/jetty01.sh,同时修改其配置如下(注意不用配置JETTY_RUN变量):

1
2
3
4
5
6
JETTY_HOME= /usr/local/jetty01
JETTY_BASE=$JETTY_HOME
JETTY_USER=www
JETTY_ARGS=jetty.port=8181
JAVA= /usr/local/jdk7/bin/java
JAVA_OPTIONS= "-Xloggc:/opt/logs/ugcRank/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps"


工程2使用jetty02,将bin/jetty.sh重命名为bin/jetty02.sh,并修改配置:

1
2
3
4
5
6
JETTY_HOME= /usr/local/jetty02
JETTY_BASE=$JETTY_HOME
JETTY_USER=www
JETTY_ARGS=jetty.port=8282
JAVA= /usr/local/jdk7/bin/java
JAVA_OPTIONS= "-Xloggc:/opt/logs/vrsRank/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps"

此时,两个jetty的pid均位于默认的目录下,即/var/run,路径分别为/var/run/jetty/jetty01.pid/var/run/jetty/jetty02.pid



第二种方式:修改pid文件保存的目录,该目录由JETTY_RUN配置,默认都在/var/run/jetty下,如:


工程1使用jetty01,修改bin/jetty02.sh如下:

1
2
3
4
5
6
7
JETTY_HOME= /usr/local/jetty01
JETTY_BASE=$JETTY_HOME
JETTY_RUN=$JETTY_BASE
JETTY_USER=www
JETTY_ARGS=jetty.port=8181
JAVA= /usr/local/jdk7/bin/java
JAVA_OPTIONS= "-Xloggc:/opt/logs/ugcRank/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps"

工程2使用jetty02,修改bin/jetty02.sh如下:

1
2
3
4
5
6
7
JETTY_HOME= /usr/local/jetty01
JETTY_BASE=$JETTY_HOME
JETTY_RUN=$JETTY_BASE
JETTY_USER=www
JETTY_ARGS=jetty.port=8181
JAVA= /usr/local/jdk7/bin/java
JAVA_OPTIONS= "-Xloggc:/opt/logs/ugcRank/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps"

此时,pid文件位于各自jetty的安装目录下,虽然都为jetty.pid,但是互不影响。



将jetty配置为系统服务


首先,将bin/jetty.sh拷贝到/etc/init.d中:

1
cp  bin /jetty .sh  /etc/init .d /jetty

然后,新建文件/etc/default/jetty,在其中设置环境变量JETTY_HOME:

1
2
$ vim  /etc/default/jetty
JETTY_HOME= /usr/local/jetty9 .1

启动和停止:

1
2
$ service jetty start
$ service jetty stop

说明:bin/jetty.sh默认将/etc/default/{pid}作为其配置文件,此时pid名称即为jetty,所以/etc/default/jetty会作为jetty的配置文件,可以在其中配置JETTY_HOME, JAVA, JAVA_OPTIONS等环境变量。











本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1962427,如需转载请自行联系原作者

目录
相关文章
|
15天前
|
前端开发 JavaScript 关系型数据库
从前端到后端:构建现代化Web应用的技术探索
在当今互联网时代,Web应用的开发已成为了各行各业不可或缺的一部分。从前端到后端,这篇文章将带你深入探索如何构建现代化的Web应用。我们将介绍多种技术,包括前端开发、后端开发以及各种编程语言(如Java、Python、C、PHP、Go)和数据库,帮助你了解如何利用这些技术构建出高效、安全和可扩展的Web应用。
|
1月前
|
网络协议 Java Nacos
nacos常见问题之在web界面 上下线服务时报错 400如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
29 0
|
1月前
|
监控 Serverless 测试技术
Serverless 应用引擎常见问题之做的web服务计费如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
407 3
|
8天前
|
缓存 负载均衡 数据库
优化后端性能:提升Web应用响应速度的关键策略
在当今数字化时代,Web应用的性能对于用户体验至关重要。本文探讨了如何通过优化后端架构和技术手段,提升Web应用的响应速度。从数据库优化、缓存机制到异步处理等多个方面进行了深入分析,并提出了一系列实用的优化策略,以帮助开发者更好地应对日益增长的用户访问量和复杂的业务需求。
12 1
|
8天前
|
缓存 监控 数据库
Flask性能优化:打造高性能Web应用
【4月更文挑战第16天】本文介绍了提升Flask应用性能的七大策略:优化代码逻辑,减少数据库查询,使用WSGI服务器(如Gunicorn、uWSGI),启用缓存(如Flask-Caching),优化数据库操作,采用异步处理与并发(如Celery、Sanic),以及持续监控与调优。通过这些手段,开发者能有效优化Flask应用,适应大型或高并发场景,打造高性能的Web服务。
|
9天前
|
Web App开发 Java 应用服务中间件
【Java Web】在 IDEA 中部署 Tomcat
【Java Web】在 IDEA 中部署 Tomcat
|
9天前
|
数据库 开发者 Python
Python中使用Flask构建简单Web应用的例子
【4月更文挑战第15天】Flask是一个轻量级的Python Web框架,它允许开发者快速搭建Web应用,同时保持代码的简洁和清晰。下面,我们将通过一个简单的例子来展示如何在Python中使用Flask创建一个基本的Web应用。
|
13天前
|
JavaScript 前端开发 API
Vue.js:构建高效且灵活的Web应用的利器
Vue.js:构建高效且灵活的Web应用的利器
|
21天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
22天前
|
数据采集 Java API
python并发编程: Python使用线程池在Web服务中实现加速
python并发编程: Python使用线程池在Web服务中实现加速
18 3
python并发编程: Python使用线程池在Web服务中实现加速