欢迎 on it road

在 CentOS 7 上安装 Glassfish 5.0

创建一个拥有 Glassfish 软件的用户。

[root@glassfish-01 ~]# useradd -s /sbin/nologin glassfish

从 Glassfish 网站下载 Glassfish 5.0。

Glassfish 有两个版本可用,Web Profile 和 Full Platform。

Full Platform 是完整的 Java EE 服务器,具有完整的 Java 平台支持。
而 Web Profile 是 Glassfish Full Platform 的子集,仅提供常用元素。

在这里,我们将下载 Glassfish 5.0 完整平台。

[root@glassfish-01 ~]# wget http://download.oracle.com/glassfish/5.0/release/glassfish-5.0.zip

提取 glassfish-5.0.zip 文件。

[root@glassfish-01 ~]# unzip -d /opt/ glassfish-5.0.zip

更改 /opt/glassfish5 目录的所有权。

[root@glassfish-01 ~]# chown -R glassfish:glassfish /opt/glassfish5/

创建一个 systemd 服务来自动启动 Glassfish 服务器。

[root@glassfish-01 ~]# vi /usr/lib/systemd/system/glassfish.service

并其中添加以下指令。

[Unit]
Description = GlassFish Server v5.0
After = syslog.target network.target
[Service]
User = glassfish
ExecStart = /usr/bin/java -jar /opt/glassfish5/glassfish/lib/client/appserver-cli.jar start-domain
ExecStop = /usr/bin/java -jar /opt/glassfish5/glassfish/lib/client/appserver-cli.jar stop-domain
ExecReload = /usr/bin/java -jar /opt/glassfish5/glassfish/lib/client/appserver-cli.jar restart-domain
Type = forking
[Install]
WantedBy = multi-user.target

启动并启用 glassfish.service 。

[root@glassfish-01 ~]# systemctl enable glassfish.service
Created symlink from /etc/systemd/system/multi-user.target.wants/glassfish.service to /usr/lib/systemd/system/glassfish.service.
[root@glassfish-01 ~]# systemctl start glassfish.service

Glassfish 使用以下服务端口。

4848 - 管理控制台
8080 - HTTP 服务
8181 - HTTPS 服务

在 Linux 防火墙中允许 Glassfish 服务端口。

[root@glassfish-01 ~]# firewall-cmd --permanent --add-port={4848,8080,8181}/tcp
success
[root@glassfish-01 ~]# firewall-cmd --reload
success

将 Glassfish 二进制文件添加到 PATH 环境变量。

[root@glassfish-01 ~]# sed -i 's/^PATH=*/PATH=\/opt\/glassfish5\/bin:/g' ~/.bash_profile

为 Glassfish 5.0 管理员用户设置密码。

[root@glassfish-01 ~]# asadmin --port 4848 change-admin-password
Enter admin user name [default: admin]>
Enter the admin password>
Enter the new admin password>
Enter the new admin password again>
Command change-admin-password executed successfully.

默认情况下,Glassfish 管理控制台作为明文 HTTP 服务运行。
运行以下命令以启用安全管理控制台。

[root@glassfish-01 ~]# asadmin --host glassfish-01.onitroad.com --port 4848 enable-secure-admin
Enter admin user name>  admin
Enter admin password for user "admin">
You must restart all running servers for the change in secure admin to take effect.
Command enable-secure-admin executed successfully.

重新启动 glassfish.service。

[root@glassfish-01 ~]# systemctl restart glassfish.service

重新启动 glassfish.service 后,我们无法访问 Glassfish 管理控制台。

感谢 StackOverflow 的 MS Dousti,我们才知道这个错误。

这是由于使用旧版本的 Grizzly 模块造成的。
作为解决方法,他建议将 grizzly-npn-bootstrap.jar 升级到更新版本。

因此,我们按照他的建议下载并升级了 grizzly-npn-bootstrap.jar。

[root@glassfish-01 ~]# cd /opt/glassfish5/glassfish/modules/endorsed
[root@glassfish-01 endorsed]# mv grizzly-npn-bootstrap.jar grizzly-npn-bootstrap.jar.1
[root@glassfish-01 endorsed]# wget https://search.maven.org/remotecontent?filepath=org/glassfish/grizzly/grizzly-npn-bootstrap/1.9/grizzly-npn-bootstrap-1.9.jar -O grizzly-npn-bootstrap.jar
 
[root@glassfish-01 endorsed]# chown glassfish:glassfish grizzly-npn-bootstrap.jar

重启 glassfish.service 。

[root@glassfish-01 endorsed]# systemctl restart glassfish.service

从客户端的浏览器浏览 URL https://glassfish-01.onitroad.com:4848/。
我们必须忽略证书警告并在浏览器中添加异常。

我们已经到达 Glassfish 5.0 管理控制台的登录页面。

使用我们在前面步骤中设置的密码以管理员用户身份登录。

我们已成功登录 Glassfish 管理控制台。

现在,从客户端的浏览器浏览 URL http://glassfish-01.onitroad.com/ 和 https://glassfish-01.onitroad.com/。

这两个 URL 都会将我们带到同一页面。
唯一的区别是,前者将为我们提供明文 HTTP 版本,而后者将为我们提供同一网页的加密 HTTPS 版本。

我们已经在 CentOS 7 服务器上成功安装了 Glassfish 5.0。

在 CentOS 7 上安装 GlassFish 5.0

GlassFish 是 Java EE 平台的开源应用程序服务器。

GlassFish 项目最初由 Sun Microsystem 发起,现在由 Oracle Corporation 赞助。
GlassFish 是免费软件,在两个免费软件许可证 CDDL(通用开发和分发许可证)和 GPL(GNU 通用公共许可证)下获得双重许可。

Oracle GlassFish Server 是商业支持的。
2013 年 11 月,Oracle 在继续开源更新的同时停止了对 Oracle GlassFish Server 的支持。
此后,Oracle 鼓励其客户迁移到另一个替代产品 Oracle Weblogic Server。

在本文中,我们将在 CentOS 7 上安装 GlassFish 5.0。

在 CentOS 7 上安装 Oracle Java SE 8

我们需要 wget 和 unzip 命令来分别下载和解压软件。
因此,我们使用 yum 命令安装这两个软件包。

[root@glassfish-01 ~]# yum install -y wget unzip

GlassFish 5.0 需要 Java JDK 8.
因此,我们正在从 Oracle 网站下载 Oracle Java SE 8.

虽然没有必要,我们必须使用 Oracle Java SE 8 ,我们也可以使用 OpenJDK。
由于我们之前使用的是 OpenJDK,因此,我们这次决定尝试使用 Oracle Java SE 8.

[root@glassfish-01 ~]# wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" "https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.rpm"

使用 yum 命令安装 Java JDK 8u201.

[root@glassfish-01 ~]# yum install -y jdk-8u201-linux-x64.rpm

设置 JAVA_HOME 环境变量。

[root@glassfish-01 ~]# echo "export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64/" >> /etc/profile
[root@glassfish-01 ~]# . /etc/profile
[root@glassfish-01 ~]# env | grep JAVA_HOME
JAVA_HOME=/usr/java/jdk1.8.0_201-amd64/

检查 Java 版本以验证安装。

[root@glassfish-01 ~]# java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
日期:2020-09-17 00:16:39 来源:oir作者:oir