GNU/Linux >> Linux の 問題 >  >> Debian

Debian10でリバースプロキシとしてNginxを使用してGlassFishをインストールする方法

GlassFishは、EclipseFoundationによって開発されたJavaプラットフォームのオープンソースで世界初の実装です。これは軽量のアプリケーションサーバーであり、Enterprise JavaBeans、JPA、JavaServer Faces、JMSなどのさまざまなJavaベースのテクノロジーをサポートします。 GlassFishには、更新およびアドオンコンポーネント用の更新ツールを備えたシンプルで使いやすい管理コンソールが付属しています。

このチュートリアルでは、リバースプロキシとしてNginxを使用してDebian10にGlassFishをインストールする方法を説明します。

要件
  • Debian10を実行しているサーバー。
  • サーバーにルートパスワードが設定されています。
はじめに

開始する前に、システムを最新バージョンに更新する必要があります。これを行うには、次のコマンドを実行します。

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

サーバーが更新されたら、サーバーを再起動して変更を適用します。

Javaのインストール

GlassFishでは、Javaバージョン8がサーバーにインストールされている必要があります。したがって、システムに他のJavaバージョンがインストールされている場合は、Javaを削除する必要があります。

次のコマンドを使用して、Javaバージョン11を削除できます。

apt-get remove openjdk-11-jre-headless

次に、公式Webサイトから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サービスを作成する

次に、GlassFishサービスを管理するためのsystemdサービスファイルを作成できます。次のコマンドで作成できます:

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で実行されます。URLhttp:// your-server-ip:8080にアクセスしてアクセスできます。次のページが表示されます:

GlassFish管理コンソールはポート4848で実行されます。URLhttp:// 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  .."[email protected];....'.
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  [email protected]*..
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.."[email protected]
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をリバースプロキシとして構成する

次に、ポート80から8080で着信するリクエストをプロキシするためのリバースプロキシとしてNginxを構成する必要があります。

まず、次のコマンドを使用して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

これで、URLhttp://example.comにアクセスしてアプリケーションにアクセスできます。

おめでとう!これで、Debian10にリバースプロキシとしてNginxを使用してGlassFishが正常にインストールされました。これでJavaベースのアプリケーションをサーバーに簡単にデプロイできます。


Debian
  1. リバースプロキシとしてNginxを使用してCentOS7にOdoo10をインストールする方法

  2. リバースプロキシとしてNginxを使用してUbuntu20.04にFlectraをインストールする方法

  3. リバースプロキシとしてNginxを使用してUbuntu18.04にOdoo12をインストールする方法

  1. リバースプロキシとしてNginxを使用してCentOS7にOdoo11をインストールする方法

  2. リバースプロキシとしてNginxを使用してCentOS8にFlectraをインストールする方法

  3. リバースプロキシとしてJavaおよびApache2を使用してJBossASをインストールおよび設定する方法

  1. リバースプロキシとしてNginxを使用してCentOS8にOdoo14をインストールする方法

  2. リバースプロキシとしてNginxを使用してDebian8VPSにOdooをインストールします

  3. リバースプロキシとしてNginxを使用してDebian9にOdoo11をインストールする方法