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を今すぐお試しください!