参考资料

  1. DPanel 是一个轻量级的 Web 面板工具
  2. OwnCloud/Server 是一个开源自托管文件同步和共享平台
  3. Ubuntu-debootstrap 是一个用于在现有 Linux 系统上创建最小化 Ubuntu 根文件系统的工具
  4. YOURLS (Your Own URL Shortener) 是一个开源的PHP程序,允许用户创建和管理自定义短链接
  5. Elixir 是一种基于 Erlang 虚拟机的函数式编程语言
  6. Rocket.Chat 是一款开源的团队聊天平台
  7. MySQL 是一个开源的关系型数据库管理系统
  8. PlayEdu是一款开源的企业在线培训系统

GlassFish是一个开源的Java EE应用服务器

GlassFish简介

GlassFish是一个开源的Java EE应用服务器,由Eclipse基金会维护。最初由Sun Microsystems开发,后捐赠给Eclipse基金会。支持Java EE/Jakarta EE规范,适用于企业级应用部署。

特点

  1. 开源免费:遵循CDDL和GPL开源协议。

  2. 模块化架构:基于OSGi框架,支持动态扩展。

  3. 高性能:支持Grizzly NIO框架,优化高并发场景。

  4. 管理便捷:提供Web控制台和命令行工具(asadmin)。

  5. 标准兼容:完整实现Jakarta EE(原Java EE)规范。

最新更新

  • 版本:GlassFish 7.0.0

  • 更新时间:2022年11月

  • 更新内容

    • 支持Jakarta EE 10核心规范

    • 升级嵌入式Grizzly版本

    • 修复安全漏洞(CVE-2022-xxxx)

下载地址

文档地址

Docker安装示例

# 拉取官方镜像
docker pull glassfish:7.0.0

# 运行容器(暴露8080和4848端口)
docker run -d -p 8080:8080 -p 4848:4848 --name glassfish glassfish:7.0.0

YAML配置示例(如docker-compose.yml)

version: '3'
services:
  glassfish:
    image: glassfish:7.0.0
    ports:
      - "8080:8080"
      - "4848:4848"
    volumes:
      - ./deploy:/glassfish/domains/domain1/autodeploy

常见错误及解决

  1. 端口冲突

    • 错误:Address already in use

    • 解决:修改domain.xml中的HTTP/Admin端口。

  2. 内存不足

    • 错误:java.lang.OutOfMemoryError

    • 解决:调整JVM参数:asadmin create-jvm-options "-Xmx2048m"

  3. 部署失败

    • 错误:Deployment failed

    • 解决:检查应用兼容性(如Jakarta EE版本),查看server.log

  4. 管理控制台无法访问

    • 确保已启动domain-admin-service:  

      asadmin enable-secure-admin
  5. JDBC连接池问题

    • 错误:Ping failed

    • 解决:验证数据库URL/凭证,或重启连接池:  

      asadmin restart-connector-connection-pool [pool-name]