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

Ubuntu18.04でリバースプロキシとしてNginxを使用してTomcatを設定する方法

Apache Tomcatは、Javaベースのアプリケーションをデプロイするために使用できるJavaサーブレットおよびJSPテクノロジーのオープンソース実装です。 Apache-Jakartaサブプロジェクトの下で作成されましたが、人気があるため、現在は別のApacheプロジェクトとしてホストされています。 Tomcatは、完全なWebアプリケーションソリューションの開発を容易にする追加機能も提供します。 Tomcatはシンプルで使いやすく、世界で最も広く使用されているWebサーバーの1つです。

シームレスかつ高速に動作するJavaベースのアプリケーションを実行する場合は、ApacheTomcatが最適です。

このチュートリアルでは、Ubuntu18.04VPSにリバースプロキシとしてNginxを使用してApacheTomcatをインストールおよび構成する方法を学習します。

前提条件

  • Atlantic.Netクラウドプラットフォーム上の新しいUbuntu18.04VPS。
  • VPSIPアドレスを指す有効なドメイン名。このチュートリアルでは、example.comを使用します。

:大西洋DNSガイドを参照してDNSレコードを管理できます。

ステップ1-Atlantic.Netクラウドサーバーを作成する

まず、Atlantic.Netクラウドサーバーにログインします。 2GB以上のRAMを搭載したオペレーティングシステムとしてUbuntu18.04を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。

Ubuntu 18.04サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。

apt-get update -y

ステップ2–Javaをインストールする

Apache TomcatはJavaベースのアプリケーションであるため、Javaをシステムにインストールする必要があります。次のコマンドを使用して、最新バージョンのJavaをインストールできます。

apt-get install default-jdk -y

Javaをインストールした後、次のコマンドを使用してJavaのバージョンを確認します。

java --version

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

ステップ4–Tomcatユーザーを作成する

次に、Tomcatサービスを実行するためのTomcatユーザーとグループを作成する必要があります。

まず、次のコマンドを使用して、tomcatという名前のグループを作成します。

groupadd tomcat

次に、新しいtomcatユーザーを作成し、このユーザーを/ home/tomcatホームディレクトリを持つtomcatグループのメンバーにします。

useradd -s /bin/false -g tomcat -d /home/tomcat tomcat

この時点で、Tomcatユーザーが作成されます。

ステップ5–Tomcatをダウンロードする

まず、ApacheTomcatのダウンロードページにアクセスします。次の画面が表示されます。

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

wget http://www.mirrorservice.org/sites/ftp.apache.org/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31-fulldocs.tar.gz
>

Apache Tomcatをダウンロードした後、次のコマンドを使用してダウンロードしたファイルを抽出します。

tar -xvzf apache-tomcat-9.0.31-fulldocs.tar.gz

次に、以下に示すように、抽出したディレクトリを/ home/tomcatに移動します。

mv tomcat-9.0-doc /home/tomcat

次に、/ home / tomcatディレクトリの所有権をtomcatに変更し、次のコマンドを使用して適切な権限を付与します。

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

ステップ6–Tomcat用のシステムユニットファイルを作成する

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

nano /etc/systemd/system/tomcat.service

次の行を追加します:

[Unit]
Description=Tomcat 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=/home/tomcat"
Environment="CATALINA_HOME=/home/tomcat"
Environment="CATALINA_PID=/home/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/home/tomcat/bin/startup.sh
ExecStop=/home/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 servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-11-28 05:15:32 UTC; 7s ago
  Process: 6044 ExecStart=/home/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 6053 (java)
    Tasks: 43 (limit: 1150)
   CGroup: /system.slice/tomcat.service
           └─6053 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/home/tomcat/conf/logging.properties -Djava.util.logging.m

Nov 28 05:15:32 ubuntu1804 systemd[1]: Starting Tomcat servlet container...
Nov 28 05:15:32 ubuntu1804 startup.sh[6044]: Tomcat started.
Nov 28 05:15:32 ubuntu1804 systemd[1]: Started Tomcat servlet container.

ステップ7–TomcatWebインターフェースにアクセスする

これで、Tomcatがポート8080にインストールされ、実行されます。次のコマンドを使用して、Tomcatポートを確認できます。

netstat -ant

次の出力が表示されます。

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State     
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN    
tcp6       0      0 :::8009                 :::*                    LISTEN    
tcp6       0      0 :::8080                 :::*                    LISTEN    
tcp6       0      0 :::22                   :::*                    LISTEN    
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN

次に、Webブラウザーを開き、URL http:// your-server-ip:8080にアクセスします。 。 TomcatのデフォルトのWebページが表示されます:

ステップ8–TomcatWeb管理インターフェースを構成する

次に、マネージャーのWebアプリケーションにアクセスするためのログインを追加する必要があります。

ファイルtomcat-users.xmlを編集することにより、manager-guiおよびadmin-guiにアクセスするためのユーザーを追加できます。

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

の行の上に次の行を追加します:

<role rolename="manager-gui"/>
<user username="tomcat1" password="s3cret" roles="manager-gui"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="s3cret" roles="admin-gui"/>

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

Managerアプリの制限を解除するには、以下に示すようにcontext.xmlファイルを編集します。

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

以下に示すように、バルブセクションをコメントアウトします。

<Context antiResourceLocking="false" privileged="true" >
<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|223.184.194.44" />
-->
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreven$
</Context>

ファイルを保存して閉じます。

Host Managerアプリの制限を解除するには、以下に示すようにcontext.xmlファイルを編集します。

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

以下に示すように、バルブセクションをコメントアウトします。

<Context antiResourceLocking="false" privileged="true" >
<!--

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

  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreven$
</Context>

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

systemctl restart tomcat

次に、Webブラウザーを開き、URL http:// your-server-ip:8080を入力します。 。次のページが表示されます:

次に、マネージャーアプリ/ホスト管理をクリックします ボタン。管理者のユーザー名とパスワードの入力を求められます。管理者のユーザー名とパスワードを入力し、ログインをクリックします ボタン。次のページにManagerApp/HostManagerが表示されます。

ステップ9–Tomcat用にNginxプロキシを構成する

まず、次のコマンドを使用してNginxWebサーバーをインストールします。

apt-get install nginx -y

インストールしたら、Tomcat用の新しい仮想ホスト構成ファイルを作成します。

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

次の行を追加します:

server {
  listen 80;

  server_name    example.com;
  access_log /var/log/nginx/tomcat-access.log;
  error_log /var/log/nginx/tomcat-error.log;

  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仮想ホストファイルを有効にし、NginxWebサーバーを再起動して構成を適用します。

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

これで、URL http://example.comを使用してTomcatWebインターフェイスにアクセスできます。 。

結論

おめでとう!これでTomcatのインストールが完了しました。 JavaベースのアプリケーションをTomcatサーバーにデプロイするための十分な知識が得られたことを願っています。詳細については、TomcatDocのTomcat公式ドキュメントを参照してください。 Atlantic.NetのVPSホスティングでTomcatを今すぐお試しください!


Linux
  1. Nginxリバースプロキシを設定する方法

  2. Ubuntu20.04でリバースプロキシとしてNginxを設定する方法

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

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

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

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

  1. NGINXをリバースプロキシとして設定および使用する方法

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

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