如何在 Debian 10 上使用 Nginx 作为反向代理安装 GlassFish如何在 Debian 10 上使用 Nginx 作为反向代理安装 GlassFish如何在 Debian 10 上使用 Nginx 作为反向代理安装 GlassFish如何在 Debian 10 上使用 Nginx 作为反向代理安装 GlassFish
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Debian 10 上使用 Nginx 作为反向代理安装 GlassFish

本教程适用于这些操作系统版本

  • Debian 11(Bullseye)
  • Debian 10(Buster)

在此页

  1. 要求
  2. 开始
  3. 安装 Java
  4. 安装 GlassFish
  5. 创建 GlassFish 服务
  6. 启用 GlassFish 管理控制台
  7. 访问 GlassFish
  8. 在 GlassFish 上部署应用程序
  9. 将 Nginx 配置为反向代理

GlassFish 是 Eclipse Foundation 开发的 Java 平台的开源和世界上第一个实现。它是一个轻量级应用程序服务器,支持不同的基于 Java 的技术,如 Enterprise JavaBeans、JPA、JavaServer Faces、JMS 等等。 GlassFish 附带一个简单易用的管理控制台,其中包含用于更新和附加组件的更新工具。

在本教程中,我们将解释如何使用 Nginx 作为反向代理在 Debian 10 上安装 GlassFish。

要求

  • 运行 Debian 10 的服务器。
  • 已为您的服务器设置根密码。

入门

在开始之前,您需要使用最新版本更新您的系统。您可以通过运行以下命令来执行此操作:

apt-get update -y
apt-get upgrade -y

服务器更新后,重新启动服务器以应用更改。

安装Java

GlassFish 要求在您的服务器上安装 Java 版本 8。因此,如果您的系统上安装了任何其他 Java 版本,则需要删除 Java。

您可以使用以下命令删除 Java 版本 11:

apt-get remove openjdk-11-jre-headless

接下来,您需要从他们的官方网站下载 Java 版本 8。下载完成后,使用以下命令将下载的文件解压缩到 /usr/lib/jvm 目录:

mkdir /usr/lib/jvm/
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/lib/jvm/

接下来,使用以下命令设置默认 Java 版本:

update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_221/bin/java 1

您应该得到以下输出:

update-alternatives: using /usr/lib/jvm/jdk1.8.0_221/bin/java to provide /usr/bin/java (java) in auto mode

您现在可以使用以下命令检查 java 版本:

java -version

您应该看到以下输出:

java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

安装 GlassFish

首先,使用以下命令安装所需的包:

apt-get install wget unzip -y

接下来,使用以下命令下载最新版本的 GlassFish:

wget http://download.oracle.com/glassfish/5.0.1/nightly/latest-glassfish.zip

下载完成后,使用以下命令将下载的文件解压缩到 /opt 目录:

unzip latest-glassfish.zip -d /opt/

完成后,您可以继续下一步。

创建 GlassFish 服务

接下来,您可以创建一个 systemd 服务文件来管理 GlassFish 服务。您可以使用以下命令创建它:

nano /etc/systemd/system/glassfish.service

添加以下内容:

[Unit]
Description = GlassFish Server v5.0
After = syslog.target network.target

[Service]
ExecStart=/opt/glassfish5/bin/asadmin start-domain
ExecReload=/opt/glassfish5/bin/asadmin restart-domain
ExecStop=/opt/glassfish5/bin/asadmin stop-domain
Type = forking

[Install]
WantedBy = multi-user.target

保存并关闭文件。然后,使用以下命令重新加载 systemd 守护进程:

systemctl daemon-reload

接下来,启动 GlassFish 服务并使用以下命令使其在启动时启动:

systemctl start glassfish
systemctl enable glassfish

您现在可以使用以下命令检查 GlassFish 服务的状态:

systemctl status glassfish

您应该得到以下输出:

? glassfish.service - GlassFish Server v5.0
   Loaded: loaded (/etc/systemd/system/glassfish.service; disabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-09-19 04:54:25 EDT; 42s ago
  Process: 15205 ExecStart=/opt/glassfish5/bin/asadmin start-domain (code=exited, status=0/SUCCESS)
 Main PID: 15217 (java)
    Tasks: 90 (limit: 1138)
   Memory: 271.7M
   CGroup: /system.slice/glassfish.service
           ??15217 /usr/lib/jvm/jdk1.8.0_221/bin/java -cp /opt/glassfish5/glassfish/modules/glassfish.jar -XX:+UnlockDiagnosticVMOptions -XX:Ne

Sep 19 04:53:42 debian systemd[1]: Starting GlassFish Server v5.0...
Sep 19 04:54:24 debian asadmin[15205]: Waiting for domain1 to start .................................
Sep 19 04:54:24 debian asadmin[15205]: Successfully started the domain : domain1
Sep 19 04:54:24 debian asadmin[15205]: domain  Location: /opt/glassfish5/glassfish/domains/domain1
Sep 19 04:54:24 debian asadmin[15205]: Log File: /opt/glassfish5/glassfish/domains/domain1/logs/server.log
Sep 19 04:54:24 debian asadmin[15205]: Admin Port: 4848
Sep 19 04:54:24 debian asadmin[15205]: Command start-domain executed successfully.
Sep 19 04:54:25 debian systemd[1]: Started GlassFish Server v5.0.
lines 1-18/18 (END)

启用 GlassFish 管理控制台

默认情况下,未设置 GlassFish 管理控制台密码。因此,您需要更新管理员密码。

运行以下命令设置管理员密码:

/opt/glassfish5/bin/asadmin change-admin-password

提供您想要的密码,然后按 Enter。设置密码后,您应该会看到以下输出:

Enter admin user name [default: admin]>admin
Enter the admin password> 
Enter the new admin password> 
Enter the new admin password again> 
Command change-admin-password executed successfully.

接下来,您需要启用安全管理功能。您可以使用以下命令执行此操作:

/opt/glassfish5/bin/asadmin enable-secure-admin

提供您的管理员用户名和密码,然后按 Enter 键启用安全管理员,如下所示:

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 服务以应用配置更改:

systemctl restart glassfish

访问 GlassFish

默认情况下,GlassFish 应用程序在端口 8080 上运行。您可以通过访问 URL http://your-server-ip:8080 来访问它。您应该会看到以下页面:

GlassFish 管理控制台在端口 4848 上运行。您可以通过访问 URL http://your-server-ip:4848 来访问它。您应该会看到 GlassFish 登录页面:

提供您的管理员用户名和密码,然后单击“登录”按钮。您应该会在以下屏幕中看到 GlassFish 管理控制台:

在 GlassFish 上部署应用程序

现在安装并配置了 GlassFish,是时候在 GlassFish 上部署示例应用程序了。

首先,使用以下命令下载 hello.war 应用程序:

wget https://github.com/dmatej/Glassfish/raw/master/v2/www/downloads/quickstart/hello.war

接下来,使用以下命令部署 hello.war 应用程序:

/opt/glassfish5/bin/asadmin deploy hello.war

您应该看到以下输出:

  Version: V3
  Subject: CN=localhost, OU=GlassFish, O=Oracle Corporation, L=Santa Clara, ST=California, C=US
  Signature Algorithm: SHA256withRSA, OID = 1.2.840.113549.1.1.11

  Key:  Sun RSA public key, 2048 bits
  modulus: 26796330640308027923768800042502020134808966576745098232029910481655545436468207928921434907495986430069072245547607053010428717755932187048623252153613041636091429700133899537566912806297788375081359516836091002133743138757261794690981737280330851500902934286405305506594303276580413684625941149729611614458782091187522283499926880436357851913036137048969953439207474630152049712806975982901461106170366207997764866053158318707816771263261147284707875045634066423002500565550480728681743613266266732299458152358213914375115269066441015633123820868476095174900081535873996509058837674720310526766610294764426209317187
  public exponent: 65537
  Validity: [From: Tue Jan 15 21:17:50 EST 2019,
               To: Fri Jan 12 21:17:50 EST 2029]
  Issuer: CN=localhost, OU=GlassFish, O=Oracle Corporation, L=Santa Clara, ST=California, C=US
  SerialNumber: [    3347569f]

Certificate Extensions: 1
[1]: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: F2 F1 22 14 40 CA 9E 1D   92 3B B6 B9 09 D1 27 E7  ..";....'.
0010: 50 1A 37 4D                                        P.7M
]
]

]
  Algorithm: [SHA256withRSA]
  Signature:
0000: C7 CB 91 D4 9B 39 21 13   B3 48 87 09 85 2E DF B7  .....9!..H......
0010: F9 E7 52 1B 39 D0 12 55   97 A8 02 8D B9 EC 26 F0  ..R.9..U......&.
0020: A6 8F 29 5B 96 80 71 AA   CB C8 EA 83 4F 18 E7 19  ..)[..q.....O...
0030: 26 CF BF 72 B1 E6 23 53   F2 14 CD BA 68 FE 4B 4C  &..r..#S....h.KL
0040: BB B1 3E DE D9 EB 6D 96   8C 8F 0D 33 B6 E7 28 F1  ..>...m....3..(.
0050: D5 40 6B BC 01 FF F9 5A   79 9A 96 DA D9 2A 84 99  *..
0060: FA 3A 7A 9D 52 6C C2 D5   E9 DC 98 8B 20 EF 69 99  .:z.Rl...... .i.
0070: E6 FC 1B 0F CA B2 0C 66   BE BB A7 EA 3D DB BB F5  .......f....=...
0080: 88 F1 B4 B1 15 74 FA 9F   E0 9A 98 C5 12 A0 60 B4  .....t........`.
0090: 9B 92 19 FD BA 81 20 7F   51 83 E9 22 56 96 9A 40  ...... .Q.."
00A0: 2C 27 BB 86 57 7D 2E E9   C5 98 1A 04 A2 C5 FC 17  ,'..W...........
00B0: 6E 8B 31 79 29 A0 A1 22   1A 31 C0 A6 96 7A D4 80  n.1y)..".1...z..
00C0: 3F 05 26 BB DE D1 2D 74   01 1F 24 EC CE 3B 97 42  ?.&...-t..$..;.B
00D0: 16 E8 16 F1 A4 10 92 0B   8E A5 18 59 BF AA 69 B0  ...........Y..i.
00E0: DB C8 C2 66 5F 5D 2F 3D   4B C7 90 1D C2 24 B1 57  ...f_]/=K....$.W
00F0: 22 02 DA 76 FF 2E B7 C5   E4 E6 50 BD 73 36 AA 8A  "..v......P.s6..

]
Do you trust the above certificate [y|N] -->y
Enter admin user name>  admin
Enter admin password for user "admin"> 
Application deployed with name hello.
Command deploy executed successfully.

要访问您的应用程序,请打开您的 Web 浏览器并输入 URL http://your-server-ip:8080/hello。您将被重定向到以下页面:

配置 Nginx 作为反向代理

现在,您需要将 Nginx 配置为反向代理,以代理来自端口 80 到 8080 的请求。

首先,使用以下命令安装 Nginx:

apt-get install nginx -y

安装 nginx 后,使用以下命令为 GlassFish 创建一个 Nginx 虚拟主机文件:

nano /etc/nginx/sites-available/glassfish.conf

添加以下行:

upstream glassfish {
  server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}

server {
  listen          80;
  server_name     example.com;

  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://glassfish/hello/;
  }
}

保存并关闭文件。然后,使用以下命令检查 Nginx 是否存在任何语法错误:

nginx -t

您应该得到以下输出:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

接下来,启用 Nginx 虚拟主机并使用以下命令重新启动 Nginx 服务:

ln -s /etc/nginx/sites-available/glassfish.conf /etc/nginx/sites-enabled/
systemctl restart nginx

现在,您可以通过访问 URL http://example.com 来访问您的应用程序。

恭喜!您已经在 Debian 10 上成功安装了带有 Nginx 作为反向代理的 GlassFish。您现在可以轻松地在您的服务器上部署任何基于 Java 的应用程序。

©2015-2025 艾丽卡 support@alaica.com