在 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。
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)