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

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

GlassFishは、Javaアプリケーションのデプロイに使用されるオープンソースのアプリケーションサーバーです。これは、JPA、JavaServer Faces、JMS、RMI、およびその他の多くのJavaベースのテクノロジーを含むさまざまなJavaベースのテクノロジーをサポートします。これは、Javaアプリケーションとそのコンポーネントを管理するためのWebベースおよびコマンドラインインターフェイスを提供します。 GlassFishを使用すると、レガシーテクノロジーと簡単に統合できるポータブルでスケーラブルなアプリケーションを作成できます。

このチュートリアルでは、Debian11にリバースプロキシとしてNginxを使用してGlassfishサーバーをインストールする方法を紹介します。

前提条件
  • Debian11を実行しているサーバー。
  • サーバーIPで指定された有効なドメイン名。
  • ルートパスワードはサーバーで構成されています。

Javaのインストール

GlassfishはJavaベースのアプリケーションソフトウェアであるため、Javaをサーバーにインストールする必要があります。インストールされていない場合は、次のコマンドを実行してインストールできます。

apt-get install default-jdk unzip -y

Javaがインストールされると、次のコマンドを使用してJavaのインストールを確認できます。

java --version

次の出力が得られます:

openjdk 11.0.13 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.13+8-post-Debian-1deb11u1, mixed mode, sharing)

終了したら、次のステップに進むことができます。

Glassfishをダウンロード

まず、EclipseのWebサイトからGlassfishの最新バージョンをダウンロードする必要があります。以下に示すように、wgetコマンドを使用してダウンロードできます。

wget https://download.eclipse.org/ee4j/glassfish/glassfish-6.1.0.zip

ダウンロードが完了したら、ダウンロードしたファイルを/optディレクトリに解凍します。

unzip glassfish-6.1.0.zip -d /opt/
を解凍します

終了したら、次のステップに進むことができます。

GlassfishのSystemdサービスファイルを作成する

次に、Glassfishサービスを管理するためのsystemdサービスファイルを作成する必要があります。次のコマンドを使用して作成できます:

nano /usr/lib/systemd/system/glassfish.service

次の行を追加します:

[Unit]
Description = GlassFish Server v6.1.0
After = syslog.target network.target

[Service]
User = root
ExecStart = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar start-domain
ExecStop = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar stop-domain
ExecReload = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar restart-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 v6.1.0
     Loaded: loaded (/lib/systemd/system/glassfish.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-11-07 04:56:16 UTC; 8s ago
    Process: 6018 ExecStart=/usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar start-domain (code=exited, status=0/SUC>
   Main PID: 6037 (java)
      Tasks: 91 (limit: 4679)
     Memory: 343.0M
        CPU: 13.299s
     CGroup: /system.slice/glassfish.service
             ??6037 /usr/lib/jvm/java-11-openjdk-amd64/bin/java -cp /opt/glassfish6/glassfish/modules/glassfish.jar -XX:+UnlockDiagnosticVMOp>

Nov 07 04:56:10 debian11 systemd[1]: Starting GlassFish Server v6.1.0...
Nov 07 04:56:16 debian11 java[6018]: Waiting for domain1 to start .....
Nov 07 04:56:16 debian11 java[6018]: Successfully started the domain : domain1
Nov 07 04:56:16 debian11 java[6018]: domain  Location: /opt/glassfish6/glassfish/domains/domain1
Nov 07 04:56:16 debian11 java[6018]: Log File: /opt/glassfish6/glassfish/domains/domain1/logs/server.log
Nov 07 04:56:16 debian11 java[6018]: Admin Port: 4848
Nov 07 04:56:16 debian11 java[6018]: Command start-domain executed successfully.
Nov 07 04:56:16 debian11 systemd[1]: Started GlassFish Server v6.1.0.

終了したら、次のステップに進むことができます。

Glassfish管理者パスワードを設定

デフォルトでは、Glassfishはパスワードなしでアクセスできます。したがって、管理者パスワードを設定して保護することをお勧めします。次のコマンドを実行することでそれを行うことができます:

/opt/glassfish6/bin/asadmin --port 4848 change-admin-password

以下に示すように、管理者のユーザー名を入力するように求められます。

Enter admin user name [default: admin]>admin

デフォルトの管理者ユーザー名を入力し、Enterキーを押します。既存の管理者パスワードを入力するように求められます:

Enter the admin password> 

Enterキーを押すだけです。以下に示すように、新しい管理者パスワードを設定するように求められます。

新しい管理者パスワードを入力>新しい管理者パスワードをもう一度入力>

安全なパスワードを設定し、Enterキーを押します。次の出力が得られます:

Command change-admin-password executed successfully.

次に、GlassfishでHTTPSを有効にすることもお勧めします。次のコマンドを実行することでそれを行うことができます:

/opt/glassfish6/bin/asadmin --port 4848 enable-secure-admin

HTTPSを有効にするには、管理者のユーザー名とパスワードを入力するように求められます。

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

終了したら、次のステップに進むことができます。

GlassFishWebインターフェイスにアクセス

この時点で、Glassfishがインストールされ、実行されています。デフォルトでは、GlassfishWebインターフェースはポート8080でリッスンします 管理インターフェースがポート4848でリッスンしている間 。まず、URL http:// your-server-ip:8080を使用してGlassfishWebインターフェースにアクセスします 。次のページが表示されます:

次に、URL https:// your-server-ip:4848を使用してGlassfish管理インターフェースにアクセスします 。 Glassfishログインページにリダイレクトされます:

管理者のユーザー名とパスワードを入力し、ログインをクリックします ボタン。次のページにGlassfish管理インターフェースが表示されます。

サーバーをクリックします 左側のペインに、次の画面が表示されます。

ここから、Glassfishログを再起動、停止、表示できます。

ノードをクリックします 左側のペインに、次の画面にGlassfishノード情報が表示されます。

NginxをGlassfishのリバースプロキシとして構成する

GlassfishWebインターフェイスにアクセスするためのリバースプロキシとしてNginxを構成することをお勧めします。したがって、ポート 8080を使用せずにアプリケーションにアクセスできます。 。

これを行うには、最初に次のコマンドを使用してNginxパッケージをインストールします。

apt-get install nginx -y

インストールしたら、以下のコマンドを使用してNginx仮想ホスト構成ファイルを作成します。

nano /etc/nginx/conf.d/glassfish.conf

次の行を追加します:

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

server {
  listen          80;
  server_name     glassfish.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サービスを再起動して、変更を適用します。

systemctl restart nginx

次のコマンドを使用して、Nginxのステータスを確認することもできます。

systemctl status nginx

次の出力が得られるはずです:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-11-07 05:02:58 UTC; 22s ago
       Docs: man:nginx(8)
    Process: 6790 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 6791 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 6873 (nginx)
      Tasks: 3 (limit: 4679)
     Memory: 5.1M
        CPU: 53ms
     CGroup: /system.slice/nginx.service
             ??6873 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??6875 nginx: worker process
             ??6876 nginx: worker process

Nov 07 05:02:58 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 07 05:02:58 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.

この時点で、Nginxがインストールされ、GlassfishWebインターフェースを提供するように構成されています。これで、URL http://glassfish.example.comを使用してGlassfishWebインターフェースにアクセスできます。 。

結論

おめでとう!これで、Debian 11にリバースプロキシとしてNginxを使用してGlassfishサーバーが正常にインストールされました。これで、GlassfishサーバーへのJavaベースのアプリケーションのデプロイを開始できます。ご不明な点がございましたら、お気軽にお問い合わせください。


Debian
  1. Debian11にNginxを使用してHTTPGitサーバーをインストールする方法

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

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

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

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

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

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

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

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