参考资料

  1. Nexus Repository Manager 3(简称Nexus3)是由Sonatype公司开发的一款企业级仓库管理工具
  2. DPanel 是一个轻量级的 Web 面板工具
  3. Fluentd 是一个开源的日志收集系统
  4. Registry 是 Docker 官方提供的开源镜像仓库,用于存储和分发 Docker 镜像
  5. docker安装nginx详细说明以及案例
  6. Aerospike 是一个高性能、分布式 NoSQL 数据库
  7. Photon OS 是一个轻量级的 Linux 发行版
  8. Groovy 是一种基于 JVM 的动态编程语言

Jetty 简介

Jetty 是一个轻量级的开源 Java Web 服务器和 Servlet 容器,由 Eclipse 基金会维护。它被广泛用于嵌入式系统和生产环境中,具有高性能、模块化和易扩展的特点。

特点

  • 轻量级:核心 jar 文件小,适合嵌入式应用。

  • 高性能:基于 NIO(非阻塞 I/O)设计,处理高并发请求高效。

  • 模块化:支持按需加载组件,减少资源占用。

  • 嵌入式支持:可直接集成到应用程序中。

  • 支持最新标准:兼容 Servlet、WebSocket、HTTP/2 等协议。

最新更新内容及时间

  • 最新版本:Jetty 11.0.20(截至 2024 年 7 月)

  • 更新内容

    • 修复了多个安全漏洞。

    • 改进了 HTTP/2 和 WebSocket 的性能。

    • 增强了对 JDK 17 的支持。

镜像下载地址

  • 官方镜像下载https://www.eclipse.org/jetty/download.html

  • Maven 依赖

    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-server</artifactId>
      <version>11.0.20</version>
    </dependency>

官网地址

文档地址

Docker 安装示例

# 拉取官方镜像
docker pull jetty:latest

# 运行容器
docker run -d -p 8080:8080 --name myjetty jetty

YAML 设置教程(以 jetty.yml 为例)

server:
  port: 8080
  contextPath: "/myapp"
  connectors:
    - type: http
      port: 8080
  resources:
    - type: webapp
      resourceBase: "/var/lib/jetty/webapps"

常用错误及问题

  1. 端口冲突

    • 错误信息:java.net.BindException: Address already in use

    • 解决方法:更换端口或关闭占用端口的程序。

  2. 类加载问题

    • 错误信息:ClassNotFoundExceptionNoClassDefFoundError

    • 解决方法:检查依赖是否完整,确保类路径正确。

  3. 内存不足

    • 错误信息:java.lang.OutOfMemoryError

    • 解决方法:调整 JVM 内存参数(如 -Xmx512m)。

  4. Servlet 未注册

    • 错误信息:404 Not Found

    • 解决方法:检查 web.xml 或注解配置是否正确。

  5. HTTPS 配置失败

    • 错误信息:SSLHandshakeException

    • 解决方法:确保证书路径和密钥库配置正确。