参考资料

  1. Amazon Linux 是亚马逊 AWS 官方维护的 Linux 发行版
  2. Joomla 是一款开源的内容管理系统
  3. Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,用于构建高性能
  4. Oracle Linux 是由 Oracle 公司提供的企业级 Linux 发行版
  5. io.js是Node.js的一个分支,由社区主导开发,旨在提供更快的迭代和更开放的治理模式
  6. Nginx 是一款高性能的开源 Web 服务器
  7. DPanel 是一个轻量级的 Web 面板工具
  8. Memcached 是一个高性能、分布式的内存缓存系统

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]