Tomcat のパフォーマンス最適化のための Apr モジュールの構築方法

Tomcat のパフォーマンス最適化のための Apr モジュールの構築方法

序文

Tomcat は、無数のチューニング オプションを備えた、広く使用されている Java Web コンテナーです。Tomcat は主に jsp などの動的ページを実行するため、その設計は主に動的ページ向けに最適化されていますが、静的ファイルの処理効率は高くありません。

多くの場合、エンジニアは、サーバーの運用効率を向上させるために、Tomcat による静的ファイルの処理を支援するために nginx または apache サーバーを使用することを好みます。しかし、実際には、Tomcat 自体が apache メソッドを呼び出して静的ファイルを処理できるため、処理効率が大幅に向上します。

Tomcat サーバーの 3 つのモードは、bio (メッセージ ブロッキング モード)、nio (非ブロッキング モード)、apr (Apache 静的ファイル処理ライブラリを使用して静的ファイルを処理する) です。

新しい Linux に Tomcat の apr モジュールをデプロイするにはどうすればいいですか?

安定して使用されていたマシンの場合は、直接ステップ3に進むことができます。

1. インストール前にyumソースが不適切であることが判明した場合

CentOS 5 yumソースメソッドの変更

wget -O /etc/yum.repos.d/CentOS-Base.repo

http://mirrors.aliyun.com/repo/Centos-5.repo

または

curl -o /etc/yum.repos.d/CentOS-Base.repo

http://mirrors.aliyun.com/repo/Centos-5.repo

CentOS 6 yumソースメソッドの変更

wget -O /etc/yum.repos.d/CentOS-Base.repo

http://mirrors.aliyun.com/repo/Centos-6.repo

または

curl -o /etc/yum.repos.d/CentOS-Base.repo

http://mirrors.aliyun.com/repo/Centos-6.repo

CentOS 7 yumソースメソッドの変更

wget -O /etc/yum.repos.d/CentOS-Base.repo

http://mirrors.aliyun.com/repo/Centos-7.repo

または

curl -o /etc/yum.repos.d/CentOS-Base.repo

http://mirrors.aliyun.com/repo/Centos-7.repo

2. URLが正しく解析されなかった場合curl: (6) ホストを解決できませんでした

DNSを設定する手順は次のとおりです。

vim /etc/resolv.conf

#通常は空のファイルなので、ファイルに次の2つのDNS設定を追加します

ネームサーバー 114.114.114.114
ネームサーバー 8.8.8.8

3. tomcat opensslおよびaprコンポーネントをインストールする

現在、Tomcat 8.xはデフォルトでnioモードで実行されており、aprの本質はjniテクノロジを使用してオペレーティングシステムの基盤となるIOインターフェースを呼び出すことであるため、必要な依存関係を事前にインストールする必要があります。まず、opensslとaprをインストールする必要があります。

yum -y openssl-develをインストールします
yum -y インストール apr-devel

4. ネイティブ、apr、apr-util コンポーネントをインストールする

まず、tomcat の公式 Web サイトにアクセスして、native、apr、apr-util コンポーネントをダウンロードします。native は、tomcat と apr の間の中間リンクと見なすことができます。ダウンロード アドレスは次のとおりです。

http://tomcat.apache.org/download-native.cgi 、

apr アドレスは http://apache.fayea.com//apr です。apache は随時更新されるため、ブラウザで確認できます。将来的にwgetでダウンロードできなくなるかもしれないので、ここでは修正せず、各自でダウンロードできるようにしてください

解凍して再度インストールする

 tar -xvzf apr-1.6.5.tar.gz
 cd 4月-1.6.5
 ./configure --prefix=/usr/local/apr
 作成 && インストール

 tar -zxvf apr-util-1.6.1.tar.gz
 cd apr-util-1.6.1
 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/

#コンパイルライブラリ expat-devel が不足しているため、make で問題が発生する可能性があります。
yum install expat-devel -y を使ってインストールすることができます(これがうまくいかない場合は、システムインストールCDからのみ見つけることができます)。

作成 && インストール

ネイティブモジュールを再度インストールする

 tar -xvzf tomcat-native-1.2.10-src.tar.gz
 tomcat-native-1.2.10-src/native/ をコピーします。
 ./configure

この時点では、opensslのバージョンが低いため、インストールが失敗する可能性があります。公式ウェブサイトにアクセスして、最新バージョンのアドレス(https://www.openssl.org/source/)を確認し、wgetで入手してください。

tar -xvzf openssl-1.1.0e.tar.gz
openssl-1.1.0e/ をインストールします
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
作成 && インストール

しばらく待つとインストールが成功します。ネイティブがコンパイルされたディレクトリに移動し、次のコマンドを再実行してインストールします。

./configure --with-ssl=/usr/local/openssl
make && make installefix=/usr/local/openssl --openssldir=/usr/local/openssl
作成 && インストール

5. tomcat設定ファイルを変更する

Tomcatサーバーのディレクトリに入り、設定ファイルconf/server.xmlを編集します。

デフォルトのプロトコル="HTTP/1.1"を次のように変更します。

プロトコル="org.apache.coyote.http11.Http11AprProtocol"

変更が完了したら保存して終了します

6. 環境変数を設定する(2つの方法)

tomcatのインストールディレクトリを入力します

bin/catalina.shファイルを開く

元の変数 JAVA_OPTS の後に対応する構成を追加し、新しい行を追加するだけです。

JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib"

保存して終了するとインストールが完了します

Tomcatサーバーを再起動し、catalina.outの末尾にあるログを確認します。

tomcat 起動ログ

これは、tomcat Apr が正常に構成されたことを示します。

または

tomcat がシステム変数を使用して検索できるように、apr ディレクトリを環境変数に追加します。

/etc/profile を編集し、最後に次の 2 行を追加します。

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib をエクスポートします。
LD_RUN_PATH=$LD_RUN_PATH:/usr/local/apr/lib をエクスポートします。

保存後、source /etc/profileを実行して設定を有効にします。

次にTomcatサーバーを再起動し、catalina.outの最後にあるログを確認します。

これは、tomcat Apr が正常に構成されたことを示します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Tomcatのセキュリティ構成とパフォーマンスの最適化の詳細な説明
  • Tomcat パフォーマンスの最適化 (パフォーマンスの概要)
  • Nginx+Tomcat で高性能な負荷分散クラスターを構築する方法
  • JVM Tomcat パフォーマンス プラクティス (推奨)
  • Tomcat のパフォーマンス最適化方法の簡単な概要

<<:  JavaScriptのプリミティブ値とラッパーオブジェクトの詳細な紹介

>>:  MySQL 8.0.11 圧縮版のインストールと設定方法のグラフィックチュートリアル

推薦する

Nodejs で WeChat アカウント分割を実装するためのサンプルコード

会社のビジネスシナリオでは、WeChat アカウント分割機能を使用する必要があります。公式 Web ...

Flask アプリケーションの Docker デプロイ実装手順

1. 目的Flask アプリケーションをローカルで作成し、Docker でパッケージ化し、独自のサー...

JavaScript のプロトタイプとプロトタイプチェーンの詳細な説明

目次プロトタイプチェーン図プロトタイピングに必須の知識プロトタイププロパティ(プロトタイプを表示) ...

初心者がHTMLタグを学ぶ(2)

関連記事:初心者が学ぶ HTML タグ (1)初心者は、いくつかの HTML タグを理解することで ...

jQuery の CSS スタイル属性 css() と width() の完全ガイド

目次1. css() の基本的な使用法: 1.1 CSSプロパティを取得する1.2 CSSプロパティ...

Vue3 を使用してアップロード コンポーネントを実装するためのサンプル コード

目次一般的なアップロードコンポーネントの開発以下の機能を実装する必要がありますカスタムテンプレートサ...

Centos7にnginxをインストールする方法

必要な環境をインストールする1. gccのインストールnginx をインストールするには、公式サイト...

VMware 仮想マシンに CentOS と Qt をインストールするチュートリアル図

VMware のインストールパッケージのインストールダウンロードアドレス: https://www....

Vueナンバープレート検索コンポーネントの使い方の詳しい説明

参考までに、シンプルなナンバープレート入力コンポーネント(vue)です。具体的な内容は次のとおりです...

Linuxでファイルの作成時間を表示する方法

1. はじめにLinux でファイルの作成時刻が見つかるかどうかは、ファイル システムの種類によって...

HTML の title 属性を正しく使用するためのヒント

コンテンツを携帯電話、タブレット、支援技術のユーザーから非表示にし、キーボードのユーザーにのみ表示す...

Linux CentOS6.5 yum インストール mysql5.6

この記事では、Linux yumを使用してmysql5.6をインストールする簡単な手順を参考までに紹...

意外と知らないJSのループ速度テストのいろいろを徹底解説

目次序文1. forループ2. whileループとdo-whileループ3. forEach、map...

MySQLでバッチを更新するいくつかの方法

通常、フィールド値を更新するには次の SQL ステートメントを使用します。 mytable を更新し...

CSS でハニカム/六角形アトラスを実装するためのサンプルコード

理由は分かりませんが、UIではハニカム効果(手を広げたような効果)のデザインが好まれます。 1. 六...