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

Debian10にNginxプロキシを使用してApacheTomcat9をインストールする方法

Tomcatは、Javaベースのアプリケーションをデプロイするために使用される無料のオープンソースで軽量のアプリケーションサーバーです。スタンドアロンサーバーとして使用することも、ApacheやNginxなどの他のサーバーと組み合わせて使用​​することもできます。これは、Javaサーブレットと対話するための拡張機能を提供し、Javaプラットフォームのいくつかの技術仕様も実装します。現在、TomcatはJavaで最も広く使用されているアプリケーションサーバーの1つです。

このチュートリアルでは、Debian10にNginxを使用してTomcat9をインストールする方法を紹介します。

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

開始する前に、APTキャッシュを最新バージョンに更新することをお勧めします。次のコマンドを実行して更新できます:

apt-get update -y

システムパッケージキャッシュが最新になったら、次の手順に進むことができます。

Javaのインストール

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

apt-get install default-jdk -y

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

java --version

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

openjdk 11.0.9.1 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode, sharing)

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

Tomcatをインストールする

まず、Tomcatサーバーを実行するための専用ユーザーを作成する必要があります。次のコマンドで作成できます:

useradd -m -U -d /opt/tomcat -s /bin/false tomcat

次に、次のコマンドを使用して最新バージョンのTomcatをダウンロードします。

wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.45/bin/apache-tomcat-9.0.45.tar.gz

ダウンロードが完了したら、次のコマンドを使用してダウンロードしたファイルを抽出します。

tar -xvzf apache-tomcat-9.0.45.tar.gz

次に、次のコマンドを使用して、抽出したディレクトリを/optに移動します。

mv apache-tomcat-9.0.45 /opt/tomcat/tomcat

次に、次のコマンドを使用して適切な権限と所有権を設定します。

chown -R tomcat:tomcat /opt/tomcat/tomcat
chmod -R 755 /opt/tomcat/tomcat

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

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

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

nano /etc/systemd/system/tomcat.service

次の行を追加します:

[Unit]
Description=Tomcat 9.0 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/default-java"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

Environment="CATALINA_BASE=/opt/tomcat/tomcat"
Environment="CATALINA_HOME=/opt/tomcat/tomcat"
Environment="CATALINA_PID=/opt/tomcat/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

ファイルを保存して閉じてから、次のコマンドを使用してsystemdデーモンをリロードします。

systemctl daemon-reload

次に、Tomcatサービスを開始し、次のコマンドを使用してシステムの再起動時に開始できるようにします。

systemctl start tomcat
systemctl enable tomcat

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

systemctl status tomcat

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

? tomcat.service - Tomcat 9.0 servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-04-14 05:41:21 UTC; 42s ago
  Process: 5784 ExecStart=/opt/tomcat/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 5791 (java)
    Tasks: 30 (limit: 4701)
   Memory: 159.1M
   CGroup: /system.slice/tomcat.service
           ??5791 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/opt/tomcat/tomcat/conf/logging.properties -Djava.util.log

Apr 14 05:41:21 debian systemd[1]: Starting Tomcat 9.0 servlet container...
Apr 14 05:41:21 debian startup.sh[5784]: Tomcat started.
Apr 14 05:41:21 debian systemd[1]: Started Tomcat 9.0 servlet container.

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

TomcatWebインターフェースの構成

次に、TomcatWebインターフェースにアクセスするためのユーザーを定義する必要があります。 tomcat-users.xmlファイルを使用して定義できます:

nano /opt/tomcat/tomcat/conf/tomcat-users.xml

セクションを見つけて、次の行を追加または変更します。

  <role rolename="admin-gui"/>
  <role rolename="manager-gui"/>
  <user username="tomcatadmin" password="password" roles="admin-gui,manager-gui"/>

終了したら、ファイルを保存して閉じます。

デフォルトでは、TomcatWebインターフェースはローカルホストからのみアクセスするように構成されています。したがって、外部アクセス用に構成する必要があります。

Managerアプリの場合は、次の行を編集します。

nano /opt/tomcat/tomcat/webapps/manager/META-INF/context.xml

Host Managerアプリの場合は、次のファイルを編集します。

nano /opt/tomcat/tomcat/webapps/host-manager/META-INF/context.xml

次の行を削除します:

  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

ファイルを保存して閉じてから、Tomcatサービスを再起動して変更を適用します。

systemctl restart tomcat

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

Tomcat用にNginxを構成する

次に、NginxをTomcatのリバースプロキシとしてインストールして構成する必要があります。まず、次のコマンドを使用してNginxパッケージをインストールします。

apt-get install nginx -y

Nginxをインストールしたら、Tomcat用の新しいNginx仮想ホスト構成ファイルを作成する必要があります。次のコマンドを使用して作成できます:

nano /etc/nginx/conf.d/tomcat.conf

次の行を追加します:

server {
  listen          80;
  server_name     tomcat.example.com;
  root            /opt/tomcat/tomcat/webapps/;


  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://127.0.0.1:8080/;
  }
}

ファイルを保存して閉じ、構文エラーがないか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 Wed 2021-04-14 05:57:03 UTC; 1min 38s ago
     Docs: man:nginx(8)
  Process: 6852 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 6853 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 6854 (nginx)
    Tasks: 3 (limit: 4701)
   Memory: 4.0M
   CGroup: /system.slice/nginx.service
           ??6854 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ??6855 nginx: worker process
           ??6856 nginx: worker process

Apr 14 05:57:03 debian systemd[1]: Starting A high performance web server and a reverse proxy server...
Apr 14 05:57:03 debian systemd[1]: Started A high performance web server and a reverse proxy server.

この時点で、NginxはTomcatにアクセスするように構成されています。これで、次のステップに進むことができます。

TomcatWebUIにアクセス

次に、Webブラウザーを開き、URL http://tomcat.example.comを使用してTomcatWebUIにアクセスします。 。次のページが表示されます:

マネージャーをクリックします アプリ 、次のページが表示されます:

Manager App管理者のユーザー名とパスワードを入力し、サインインをクリックします ボタン。次のページが表示されます:

ホストマネージャーをクリックすることもできます 以下に示すように、ホストマネージャーアプリにアクセスするには:

結論

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


Debian
  1. Debian10にApacheZooKeeperをインストールする方法

  2. Nginxを使用してDebianVPSにYiiフレームワークをインストールする方法

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

  1. Debian11にApacheCassandraをインストールする方法

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

  3. Debian11にNginxを使用してWonderCMSをインストールする方法

  1. Debian11にApacheTomcatをインストールする方法(ステップバイステップ)

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

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