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,如需转载请自行联系原作者

目录
相关文章
|
8月前
|
开发框架 监控 安全
Windows Defender 导致 Web IIS 服务异常停止排查
某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。
865 116
|
10月前
|
运维 数据可视化 C++
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
2025年热门Web化容器部署工具对比:Portainer与Websoft9。Portainer以轻量可视化管理见长,适合技术团队运维;Websoft9则提供一站式应用部署与容器管理,内置丰富开源模板,降低中小企业部署门槛。两者各有优势,助力企业提升容器化效率。
614 1
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
|
11月前
|
Java 应用服务中间件 Docker
java-web部署模式概述
本文总结了现代 Web 开发中 Spring Boot HTTP 接口服务的常见部署模式,包括 Servlet 与 Reactive 模型、内置与外置容器、物理机 / 容器 / 云环境部署及单体与微服务架构,帮助开发者根据实际场景选择合适的方案。
631 25
|
12月前
|
开发框架 安全 前端开发
Go Web开发框架实践:模板渲染与静态资源服务
Gin 是一个功能强大的 Go Web 框架,不仅适用于构建 API 服务,还支持 HTML 模板渲染和静态资源托管。它可以帮助开发者快速搭建中小型网站,并提供灵活的模板语法、自定义函数、静态文件映射等功能,同时兼容 Go 的 html/template 引擎,具备高效且安全的页面渲染能力。
|
中间件 Go
Golang | Gin:net/http与Gin启动web服务的简单比较
总的来说,`net/http`和 `Gin`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
682 35
|
12月前
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。
|
11月前
|
安全 JavaScript Java
java Web 项目完整案例实操指南包含从搭建到部署的详细步骤及热门长尾关键词解析的实操指南
本项目为一个完整的JavaWeb应用案例,采用Spring Boot 3、Vue 3、MySQL、Redis等最新技术栈,涵盖前后端分离架构设计、RESTful API开发、JWT安全认证、Docker容器化部署等内容,适合掌握企业级Web项目全流程开发与部署。
971 0
|
人工智能 安全 程序员
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
1549 12
|
中间件 关系型数据库 数据库
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
451 19
|
应用服务中间件 Linux nginx
部署使用 CHAT-NEXT-WEB 基于 Deepseek
本文介绍如何在阿里云轻量服务器上部署基于 `Deepseek` 的 `CHAT-NEXT-WEB` 项目。首先,准备一台 Linux 服务器并安装 Docker,确保防火墙允许特定端口访问。接着,通过阿里云容器镜像服务解决国内网络限制问题,将镜像推送到私有仓库并拉取到本地。配置并启动 `chat-next` 项目,使用 Deepseek API 进行优化。最后,安装 Nginx 和 Certbot 配置 HTTPS 访问,确保安全性和自动续签。整个过程需严格遵循官方文档,以避免因网络问题导致的安装失败。
2264 9