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)
終了したら、次のステップに進むことができます。
まず、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ベースのアプリケーションのデプロイを開始できます。ご不明な点がございましたら、お気軽にお問い合わせください。