Centos 7 システムの Tomcat サーバーの詳細な分析

Centos 7 システムの Tomcat サーバーの詳細な分析

1. tomcatの起源

名前の由来: Tomcat はもともと、Sun のソフトウェア アーキテクトである James Duncan Davidson によって開発されました。彼は後にこれをオープンソース プロジェクトに変えることに協力し、Sun から Apache Software Foundation に寄贈されました。 O'Reilly のオープンソース プロジェクトのほとんどが関連書籍を出版しており、表紙のデザインは動物のスケッチになる予定なので、彼はこのプロジェクトに動物の名前を付けたいと考えています。彼はその動物が自分で面倒を見ることができるようにしたかったので、最終的にその動物に「トムキャット」と名付けました。

1. Tomcat アプリケーションのシナリオ

Tomcat サーバーは、無料のオープン ソース Web アプリケーション サーバーです。軽量のアプリケーション サーバーであり、小規模および中規模のシステムや同時ユーザー数が少ない状況で広く使用されています。JSP プログラムの開発とテストには、このサーバーが第一の選択肢です。一般的に、Tomcat は Apache や Nginx などの Web サーバーと同様に HTML ページを処理する機能がありますが、静的ページを処理する能力は Apache や Nginx にはるかに劣ります。そのため、Tomcat は通常、サーブレットおよび JSP コンテナーとして使用され、バックエンドで単独で実行されます。

2. Tomcatに必要な依存ソフトウェア

Tomcat をインストールする前に JDK をインストールする必要があります。JDK は Sun が無料で提供する Java 言語ソフトウェア開発キットで、Java 仮想マシン (JVM) が含まれています。記述された Java ソース プログラムは、Java バイトコードにコンパイルできます。JDK がインストールされていれば、JVM を使用してこれらのバイトコード ファイルを解釈できるため、Java のクロスプラットフォーム性が保証されます。

プラットフォームの互換性の面では、バイトコード ファイルを解釈し、オペレーティング システムの API を呼び出して対応する機能を実装する Java 仮想マシンとしての JDK は、オペレーティング システムの種類やプラットフォームのビット数と密接に関係しているため、さまざまな種類のバージョンが存在し、Tomcat にもこれらの特徴があります。(Centos 7.0 にはデフォルトで JDK がインストールされており、Centos 6.0 オペレーティング システムの場合は自分でインストールする必要があります)。

1) JDKがインストールされているかどうかを確認する

[root@centos02 ~]# java -バージョン
openjdk バージョン "1.8.0_131"
OpenJDK ランタイム環境 (ビルド 1.8.0_131-b12)
OpenJDK 64 ビット サーバー VM (ビルド 25.131-b12、混合モード)

2) CentOS 6.0にJDKをインストールする

[root@centos02 ~]# mount /dev/cdrom /mnt/ <!--Linux CD をマウント-->
マウント: /dev/sr0 は書き込み禁止になっており、読み取り専用モードでマウントされます [root@centos02 ~]# tar zxvf /mnt/jdk-7u65-linux-x64.gz -C /usr/src/ 
  <!--jdk パッケージを解凍します-->
[root@centos02 src]# ls
jdk1.7.0_65 カーネルをデバッグする
[root@centos02 src]# mv jdk1.7.0_65/ /usr/src/java <!--JDK をインストール-->
[root@centos02 ~]# vim /etc/profile.d/java.sh<!--jdk 実行環境変数を設定します-->
JAVA_HOME=/usr/local/java をエクスポートします。
エクスポート PATH=$PATH:$JAVA_HOME/bin
[root@centos02 ~]# chmod +x /etc/profile.d/java.sh<!--変数は実行権限を追加します-->
[root@centos02 ~]# source /etc/profile.d/java.sh <!--JDK を実行-->

2. Tomcatの設定手順

1. Tomcatのメインディレクトリ

tomcat のメイン ディレクトリは /usr/local/tomcat8/ です。

[root@centos02 ~]# cd /usr/local/tomcat/
[root@centos02 tomcat]# ll
総投与量 96
drwxr-xr-x 2 ルート ルート 4096 11月30日 19:48 bin
drwxr-xr-x 3 ルート ルート 174 11月30日 20:03 conf
drwxr-xr-x 2 ルート ルート 4096 11月 30日 19:48 lib
-rw-r--r-- 1 ルート ルート 56812 2014年5月20日 ライセンス
drwxr-xr-x 2 ルート ルート 197 11月30日 19:51 ログ
-rw-r--r-- 1 ルート ルート 1192 2014年5月20日 通知
-rw-r--r-- 1 ルート ルート 8974 2014年5月20日 リリースノート
-rw-r--r-- 1 ルート ルート 16204 2014年5月20日 RUNNING.txt
drwxr-xr-x 2 ルート ルート 11月30日 19:48 temp
drwxr-xr-x 7 ルート ルート 81 2014年5月20日 webapps
drwxr-xr-x 3 ルート ルート 22 11月 30 19:51 仕事

主なディレクトリの説明は次のとおりです。

|---bin/: Windows または Linux プラットフォームで Tomcat を起動およびシャットダウンするためのスクリプト ファイルを保存します。
|---conf/: Tomcat サーバーのさまざまなグローバル構成ファイルを格納します。最も重要なのは server.xml と web.xml です。
|---lib/: Tomcat の実行に必要なライブラリ ファイルを格納します。
|---logs/: Tomcat の実行時に LOG ファイルを保存します。
|---webapps: Tomcat のメイン Web 公開ディレクトリ (アプリケーション例を含む)。
|---work: JSP コンパイル後に生成されたクラス ファイルを格納します。

2. 設定ファイルの説明

[root@centos02 tomcat]# ll conf/
総投与量200
drwxr-xr-x 3 ルート ルート 23 11月 30 19:51 カタリナ
-rw------ 1 ルート ルート 12257 2014年5月20日 catalina.policy
-rw------ 1 ルート ルート 6294 2014年5月20日 catalina.properties
-rw------ 1 ルート ルート 1394 2014年5月20日 context.xml
-rw------ 1 ルート ルート 3288 2014年5月20日 ロギングプロパティ
-rw------ 1 ルート ルート 6610 11月30日 20:03 server.xml
-rw------ 1 ルート ルート 1530 2014年5月20日 tomcat-users.xml
-rw------ 1 ルート ルート 163385 2014年5月20日 web.xml

設定ファイルの説明は次のとおりです。

catalina.policy: 権限制御構成ファイル。
catalina.properties: Tomcat プロパティ構成ファイル。
context.xml: コンテキスト構成ファイル。
logging.properties: ログ関連の構成ファイル。
server.xml: メイン構成ファイル。
tomcat-users.xml: manager-gui 管理ユーザー構成ファイル (Tomcatt はインストール後に manager-gui 管理インターフェイスを提供し、このファイルを構成することでアクセスを有効にすることができます);
web.xml: Tomcat のサーブレット、サーブレット マッピング、フィルター、MIME およびその他の関連する構成。

3. Tomcatメイン設定ファイルの説明

server.xml は Tomcat のメイン構成ファイルです。このファイルを構成することで、起動ポート、Web サイト ディレクトリ、仮想ホスト、https の有効化など、Tomcat の重要な機能を変更することができます。

server.xml 全体は、<Server>、<Service>、<Connector /><Engine>、<Host>、<Context>、</Context></Host></Engine></Service>、</Server> の構造で構成されます。

以下は、デフォルトのインストール server.xml ファイルの一部です。<!-- --> 内の内容はコメント情報です。 // 先頭の数字は私自身のコメントです:

[root@Centos01 tomcat8]# vim conf/server.xml
<?xml バージョン="1.0" エンコーディング="UTF-8"?>
............ //一部のコンテンツを省略 <Server port="8005" shutdown="SHUTDOWN">  
//Tomcat はポートを閉じます。このポートはデフォルトでローカル アドレスにのみ開かれます。ローカル マシンの Telnet 127.0.0.1 8005 経由でアクセスできます。
//Tomcat をシャットダウンします............ //ここでは一部の内容が省略されています<Connector port="8080" protocol="HTTP/1.1"
  接続タイムアウト = "20000"
  リダイレクトポート="8443" />
//Tomcat 起動時のデフォルトのポート番号は 8080 ですが、必要に応じて変更できます。
............ //ここでは一部の内容は省略されています<!-- ポート 8009 で AJP 1.3 コネクタを定義します -->
 <コネクタ ポート="8009" プロトコル="AJP/1.3" リダイレクト ポート="8443" />
//Tomcat が AJP 1.3 コネクタを起動するときのデフォルトのポート番号。必要に応じて変更できます............ //ここでは一部の内容は省略されています//以下は、Tomcat が仮想ホストを定義するときの構成とログ構成です<Host name="localhost" appBase="webapps"
  unpackWARs="true" autoDeploy="true">

 <!-- SingleSignOn バルブ、Web アプリケーション間で認証を共有
  ドキュメント: /docs/config/valve.html -->
 <!--
 <Valve クラス名="org.apache.catalina.authenticator.SingleSignOn" />
 -->

 <!-- アクセス ログはすべての例を処理します。
  ドキュメント: /docs/config/valve.html
  注: 使用されるパターンは、pattern="common" を使用するのと同じです -->
 <Valve クラス名="org.apache.catalina.valves.AccessLogValve" ディレクトリ="logs"
  プレフィックス="localhost_access_log" サフィックス=".txt"
  パターン="%h %l %u %t "%r" %s %b" />

 </ホスト>
 </エンジン>
 </サービス>
</サーバー>

4. Tomcatサーバーのコンポーネントの説明

1) サーバー

サーバー要素は、CatAlina サーブレット コンテナー全体を表します。

2) サービス

サービスは、1 つ以上のコネクタとエンジン (コネクタが受信したすべてのクライアント要求の処理を担当) のコレクションです。

3) コネクタ

コネクタは指定されたポートでクライアント要求をリッスンし、受信した要求をエンジンに渡して処理し、エンジンから応答を取得してクライアントに返します。

Tomcat には、ブラウザーからの http 要求を直接リッスンするコネクタと、他の Web サーバーからの要求をリッスンするコネクタの 2 つの一般的なコネクタがあります。

Coyote HTTP/1.1 コネクタは、ポート 8080 でクライアント ブラウザからの http 要求をリッスンします。

Coyote JK2 コネクタはポート 8009 でリッスンし、他のテキスト サーバー (Apache) からのサーブレット/JSP 要求をプロキシします。

4) エンジン

Engine では複数の仮想ホストを構成でき、各仮想ホストにはドメイン名があります。
エンジンはリクエストを受信すると、そのリクエストを特定のホストと照合し、処理のためにホストに渡します。
エンジンにはデフォルトの仮想ホストがあります。リクエストがどのホストにも一致しない場合は、デフォルトのホストによって処理されます。

5) ホスト

ホストは仮想ホストを表し、各仮想ホストはネットワーク ドメイン名と一致します。
各仮想ホストの下に 1 つ以上の Web アプリをデプロイできます。各 Web アプリはコンテキストに対応し、コンテキスト パスを持ちます。

ホストはリクエストを受信すると、リクエストを特定のコンテキストと照合し、そのコンテキストに渡して処理します。照合方法は「最長一致」であるため、path=="" のコンテキストがホストのデフォルト コンテキストになります。
他のコンテキストのパス名と一致しないすべてのリクエストは、最終的にデフォルトのコンテキストと一致します。

6) 文脈

コンテキストは Web アプリケーションに対応し、Web アプリケーションは 1 つ以上のサーブレットで構成されます。

要約する

上記は編集者が紹介した Centos 7 システムの Tomcat サーバーです。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残してください。編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Centos7+Nginx+Tomcat8 ベースの負荷分散サーバーの構築の詳細説明
  • Linux centos7 環境での Tomcat インストール チュートリアル
  • CentOS7.0のインストールとTomcat-7の設定の詳しい説明
  • CentOS7で指定したTomcatログを時間間隔に応じて指定したファイルにインターセプトする方法
  • CentOS7でサーバーのシステム時間を変更する方法

<<:  Bootstrap Webページレイアウトグリッドの実装

>>:  Windows 10 での MySQL 8.0.16 のインストールと設定のチュートリアル

推薦する

JavaScriptプロトタイプとプロトタイプチェーンを徹底的に理解する

目次序文基礎を築くプロトタイプコンストラクタのプロパティ__プロト__プロトタイプチェーン改善する要...

Linux で Hadoop クラスターをインストールするための詳細な手順

目次1. usrディレクトリにHadoopディレクトリを作成し、インストールパッケージをそのディレク...

MySQL 5.7.21 winx64 グリーンバージョンのインストールと設定方法のグラフィックチュートリアル

この記事ではMySQL 5.7.21のインストールと設定方法を記録しています。具体的な内容は以下のと...

アーティストの自己啓発におけるいくつかの経験

会社の影響力が拡大し、製品が改良され続けるにつれて、関連するイメージデザインもそれに追いつき、徐々に...

MySQL 5.7.18 のインストールと設定方法のグラフィックチュートリアル (CentOS7)

LinuxにMySQL 5.7.18をインストールする方法1. MySQLをダウンロードします。公...

インタラクティブな視覚化 JS ライブラリ gojs の使い方の紹介とヒント

目次1. gojsの紹介2. Gojsのアプリケーションシナリオ3. gojs を選ぶ理由: 4. ...

MySQL 8.0.20 Window10無料インストール版設定とNavicat管理チュートリアルグラフィック詳細説明

1. MySQL 8.0.20をダウンロードして解凍するダウンロードリンク: https://dev...

JSで実現したページサイドバーの効果に関する研究

目次発見: ディスプレイアニメーションの応用実装:記事の1行目を表示する効果を実現する方法実際、その...

Mac OS10.12 に mysql5.7.18 をインストールするチュートリアル

ウェブ全体を検索して、さまざまな落とし穴を見つけましたが、問題は解決しませんでした。ついに自分でも分...

Vueはユーザー名が使用可能かどうかの検証を実装します

この記事では、ユーザー名が使用可能かどうかを確認するためのVueの具体的なコードを例として紹介します...

nginx ip ブラックリストの動的禁止の例

ウェブサイトが悪意を持ってリクエストされた場合、IP アドレスをブラックリストに登録することは重要な...

Docker Desktop で rocketmq をインストールするための非常に詳細なチュートリアル

Dockerデスクトップをインストールするダウンロード先: Docker Desktop for M...

プロジェクトを素早く構築するためのvite+vue3.0+ts+element-plusの実装

目次バイト機能使用環境プロジェクトを構築する構成vite.config.ts tsconfig.js...

Linux の RPM パッケージでインストールされた xinetd ベースのサービスの管理

目次序文1. xinetdサービスに基づく起動管理(1)Telnetサービスのインストール(2)Te...

Tomcatのデフォルトパスの設定によって発生するプロジェクトURLの競合を解決する方法の詳細な説明

序文Tomcat は優れた Java コンテナですが、避けられない小さな落とし穴もいくつかあります。...