如何在 Rocky Linux 上安装 GlassFish Java 应用服务器
在此页
- 先决条件
- 安装 Java OpenJDK
- 下载 GlassFish 应用程序
- 将 GlassFish 作为系统服务运行
- 配置 GlassFish 管理
- 将 Nginx 设置为反向代理
- 设置防火墙
- 访问 GlassFish
- 结论
GlassFish 是由 Eclipse 开发的 Java EE 平台的免费开源实现。它是世界领先的 Java EE 平台实现。它提供了一个轻量级的应用程序服务器,并允许您部署多个基于 Java 的应用程序。 GlassFish 支持多种类型的 Java 应用程序技术,例如 Enterprise JavaBeans、JPA、JavaServer Faces、JMS 等等。
GlassFish 是开发人员开发和部署基于 Java 的应用程序的最佳选择之一。它允许开发人员以方便的方式和可扩展的架构开发企业应用程序。 GlasshFish 项目最初由 Sun Microsystem 发起。它带有两种不同的免费许可证——通用开发和分发许可证以及 GNU 通用公共许可证。
在本教程中,我们将在 Rocky Linux 上安装带有 Nginx 反向代理的 GlassFish Java Application Server。我们将安装 Java OpenJDK,通过二进制包安装 GlassFish,并安装和配置 Nginx 作为反向代理。
先决条件
首先,您必须确保满足以下要求:
- Rocky Linux 服务器 - 您可以使用 Rocky Linux 8 或 9。
- 具有 sudo root/管理员权限的非 root 用户。
- 本地开发服务器的本地域名。
现在让我们跳到安装。
安装 Java OpenJDK
GlassFish 是一个 Java 应用服务器。要安装它,您必须在您的服务器上安装 Java OpenJDK。
在撰写本文时,最新版本的 GlassFish 6.2.5 至少需要 Java OpenJDK 11。现在,您将通过在 Rocky Linux 系统上安装 Java OpenJDK 11 来开始安装。
默认的 Java OpenJDK 在 Rocky Linux appstream 存储库中可用。通过以下 dnf 命令安装它。
sudo dnf install java-11-openjdk
出现提示时,输入 y 确认并按 ENTER 继续,Java OpenJDK 安装将开始。

接下来,运行以下 java 命令来验证您的安装。您应该会收到安装在 Rocky Linux 上的 Java OpenJDK 11 的输出。
java -version

安装 Java OpenJDK 后,下一步将下载 GlassFish 并从二进制包中手动安装它。
下载 GlassFish 应用程序
GlassFish 是由 Eclipse 开发的 Java EE 兼容实现。您可以通过从源代码构建来手动安装它,也可以通过 Eclipse 提供的二进制分发包来安装它。
在此步骤中,您将通过可从 Eclipse 网站下载的二进制分发包安装 GlassFish。
在开始 GlassFish 安装之前,运行以下 dnf 命令来安装解压包。这将用于提取 GlassFish 分发包。
sudo dnf install unzip
接下来,运行以下命令为 GlassFish 创建一个新的专用用户。在此示例中,您将通过非根用户 glassfish 运行 GLassFish 应用程序服务器。
sudo useradd -m -d /opt/glassfish6 -U -s /bin/false glassfish
创建 glassfish 用户后,导航到 /tmp 目录并通过下面的 wget 命令下载 GlassFish 二进制分发包。
cd /tmp
wget https://download.eclipse.org/ee4j/glassfish/glassfish-6.2.5.zip
您应该获得新文件 glassfish-6.2.5.zip。

运行以下解压缩命令将 GlassFish 包 glassfish-6.2.5.zip 解压缩到 /opt 目录。
unzip /tmp/glassfish-6.2.5.zip -d /opt
现在 GlassFish 包已提取到 /opt/glassfish6 目录。
最后,运行以下命令将 GlassFish 安装目录 /opt/glassfish6 的所有权更改为用户和组 glassfish。
sudo chown -R glassfish:glassfish /opt/glassfish6
现在您已经下载了 GlassFish 包,您现在可以通过二进制文件 /opt/glassfish6/bin/asadmin 手动启动 GlassFish 应用程序。但为了简化操作,您将设置并运行 GlassFish 作为 systemd 服务。
将 GlassFish 作为 Systemd 服务运行
在本指南中,您将通过 systemd 服务运行 GlassFish Java Application Server。这使您可以通过 systemctl 命令轻松管理 GlassFish 应用程序服务器。
首先,使用以下 nano 编辑器创建一个新的 systemd 服务文件 /lib/systemd/system/glassfish.service。
sudo nano /lib/systemd/system/glassfish.service
将以下配置添加到文件中。
[Unit]
Description = GlassFish Server v6
After = syslog.target network.target
[Service]
User=glassfish
ExecStart=/opt/glassfish6/bin/asadmin start-domain
ExecReload=/opt/glassfish6/bin/asadmin restart-domain
ExecStop=/opt/glassfish6/bin/asadmin stop-domain
Type = forking
[Install]
WantedBy = multi-user.target
完成后保存文件并退出编辑器。
接下来,运行以下 systemctl 命令以重新加载 systemd 管理器并应用新的服务文件 glassfish.service。
sudo systemctl daemon-reload
现在您已经重新加载了 systemd 管理器,您现在可以通过以下 systemctl 命令启动并启用 glassfish 服务。
sudo systemctl start glassfish
sudo systemctl enable glassfish

glassfish 服务启动后,运行以下 systemctl 命令来验证 glassfish 服务并确保该服务正在运行。
sudo systemctl status glassfish
您应该收到运行的 glassfish 服务的输出,如下图所示。

现在 glassfish Java 应用程序正在运行,下一步将开始配置 GlassFish 管理。
配置 GlassFish 管理
默认的 GlassFish 安装没有管理员密码。现在,您将为 GlassFish 配置管理用户和密码,并通过命令行 /opt/glassfish6/bin/asadmin 保护 GlassFish 安装。
运行以下命令开始为 GlassFish 安装配置管理员用户和密码。
sudo -u glassfish /opt/glassfish6/bin/asadmin --port 4848 change-admin-password
现在系统将提示您进行一些 GlassFishs 管理。
- 输入 GlassFish 的用户 - 默认用户是 admin。
- 默认的 GlassFish 安装没有密码,因此请按 ENTER。
- 现在输入 GlassFish 安装的新密码并重复。
您现在应该有一条输出消息,例如 Command change-admin-password 已成功执行。

配置 GlassFish 管理用户后,接下来您将开始保护 GlassFish 安装。
运行以下命令以开始保护 GlassFish。
sudo -u glassfish /opt/glassfish6/bin/asadmin --port 4848 enable-secure-admin
当提示输入 GlassFish 管理员用户和密码时,输入您之前配置的详细信息。全部完成后,您将看到诸如 Command enable-secure-admin 成功执行之类的输出。

接下来,运行以下命令以重新启动 glassfish 服务并应用新更改。
sudo systemctl restart glassfish
此时,GlassFish 现在使用新的管理用户和密码运行,并且也受到保护。默认的 GlassFish Java Application Server 在端口 8080 上运行,GlassFish 管理在端口 4848 上运行。
在访问 GlassFish 安装之前,请运行以下 firewall-cmd 命令以打开端口 8080 和 4848。
sudo firewall-cmd --add-port=8080/tcp --zone=public
sudo firewall-cmd --add-port=4848/tcp --zone=public
最后,打开您的网络浏览器并访问 IP 地址后跟端口 8080(即:http://192.168.5.100:8080)。您现在应该看到 GlassFish Java 应用服务器的默认 index.html 页面。

对于 GlashFish 管理,访问端口为 4848 的服务器 IP 地址(即:http://192.168.5.100:4848/)。您应该会看到 GlassFish 管理登录页面。

将 Nginx 设置为反向代理
此时,GlassFish Java 应用程序正在运行并启用管理并受到保护。现在您将安装 Nginx 并将其设置为 GlassFish 的反向代理。
使用 Nginx 反向代理,您将在标准端口 HTTP 或 HTTPS(如果启用)上运行 GlassFish。
运行以下 dnf 命令来安装 Nginx Web 服务器。当提示进行配置时,输入 Y 并按 ENTER 继续。
sudo dnf install nginx

接下来,使用以下 nano 编辑器创建一个新的 Nginx 服务器块配置 /etc/nginx/conf.d/glassfish.conf。此配置将使 Nginx 作为 GlassFish 的反向代理运行。
sudo nano /etc/nginx/conf.d/glassfish.conf
将以下配置添加到文件中,并确保将本地域名 glassfish.hwdomain.io 更改为您的域。
upstream glassfish6 {
server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}
server {
listen 80;
server_name glassfish.hwdomain.io;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://glassfish6/;
}
}
完成后保存文件并关闭编辑器。
接下来,运行以下命令来验证 Nginx 配置。如果配置正确,您应该会看到输出消息,例如 Syntax is OK - test is successful。
sudo nginx -t
现在您已经为 GlassFish 创建了 Nginx 服务器块,接下来您将运行以下命令来启动和启用 Nginx 服务。
sudo systemctl start nginx
sudo systemctl enable nginx
Nginx 服务现在应该正在运行并已启用,并将在系统启动时自动运行。

最后,使用以下命令验证 Nginx 服务以确保该服务正在运行。
sudo systemctl status nginx
您将看到如下输出 - 您可以看到 Nginx 服务正在运行。

设置防火墙
Rocky Linux 上的默认 firewalld 正在运行。要使 GlassFish 可访问,您需要打开 HTTP 端口和 GlassFish 管理端口 4848。
在下面运行以下 firewall-cmd 命令以添加 HTTP 和 HTTPS 服务以及 GlassFish 管理的默认端口 4848。
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --add-port=4848/tcp --permanent
现在重新加载 firewalld 规则并通过以下命令验证启用的规则列表。
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
您应该收到以下输出 - HTTP 和 HTTPS 服务已添加到 firewalld,并且还添加了 GlassFish 管理端口 4848/tcp。

访问 GlassFish
在您的本地计算机上,使用以下 nano 编辑器编辑文件 /etc/hosts。
sudo nano /etc/hosts
将以下配置添加到文件中,并确保为您的 GlassFIsh 安装更改服务器 IP 地址和本地域名。
192.168.5.100 glassfish.hwdomain.io
完成后保存文件并退出编辑器。
接下来,打开 Web 浏览器并访问 GlassFish 安装的域名(即:http://glassfish.hwdomain.io/)。您现在应该获得 GlassFish 的默认 index.html 页面。

现在打开一个新选项卡并访问您的域名,然后访问管理端口 4848(即:https://glassfish.hwdomain.io:4848/)。您现在应该获得 GlassFish 的管理登录页面。
输入您配置的管理员用户和密码,然后单击登录。

如果管理员用户和密码正确,您应该会看到如下所示的 GlassFish 管理仪表板。

结论
在本指南中,您已在 Rocky Linux 服务器上安装了 GlassFish Java Application Server。您还安装了 Java OpenJDK 11 并为 Linux 系统添加了新的服务文件。最后,您还学习了作为 GlassFish Java Application Server 反向代理的 Nginx Web 服务器的安装和配置。
对于下一步,您现在可以开始部署其他应用程序或开始配置 GLassFish 的高可用性。