1. 首页 > 软件下载 > 正文

Jetty应用服务器下载-Jetty最新版本下载地址-Jetty下载方法

1. Jetty应用服务器简介

Jetty是Eclipse基金会开源的Java HTTP服务器和Servlet容器,以其轻量级、高性能和可嵌入特性著称。Jetty广泛用于大型互联网应用、云平台和微服务架构,是Apache Spark、Hadoop、Google App Engine等项目的核心组件。更多学习教程www.fgedu.net.cn

Jetty核心特点

轻量级:核心jar包仅几百KB,启动快速

高性能:异步IO处理,支持高并发连接

可嵌入:可作为库嵌入到Java应用中

模块化:按需加载模块,灵活配置

WebSocket支持:完整的WebSocket规范实现

2. Jetty版本说明

Jetty提供多个版本,用户可根据需求选择。学习交流加群风哥微信: itpux-com

最新版本信息

Jetty 12.0.18:最新稳定版本,支持Jakarta EE 10

Jetty 12.0.16:稳定版本

Jetty 11.0.24:历史稳定版本,支持Jakarta EE 9

Jetty 10.0.24:历史稳定版本,支持Java EE 8

版本特性

12.x版本:支持Jakarta EE 10,需要Java 17+

11.x版本:支持Jakarta EE 9,需要Java 11+

10.x版本:支持Java EE 8,需要Java 11+

3. Jetty下载地址

Jetty可以从官方网站或Eclipse获取安装包。

官方下载地址

官方网站:https://jetty.org/download.html

Eclipse下载:https://download.eclipse.org/jetty/

文档中心:https://jetty.org/docs/jetty/

下载安装包

# 下载Jetty 12.0.18
# cd /fgeudb/software
# wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/12.0.18/jetty-home-12.0.18.tar.gz

# 输出示例如下:
–2026-04-04 10:00:00– https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/12.0.18/jetty-home-12.0.18.tar.gz
Resolving repo1.maven.org… 199.232.196.209
Connecting to repo1.maven.org|199.232.196.209|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 31457280 (30M) [application/gzip]
Saving to: ‘jetty-home-12.0.18.tar.gz’

jetty-home-12.0.18.tar.gz 100%[===================>] 30.00M 12.5MB/s in 2.4s

2026-04-04 10:00:10 (12.5 MB/s) – ‘jetty-home-12.0.18.tar.gz’ saved

# 验证下载文件
# ls -lh jetty-home-12.0.18.tar.gz
-rw-r–r–. 1 root root 30M Apr 4 10:00 jetty-home-12.0.18.tar.gz

生产环境建议:建议使用Jetty 12.0.x最新稳定版本进行生产部署。Jetty 12.x支持Jakarta EE 10规范,是当前推荐的版本。from:www.itpux.com

4. 环境准备

在安装Jetty之前,需要准备必要的系统环境和Java运行时。

系统要求

# 检查操作系统版本
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.9 (Maipo)

# 检查系统架构
# uname -m
x86_64

# 检查内存和磁盘空间
# free -h
total used free shared buff/cache available
Mem: 31G 2.1G 28G 8.5M 1.0G 28G
Swap: 15G 0B 15G

# df -h /fgeudb
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 500G 20G 480G 4% /fgeudb

# 安装JDK 17或更高版本(Jetty 12要求)
# yum install -y java-17-openjdk java-17-openjdk-devel

# 验证Java版本
# java -version

# 输出示例如下:
openjdk version “17.0.8” 2023-07-18 LTS
OpenJDK Runtime Environment 21.9 (build 17.0.8+9-LTS)
OpenJDK 64-Bit Server VM 21.9 (build 17.0.8+9-LTS, mixed mode, sharing)

# 配置JAVA_HOME
# vi /etc/profile.d/java.sh

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$JAVA_HOME/bin:$PATH

# 使环境变量生效
# source /etc/profile.d/java.sh

# 创建Jetty用户和组
# groupadd -g 5014 jetty
# useradd -g jetty -u 5014 -d /home/jetty -s /bin/bash jetty

# 创建安装目录
# mkdir -p /fgeudb/jetty/{base,logs}
# chown -R jetty:jetty /fgeudb/jetty

5. TAR包安装实战

使用TAR包安装是最常见的方式,以下是详细步骤。学习交流加群风哥QQ113257174

步骤1:解压安装包

# 解压安装包
# cd /fgeudb/software
# tar -xzf jetty-home-12.0.18.tar.gz -C /fgeudb/

# 输出示例如下:
# 重命名目录
# mv /fgeudb/jetty-home-12.0.18 /fgeudb/jetty-home

# 查看目录结构
# ls -la /fgeudb/jetty-home/
total 48
drwxr-xr-x. 8 jetty jetty 4096 Apr 4 10:05 .
drwxr-xr-x. 3 root root 4096 Apr 4 10:00 ..
drwxr-xr-x. 2 jetty jetty 4096 Apr 4 10:05 bin
drwxr-xr-x. 2 jetty jetty 4096 Apr 4 10:05 demo-base
drwxr-xr-x. 2 jetty jetty 4096 Apr 4 10:05 etc
drwxr-xr-x. 2 jetty jetty 4096 Apr 4 10:05 lib
drwxr-xr-x. 2 jetty jetty 4096 Apr 4 10:05 modules
-rw-r–r–. 1 jetty jetty 5120 Apr 4 10:05 LICENSE.txt
-rw-r–r–. 1 jetty jetty 1024 Apr 4 10:05 NOTICE.txt
-rw-r–r–. 1 jetty jetty 2048 Apr 4 10:05 README.md

# 设置权限
# chown -R jetty:jetty /fgeudb/jetty-home

步骤2:创建Jetty Base目录

# 切换到jetty用户
# su – jetty

# 创建Jetty Base目录
$ mkdir -p /fgeudb/jetty/base

# 初始化Jetty Base
$ cd /fgeudb/jetty/base
$ java -jar /fgeudb/jetty-home/start.jar –create-startd

# 输出示例如下:
INFO : Created /fgeudb/jetty/base/start.d
INFO : Created /fgeudb/jetty/base/start.ini

# 启用必要模块
$ java -jar /fgeudb/jetty-home/start.jar –add-modules=http,deploy,jsp

# 输出示例如下:
INFO : Enabled module http
INFO : Enabled module deploy
INFO : Enabled module jsp
INFO : Created /fgeudb/jetty/base/start.d/http.ini
INFO : Created /fgeudb/jetty/base/start.d/deploy.ini
INFO : Created /fgeudb/jetty/base/start.d/jsp.ini

# 查看启用的模块
$ java -jar /fgeudb/jetty-home/start.jar –list-modules

# 输出示例如下:
Enabled Modules:
http
deploy
jsp
server
servlet
servlets
webapp

风哥提示:Jetty采用分离架构,jetty-home是安装目录,jetty-base是运行目录。–add-modules用于启用所需模块。生产环境建议启用http、deploy、jsp等核心模块。

步骤3:配置Jetty

# 编辑HTTP配置
$ vi /fgeudb/jetty/base/start.d/http.ini

# HTTP服务器配置
jetty.http.host=0.0.0.0
jetty.http.port=8080
jetty.http.idleTimeout=30000

# 保存配置文件

# 编辑JVM配置
$ vi /fgeudb/jetty/base/start.ini

# JVM参数
–exec
-Xms2g
-Xmx4g
-XX:MetaspaceSize=256m
-XX:MaxMetaspaceSize=512m
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200

# 保存配置文件

# 创建webapps目录
$ mkdir -p /fgeudb/jetty/base/webapps

步骤4:启动Jetty

# 启动Jetty服务
$ cd /fgeudb/jetty/base
$ java -jar /fgeudb/jetty-home/start.jar

# 输出示例如下:
2026-04-04 10:10:00.000:INFO :oejs.Server:main: jetty-12.0.18; built: 2025-03-04T07:52:00.000Z; git: abc123def; jvm 17.0.8+9-LTS
2026-04-04 10:10:01.000:INFO :oejs.AbstractConnector:main: Started ServerConnector@12345678{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
2026-04-04 10:10:01.000:INFO :oejs.Server:main: Started oejs.Server@87654321{STARTING}[12.0.18,sto=0] @1234ms

# 检查进程
$ ps -ef | grep jetty
jetty 12345 1 5 10:10 pts/0 00:00:10 /usr/lib/jvm/java-17-openjdk/bin/java -jar /fgeudb/jetty-home/start.jar

# 检查端口
$ netstat -tlnp | grep java
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 12345/java

步骤5:配置systemd服务

# 创建systemd服务文件
# vi /etc/systemd/system/jetty.service

[Unit]
Description=Jetty Application Server
After=network.target

[Service]
Type=simple
User=jetty
Group=jetty
Environment=”JAVA_HOME=/usr/lib/jvm/java-17-openjdk”
Environment=”JETTY_HOME=/fgeudb/jetty-home”
Environment=”JETTY_BASE=/fgeudb/jetty/base”
ExecStart=/usr/lib/jvm/java-17-openjdk/bin/java -jar /fgeudb/jetty-home/start.jar jetty.state=/fgeudb/jetty/base/jetty.state
ExecStop=/usr/lib/jvm/java-17-openjdk/bin/java -jar /fgeudb/jetty-home/start.jar jetty.state=/fgeudb/jetty/base/jetty.state –stop
Restart=on-failure
RestartSec=10
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target

# 重新加载systemd
# systemctl daemon-reload

# 启动Jetty服务
# systemctl start jetty

# 设置开机自启
# systemctl enable jetty

# 输出示例如下:
Created symlink from /etc/systemd/system/multi-user.target.wants/jetty.service to /etc/systemd/system/jetty.service.

# 检查服务状态
# systemctl status jetty

● jetty.service – Jetty Application Server
Loaded: loaded (/etc/systemd/system/jetty.service; enabled)
Active: active (running) since Fri 2026-04-04 10:15:00 CST; 10s ago
Main PID: 12345 (java)
CGroup: /system.slice/jetty.service
└─12345 /usr/lib/jvm/java-17-openjdk/bin/java -jar …

6. Docker容器安装实战

使用Docker容器安装Jetty是最快捷的方式,适合快速测试和开发环境。更多学习教程公众号风哥教程itpux_com

步骤1:拉取Jetty镜像

# 拉取官方Jetty镜像
# docker pull jetty:12.0.18-jdk17

# 输出示例如下:
12.0.18-jdk17: Pulling from library/jetty
f1f26f570256: Pull complete
8f8e43ef9c3a: Pull complete
e9d8dca5b8a5: Pull complete
a1b8d4c4a5e6: Pull complete
Digest: sha256:abc123def456…
Status: Downloaded newer image for jetty:12.0.18-jdk17
docker.io/library/jetty:12.0.18-jdk17

# 查看镜像
# docker images | grep jetty
jetty 12.0.18-jdk17 abc123def456 2 weeks ago 450MB

步骤2:运行Jetty容器

# 创建数据目录
# mkdir -p /fgeudb/jetty/{webapps,logs}

# 运行Jetty容器
# docker run -d \
–name jetty \
-p 8080:8080 \
-v /fgeudb/jetty/webapps:/var/lib/jetty/webapps \
-v /fgeudb/jetty/logs:/var/lib/jetty/logs \
-e JAVA_OPTIONS=”-Xms2g -Xmx4g” \
jetty:12.0.18-jdk17

# 输出示例如下:
abc123def456789…

# 检查容器状态
# docker ps | grep jetty
abc123def456 jetty:12.0.18-jdk17 “/docker-entrypoint.…” 10 seconds ago Up 9 seconds 0.0.0.0:8080->8080/tcp jetty

# 查看容器日志
# docker logs jetty

# 输出示例如下:
2026-04-04 10:20:00.000:INFO :oejs.Server:main: jetty-12.0.18; built: 2025-03-04T07:52:00.000Z
2026-04-04 10:20:01.000:INFO :oejs.AbstractConnector:main: Started ServerConnector@12345678{HTTP/1.1}{0.0.0.0:8080}
2026-04-04 10:20:01.000:INFO :oejs.Server:main: Started oejs.Server@87654321{STARTING}[12.0.18] @1234ms

7. Jetty配置优化

以下是生产环境的Jetty配置优化建议。

JVM配置优化

# 编辑JVM配置
$ vi /fgeudb/jetty/base/start.ini

# JVM内存配置
–exec
-Xms4g
-Xmx8g
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=1g

# GC配置
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:ParallelGCThreads=8
-XX:ConcGCThreads=2

# 性能配置
-XX:+UseStringDeduplication
-XX:+OptimizeStringConcat
-XX:+UseCompressedOops

# 日志配置
-Xlog:gc*:file=/fgeudb/jetty/logs/gc.log:time,tags

# 保存配置文件

线程池配置

# 编辑线程池配置
$ vi /fgeudb/jetty/base/start.d/jetty-threadpool.ini

# 线程池配置
jetty.threadPool.minThreads=10
jetty.threadPool.maxThreads=200
jetty.threadPool.idleTimeout=60000
jetty.threadPool.reservedThreads=2

# 保存配置文件

# 编辑HTTP配置
$ vi /fgeudb/jetty/base/start.d/http.ini

# HTTP服务器配置
jetty.http.host=0.0.0.0
jetty.http.port=8080
jetty.http.idleTimeout=30000
jetty.http.soLingerTime=0
jetty.http.acceptorThreads=-1
jetty.http.selectorThreads=-1
jetty.http.acceptQueueSize=0

# 保存配置文件

启用SSL/HTTPS

# 启用SSL模块
$ java -jar /fgeudb/jetty-home/start.jar –add-modules=ssl,https

# 输出示例如下:
INFO : Enabled module ssl
INFO : Enabled module https

# 创建SSL配置
$ vi /fgeudb/jetty/base/start.d/ssl.ini

jetty.ssl.host=0.0.0.0
jetty.ssl.port=8443
jetty.ssl.idleTimeout=30000
jetty.sslContext.keyStorePath=/fgeudb/jetty/base/etc/keystore.p12
jetty.sslContext.keyStorePassword=YourPassword123!
jetty.sslContext.keyManagerPassword=YourPassword123!

# 保存配置文件

# 创建自签名证书
$ keytool -genkeypair -alias jetty -keyalg RSA -keysize 2048 \
-storetype PKCS12 -keystore /fgeudb/jetty/base/etc/keystore.p12 \
-validity 365 -storepass YourPassword123! \
-dname “CN=fgedu.net.cn, OU=IT, O=, L=Beijing, ST=Beijing, C=CN”

# 输出示例如下:
Warning: The PKCS12 keystore is non-proprietary format.
Certificate stored in keystore

生产环境建议:maxThreads根据CPU核心数和并发需求设置。idleTimeout设置合理的空闲超时时间。生产环境建议使用正式SSL证书。

8. 安装验证与测试

安装完成后,需要进行验证测试确保Jetty正常运行。

访问默认页面

# 浏览器访问默认页面
# URL: http://192.168.1.51:8080/

# Jetty默认页面显示:
# – Jetty版本信息
# – 服务器状态
# – 已部署的应用列表
# – 文档链接

# 如果没有部署应用,显示404页面
# 404 – Not Found
“`

使用命令行工具

# 查看Jetty状态
$ cd /fgeudb/jetty/base
$ java -jar /fgeudb/jetty-home/start.jar –status

# 输出示例如下:
Jetty is running with pid 12345

# 查看版本
$ java -jar /fgeudb/jetty-home/start.jar –version

# 输出示例如下:
Jetty Version: 12.0.18
Jetty Home: /fgeudb/jetty-home
Jetty Base: /fgeudb/jetty/base
Java Version: 17.0.8
Java Home: /usr/lib/jvm/java-17-openjdk

# 查看配置
$ java -jar /fgeudb/jetty-home/start.jar –dry-run

# 输出示例如下:
/usr/lib/jvm/java-17-openjdk/bin/java -Djetty.base=/fgeudb/jetty/base -Djetty.home=/fgeudb/jetty-home -jar /fgeudb/jetty-home/start.jar

# 停止Jetty
$ java -jar /fgeudb/jetty-home/start.jar –stop

# 输出示例如下:
Stopping Jetty: OK

部署测试应用

# 创建测试应用目录
$ mkdir -p /fgeudb/jetty/base/webapps/test/WEB-INF

# 创建web.xml
$ vi /fgeudb/jetty/base/webapps/test/WEB-INF/web.xml

<?xml version=”1.0″ encoding=”UTF-8″?>
<web-app version=”5.0″ xmlns=”https://jakarta.ee/xml/ns/jakartaee”>
<display-name>Test Application</display-name>
</web-app>

# 创建测试JSP
$ vi /fgeudb/jetty/base/webapps/test/index.jsp

<%@ page language=”java” contentType=”text/html; charset=UTF-8″%>
<!DOCTYPE html>
<html>
<head>
<title>Jetty Test</title>
</head>
<body>
<h1>Jetty 12.0.18 Test Page</h1>
<p>Server: <%= application.getServerInfo() %></p>
<p>Java Version: <%= System.getProperty(“java.version”) %></p>
</body>
</html>

# 重启Jetty加载应用
$ systemctl restart jetty

# 访问测试应用
# URL: http://192.168.1.51:8080/test/

# 输出示例如下:
Jetty 12.0.18 Test Page
Server: jetty/12.0.18
Java Version: 17.0.8

REST API测试

# 使用curl测试HTTP服务
$ curl -I http://192.168.1.51:8080/test/

# 输出示例如下:
HTTP/1.1 200 OK
Server: jetty/12.0.18
Content-Type: text/html;charset=utf-8
Content-Length: 285
Date: Fri, 04 Apr 2026 10:30:00 GMT

# 测试HTTPS
$ curl -k -I https://192.168.1.51:8443/test/

# 输出示例如下:
HTTP/1.1 200 OK
Server: jetty/12.0.18
Content-Type: text/html;charset=utf-8
Content-Length: 285
Date: Fri, 04 Apr 2026 10:30:00 GMT

# 查看服务器统计信息
$ curl http://192.168.1.51:8080/stats

# 输出示例如下:
{
“server”: {
“version”: “12.0.18”,
“uptime”: 3600,
“threads”: {
“active”: 10,
“idle”: 190,
“max”: 200
},
“connections”: {
“active”: 5,
“idle”: 20
}
}
}

生产环境建议:建议配置HTTPS访问。定期备份配置文件和部署的应用。监控关键指标如JVM内存、线程池、请求响应时间。建议配置负载均衡实现高可用。

至此,Jetty应用服务器的下载和安装已完成。后续可以根据实际业务需求部署应用、配置数据源和优化性能。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息