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 圧縮版のインストールと設定方法のグラフィックチュートリアル

推薦する

mysql バックアップ スクリプト mysqldump の使い方の詳細な説明

この記事では、参考までにMySQLバックアップスクリプトを紹介します。具体的な内容は次のとおりです。...

クラウドサーバーを購入し、Alibaba Cloud に Pagoda Panel をインストールする手順

アリババクラウドがサーバーを購入クラウドサーバーを購入し、サーバーバージョンとしてcentos 7....

dl、dt、dd リスト ラベルの例

dd タグと dt タグはリストに使用されます。通常は <ul><li> タ...

HTML タグのカスタム属性に関する質問

以前の開発では、クラス、名前などの HTML のデフォルト属性を使用していました。 Huawei社の...

JS 矢印関数に適さないシナリオは何ですか?

目次概要オブジェクトにメソッドを定義するオブジェクトリテラルオブジェクトプロトタイプ動的コンテキスト...

TinyEditorはシンプルで使いやすいHTML WYSIWYGエディタです

数日前、国産の XHTML エディタを紹介しました。今日は、有名な海外の Web デザイン ブログl...

Nginx で複数のドメイン名がドメインをまたいでアクセスできるようにマップを使用する方法

一般的なNginx構成ではクロスドメインが可能 サーバー{ 11111 を聞いてください。 serv...

JavaScript進捗管理の詳しい説明

目次序文質問原理テスト序文プログラムを作成するときに、読み込みの進行状況やアップロードの進行状況など...

ネイティブ js を使用してライブ バレット スクリーンのスクロール効果をシミュレートします。

目次1. 基本原則2. 特定のコード要約する1. 基本原則まず、生放送エリアを10の部分に分割し(個...

js でショッピングモールのシミュレーションを実現

HTML、CSS、JSフロントエンドを学習中の皆さん、今回はショッピングモールの事例の実装をシェアし...

スライダー効果を実装するミニプログラム

この記事の例では、スライディングブロック効果を実現するための小さなプログラムの具体的なコードを参考ま...

Linux で libudev を使用して USB デバイスの VID と PID を取得する方法

この記事では、libudev ライブラリを使用して hidraw デバイスにアクセスします。 lib...

mysqlを使用して、URLから返されたhttp GETリクエストデータを記録します。

ビジネスシナリオの要件と実装ロジックの分析ビジネスでは、HTTP GET を使用してデータを要求する...

Linuxシステムのログの詳細な紹介

目次1. ログ関連サービス2. システム内の共通ログファイル1. ログ関連サービスCentOS 6....

別の種類の「キャンセル」ボタン

「キャンセル」ボタンは必要な操作プロセスの一部ではなく、デザイン上の主要な要素として表示されません...