参考资料

  1. Cloudreve 启用 JWT(JSON Web Tokens)加密通信
  2. Known 是一个开源的内容发布平台
  3. Nginx 是一款高性能的开源 Web 服务器
  4. PHP-ZendServer 是由 Zend Technologies 开发的一个企业级 PHP 应用服务器
  5. Ruby 是一种动态、开源的编程语言
  6. Docker在CI/CD中的作用是什么?
  7. Monica 是一款开源的个人关系管理(PRM)工具
  8. SWI-Prolog 是一个开源的 Prolog 实现,广泛用于人工智能、自然语言处理和知识表示等领域

Open Liberty简介

Open Liberty是由IBM开发的开源轻量级Java应用服务器,基于Jakarta EE和MicroProfile规范,专为云原生和微服务架构设计。

特点

  1. 模块化架构,按需加载功能

  2. 快速启动(通常<2秒)

  3. 低内存占用

  4. 支持热部署

  5. 内置配置服务器

  6. 支持Kubernetes和Docker

  7. 持续交付模式

最新更新

  • 最新稳定版本:23.0.0.6 (2023年5月发布)

  • 支持Java 17

  • 增强MicroProfile 6.0支持

  • 改进Kubernetes集成

下载地址

官网地址

https://openliberty.io/

文档地址

https://openliberty.io/docs/

Docker安装示例

docker pull icr.io/appcafe/open-liberty:full-java11-openj9-ubi
docker run -d -p 9080:9080 -p 9443:9443 --name liberty-server icr.io/appcafe/open-liberty:full-java11-openj9-ubi

server.yaml配置示例

server:
  httpPort: 9080
  httpsPort: 9443
  applications:
    - name: myapp
      location: /config/apps/myapp.war
  features:
    - mpHealth-3.0
    - jaxrs-3.0

常见问题

  1. 端口冲突错误:

    • 检查9080/9443端口是否被占用

    • 修改server.xml或server.yaml中的端口配置

  2. 类加载问题:

    • 检查jvm.options中的类路径设置

    • 确保依赖库版本兼容

  3. 启动超时:

    • 增加server.env中的START_TIMEOUT值

    • 检查应用初始化逻辑

  4. 内存不足:

    • 调整jvm.options中的-Xmx参数

    • 使用OpenJ9 JVM减少内存占用

  5. 配置错误:

    • 使用server dump命令检查配置

    • 验证server.xml/yaml语法