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

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

1. GlassFish应用服务器简介

GlassFish是Eclipse基金会开源的Java EE应用服务器,是Java EE参考实现。GlassFish以其完整的Java EE支持、易用性和丰富的管理工具著称,广泛用于企业级Java应用开发和部署。更多学习教程www.fgedu.net.cn

GlassFish核心特点

Java EE参考实现:完整的Jakarta EE规范支持

管理控制台:提供功能丰富的Web管理界面

集群支持:支持负载均衡和高可用部署

OSGi支持:模块化架构,支持OSGi容器

开发工具集成:与NetBeans、Eclipse等IDE良好集成

2. GlassFish版本说明

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

最新版本信息

GlassFish 7.0.16:最新稳定版本,支持Jakarta EE 10

GlassFish 7.0.12:稳定版本

GlassFish 6.2.5:历史稳定版本,支持Jakarta EE 9

GlassFish 5.1.0:历史版本,支持Java EE 8

版本特性

7.x版本:支持Jakarta EE 10,最新特性

6.x版本:支持Jakarta EE 9,命名空间迁移

5.x版本:支持Java EE 8,稳定可靠

3. GlassFish下载地址

GlassFish可以从官方网站获取安装包。

官方下载地址

官方网站:https://glassfish.org/download

Eclipse下载:https://www.eclipse.org/downloads/download.php?file=/glassfish/glassfish-7.0.16.zip

文档中心:https://glassfish.org/documentation

下载安装包

# 下载GlassFish 7.0.16
# cd /fgeudb/software
# wget https://download.eclipse.org/ee4j/glassfish/glassfish-7.0.16.zip

# 输出示例如下:
–2026-04-04 10:00:00– https://download.eclipse.org/ee4j/glassfish/glassfish-7.0.16.zip
Resolving download.eclipse.org… 198.41.30.199
Connecting to download.eclipse.org|198.41.30.199|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 136314880 (130M) [application/zip]
Saving to: ‘glassfish-7.0.16.zip’

glassfish-7.0.16.zip 100%[===================>] 130.00M 20.5MB/s in 6.3s

2026-04-04 10:00:10 (20.5 MB/s) – ‘glassfish-7.0.16.zip’ saved

# 验证下载文件
# ls -lh glassfish-7.0.16.zip
-rw-r–r–. 1 root root 130M Apr 4 10:00 glassfish-7.0.16.zip

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

4. 环境准备

在安装GlassFish之前,需要准备必要的系统环境和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 11或更高版本
# yum install -y java-11-openjdk java-11-openjdk-devel

# 验证Java版本
# java -version

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

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

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

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

# 创建GlassFish用户和组
# groupadd -g 5012 glassfish
# useradd -g glassfish -u 5012 -d /home/glassfish -s /bin/bash glassfish

# 创建安装目录
# mkdir -p /fgeudb/glassfish
# chown -R glassfish:glassfish /fgeudb/glassfish

5. ZIP包安装实战

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

步骤1:解压安装包

# 安装unzip工具
# yum install -y unzip

# 解压安装包
# cd /fgeudb/software
# unzip glassfish-7.0.16.zip -d /fgeudb/

# 输出示例如下:
Archive: glassfish-7.0.16.zip
creating: /fgeudb/glassfish7/
creating: /fgeudb/glassfish7/bin/
creating: /fgeudb/glassfish7/glassfish/
creating: /fgeudb/glassfish7/glassfish/bin/
creating: /fgeudb/glassfish7/glassfish/config/
creating: /fgeudb/glassfish7/glassfish/domains/

# 重命名目录
# mv /fgeudb/glassfish7 /fgeudb/glassfish

# 查看目录结构
# ls -la /fgeudb/glassfish/
total 16
drwxr-xr-x. 4 glassfish glassfish 4096 Apr 4 10:05 .
drwxr-xr-x. 3 root root 4096 Apr 4 10:00 ..
drwxr-xr-x. 2 glassfish glassfish 4096 Apr 4 10:05 bin
drwxr-xr-x. 8 glassfish glassfish 4096 Apr 4 10:05 glassfish
-rw-r–r–. 1 glassfish glassfish 5120 Apr 4 10:05 LICENSE.txt
-rw-r–r–. 1 glassfish glassfish 1024 Apr 4 10:05 README.txt

# 设置权限
# chown -R glassfish:glassfish /fgeudb/glassfish

步骤2:配置GlassFish

# 编辑domain配置
# vi /fgeudb/glassfish/glassfish/domains/domain1/config/domain.xml

# 修改网络监听器配置




# 修改JVM配置

-Xms2g
-Xmx4g
-XX:MetaspaceSize=256m
-XX:MaxMetaspaceSize=512m
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200

# 保存配置文件

# 编辑asenv配置
# vi /fgeudb/glassfish/glassfish/config/asenv.conf

ASJAVA=/usr/lib/jvm/java-11-openjdk
ASROOT=/fgeudb/glassfish/glassfish
ASDOMAINS=/fgeudb/glassfish/glassfish/domains

# 保存配置文件

风哥提示:Xmx建议设置为总内存的50%。admin-listener端口4848用于管理控制台。生产环境建议修改默认端口和禁用远程管理。

步骤3:启动GlassFish

# 切换到glassfish用户
# su – glassfish

# 启动GlassFish服务
$ cd /fgeudb/glassfish
$ ./bin/asadmin start-domain domain1

# 输出示例如下:
Waiting for domain1 to start ……
Successfully started the domain : domain1
domain Location: /fgeudb/glassfish/glassfish/domains/domain1
Log File: /fgeudb/glassfish/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Debugging is enabled. The debugging port is: 9009

# 检查进程
$ ps -ef | grep glassfish
glassfish 12345 1 5 10:10 pts/0 00:00:10 /usr/lib/jvm/java-11-openjdk/bin/java -Xms2g -Xmx4g …

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

步骤4:配置systemd服务

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

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

[Service]
Type=forking
User=glassfish
Group=glassfish
Environment=”JAVA_HOME=/usr/lib/jvm/java-11-openjdk”
Environment=”AS_HOME=/fgeudb/glassfish”
ExecStart=/fgeudb/glassfish/bin/asadmin start-domain domain1
ExecStop=/fgeudb/glassfish/bin/asadmin stop-domain domain1
PIDFile=/fgeudb/glassfish/glassfish/domains/domain1/config/pid
Restart=on-failure
RestartSec=10
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target

# 重新加载systemd
# systemctl daemon-reload

# 启动GlassFish服务
# systemctl start glassfish

# 设置开机自启
# systemctl enable glassfish

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

# 检查服务状态
# systemctl status glassfish

● glassfish.service – GlassFish Application Server
Loaded: loaded (/etc/systemd/system/glassfish.service; enabled)
Active: active (running) since Fri 2026-04-04 10:15:00 CST; 10s ago
Process: 12340 ExecStart=/fgeudb/glassfish/bin/asadmin start-domain domain1 (code=exited, status=0/SUCCESS)
Main PID: 12345 (java)
CGroup: /system.slice/glassfish.service
└─12345 /usr/lib/jvm/java-11-openjdk/bin/java …

6. Docker容器安装实战

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

步骤1:拉取GlassFish镜像

# 拉取官方GlassFish镜像
# docker pull eclipse-temurin/glassfish:7.0.16-jdk11

# 输出示例如下:
7.0.16-jdk11: Pulling from eclipse-temurin/glassfish
f1f26f570256: Pull complete
8f8e43ef9c3a: Pull complete
e9d8dca5b8a5: Pull complete
a1b8d4c4a5e6: Pull complete
Digest: sha256:abc123def456…
Status: Downloaded newer image for eclipse-temurin/glassfish:7.0.16-jdk11
docker.io/eclipse-temurin/glassfish:7.0.16-jdk11

# 查看镜像
# docker images | grep glassfish
eclipse-temurin/glassfish 7.0.16-jdk11 abc123def456 2 weeks ago 600MB

步骤2:运行GlassFish容器

# 创建数据目录
# mkdir -p /fgeudb/glassfish/{domains,applications}

# 运行GlassFish容器
# docker run -d \
–name glassfish \
-p 4848:4848 \
-p 8080:8080 \
-p 8181:8181 \
-v /fgeudb/glassfish/domains:/glassfish7/glassfish/domains \
-v /fgeudb/glassfish/applications:/glassfish7/glassfish/domains/domain1/applications \
-e JVM_ARGS=”-Xms2g -Xmx4g” \
eclipse-temurin/glassfish:7.0.16-jdk11

# 输出示例如下:
abc123def456789…

# 检查容器状态
# docker ps | grep glassfish
abc123def456 eclipse-temurin/glassfish:7.0.16-jdk11 “/entrypoint.sh” 10 seconds ago Up 9 seconds 0.0.0.0:4848->4848/tcp, 0.0.0.0:8080->8080/tcp, 0.0.0.0:8181->8181/tcp glassfish

# 查看容器日志
# docker logs glassfish

# 输出示例如下:
Waiting for domain1 to start ……
Successfully started the domain : domain1
Admin Port: 4848

7. GlassFish配置优化

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

JVM配置优化

# 编辑JVM配置
# vi /fgeudb/glassfish/glassfish/domains/domain1/config/domain.xml

# JVM内存配置

-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/glassfish/glassfish/domains/domain1/logs/gc.log:time,tags

# 保存配置文件

线程池配置

# 编辑线程池配置
# vi /fgeudb/glassfish/glassfish/domains/domain1/config/domain.xml

# HTTP线程池配置

# 网络监听器配置






# 保存配置文件

数据源配置

# 使用asadmin配置数据源
$ /fgeudb/glassfish/bin/asadmin

# 输出示例如下:
Use “exit” to exit and “help” for online help.
asadmin>

# 创建JDBC连接池
asadmin> create-jdbc-connection-pool \
–datasourceclassname com.mysql.cj.jdbc.MysqlDataSource \
–restype javax.sql.DataSource \
–property user=appuser:password=YourPassword123!:url=jdbc\\:mysql\\://192.168.1.51\\:3306/appdb \
MySqlPool

# 输出示例如下:
JDBC connection pool MySqlPool created successfully.
Command create-jdbc-connection-pool executed successfully.

# 测试连接池
asadmin> ping-connection-pool MySqlPool

# 输出示例如下:
Command ping-connection-pool executed successfully.

# 创建JDBC资源
asadmin> create-jdbc-resource –connectionpoolid MySqlPool jdbc/MySqlDS

# 输出示例如下:
JDBC resource jdbc/MySqlDS created successfully.
Command create-jdbc-resource executed successfully.

# 退出
asadmin> exit

生产环境建议:max-thread-pool-size根据CPU核心数和并发需求设置。max-queue-size设置合理的队列大小防止内存溢出。建议配置数据库连接池参数。

8. 安装验证与测试

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

访问Web管理控制台

# 浏览器访问Web管理控制台
# URL: http://192.168.1.51:4848/

# GlassFish管理控制台功能:
# – 域管理
# – 应用部署
# – 资源配置(JDBC、JMS、JNDI)
# – 服务器配置
# – 监控和日志
# – 安全配置

# 默认管理员账户
# 用户名: admin
# 密码: 空(首次访问需要设置密码)

# 设置管理员密码
$ /fgeudb/glassfish/bin/asadmin change-admin-password

# 输出示例如下:
Enter admin user name [default: admin]> admin
Enter the admin password>
Enter the new admin password> YourPassword123!
Enter the new admin password again> YourPassword123!
Command change-admin-password executed successfully.

# 启用安全远程管理
$ /fgeudb/glassfish/bin/asadmin enable-secure-admin

# 输出示例如下:
Command enable-secure-admin executed successfully.

使用asadmin命令行工具

# 连接到GlassFish
$ /fgeudb/glassfish/bin/asadmin

# 输出示例如下:
Use “exit” to exit and “help” for online help.
asadmin>

# 查看版本
asadmin> version

# 输出示例如下:
Version = GlassFish 7.0.16 (build 2025-03-04T07:52:00+0000)
Command version executed successfully.

# 查看服务器状态
asadmin> list-domains

# 输出示例如下:
domain1 running
Command list-domains executed successfully.

# 查看JVM信息
asadmin> get server.jvm.*

# 输出示例如下:
server.jvm.classpath = /fgeudb/glassfish/glassfish/modules/*
server.jvm.java-home = /usr/lib/jvm/java-11-openjdk
server.jvm.vendor = Eclipse Adoptium
server.jvm.version = 11.0.20
Command get executed successfully.

# 查看已部署的应用
asadmin> list-applications

# 输出示例如下:
Nothing to list.
Command list-applications executed successfully.

# 退出
asadmin> exit

部署测试应用

# 创建测试应用目录
$ mkdir -p /fgeudb/glassfish/test-app/WEB-INF

# 创建web.xml
$ vi /fgeudb/glassfish/test-app/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/glassfish/test-app/index.jsp

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

# 打包WAR文件
$ cd /fgeudb/glassfish/test-app
$ jar -cvf ../test.war *

# 输出示例如下:
added manifest
adding: index.jsp(in = 285) (out= 202)(deflated 29%)
adding: WEB-INF/(in = 0) (out= 0)(stored 0%)
adding: WEB-INF/web.xml(in = 180) (out= 126)(deflated 30%)

# 部署应用
$ /fgeudb/glassfish/bin/asadmin deploy /fgeudb/glassfish/test.war

# 输出示例如下:
Application deployed with name test.
Command deploy executed successfully.

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

# 输出示例如下:
GlassFish 7.0.16 Test Page
Server: GlassFish 7.0.16
Java Version: 11.0.20

REST API测试

# 使用curl测试管理API
$ curl -X GET “http://192.168.1.51:4848/management/domain/version” \
-u admin:YourPassword123! \
-H “Accept: application/json”

# 输出示例如下:
{
“version”: {
“version”: “GlassFish 7.0.16”,
“build”: “2025-03-04T07:52:00+0000”
}
}

# 查看应用列表
$ curl -X GET “http://192.168.1.51:4848/management/domain/applications” \
-u admin:YourPassword123! \
-H “Accept: application/json”

# 输出示例如下:
{
“applications”: {
“application”: [
{
“name”: “test”,
“enabled”: “true”,
“location”: “/fgeudb/glassfish/glassfish/domains/domain1/applications/test”
}
]
}
}

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

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

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

联系我们

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

微信号:itpux-com

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