序文Tomcat と Nginx + Tomcat 負荷分散クラスター、Tomcat アプリケーション シナリオを紹介し、Tomcat のインストールと構成に焦点を当てます。 Nginx + Tomcat 負荷分散ケースは、実稼働環境向けの信頼性の高い Web サイト ソリューションです。 1. Nginx+Tomcat通常、Tomcat サイトは、単一障害点の可能性があり、顧客からの複雑で多様な要求に対処できないため、実稼働環境で単独で使用することはできません。そのため、Web サイトのアーキテクチャを改善するには、より信頼性の高いソリューションが必要です。 Nginx は優れた http サーバー ソフトウェアです。最大 50,000 の同時接続をサポートし、強力な静的リソース処理機能を備え、安定して動作し、メモリや CPU などのシステム リソースの消費量が非常に少ないです。現在、多くの大規模 Web サイトでは、サイト全体の負荷同時処理能力を向上させるために、バックエンド Web サイト プログラムのリバース プロキシおよびロード バランサとして Nginx サーバーを使用しています。 導入環境
2. Nginxサーバーを構成する1. ファイアウォール関連サービスをオフにする [root@localhost ~]# systemctl stop ファイアウォールd [root@localhost ~]# systemctl ファイアウォールを無効にする [root@localhost ~]# setenforce 0 [root@localhost ~]# vim /etc/resolv.conf ネームサーバー 114.114.114.114 2. 依存パッケージをインストールする [root@localhost ~]# yum install -y gcc gcc-c++ pcre-devel zlib-devel make 3. Nginxをコンパイルしてインストールする [root@localhost ~]# tar zxvf nginx-1.12.2.tar.gz -C /opt/ [root@localhost ~]# cd /opt/nginx-1.12.2/ [root@localhost nginx-1.12.2]# ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --http_stub_status_module を使用する [root@localhost nginx-1.12.2]# make && make install [root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ [root@localhost ~]# useradd -M -s /sbin/nologin nginx 4. Nginxシステムサービスを追加する [root@localhost ~]# vim /lib/systemd/system/nginx.service [ユニット] 説明=nginx 後=ネットワーク.ターゲット [サービス] タイプ=フォーク PIDファイル=/usr/local/nginx/logs/nginx.pid 実行開始=/usr/local/nginx/sbin/nginx ExecrReload=/bin/kill -s HUP $MAINPID ExecrStop=/bin/kill -s QUIT $MAINPID プライベートTmp=true [インストール] WantedBy=マルチユーザー.ターゲット [root@localhost ~]# chmod 754 /lib/systemd/system/nginx.service #権限付与、root以外のユーザーは変更できません [root@localhost ~]# systemctl start nginx.service [root@localhost ~]# systemctl nginx.service を有効にします 5. Webページのテスト 3. Tomcatアプリケーションサーバーをデプロイする1. 実施準備 [root@localhost ~]# systemctl stop ファイアウォールd [root@localhost ~]# systemctl は、firewalld.service を無効にします。 [root@localhost ~]# setenforce 0 2. JDKをインストールし、Java環境を構成する [root@localhost ~]# rpm -ivh jdk-8u201-linux-x64.rpm 3. JDK環境を設定する [root@localhost ~]# vim /etc/profile ... #3行のコンテンツを挿入 export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64 エクスポート CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar PATH=$JAVA_HOME/bin:$PATH をエクスポートします [root@localhost ~]# ソース /etc/profile 4. Tomcatをインストールして設定する [root@localhost ~]# tar zxvf apache-tomcat-9.0.16.tar.gz -C /opt/ [root@localhost ~]# cd /opt/ [root@localhost opt]# mv apache-tomcat-9.0.16/ /usr/local/tomcat 5. 管理の最適化 [root@localhost ~]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/ [root@localhost ~]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/ 6. サービスstartup.shを起動する Tomcat1の設定 1. テストディレクトリを作成する [root@localhost ~]# mkdir /usr/local/tomcat/webapps/test 2. 動的なページ構成 [root@localhost ~]# vim /usr/local/tomcat/webapps/test/index.jsp <%@ ページ言語="java" インポート="java.util.*" ページエンコーディング="UTF-8"%> <html> <ヘッド> <title>JSP test1 ページ</title> </head> <本文> <% out.println("動的ページ 1、http://www.test1.com");%> </本文> </html> [root@localhost ~]# vim /usr/local/tomcat/conf/server.xml ... <Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true" /> #約 160 行が挿入されました... [root@localhost ~]# シャットダウン.sh [root@localhost ~]# startup.sh Tomcat2の設定 1. テストディレクトリを作成する [root@localhost ~]# mkdir /usr/local/tomcat/webapps/test 2. 動的なページ構成 [root@localhost ~]# vim /usr/local/tomcat/webapps/test/index.jsp <%@ ページ言語="java" インポート="java.util.*" ページエンコーディング="UTF-8"%> <html> <ヘッド> <title>JSP test2 ページ</title> </head> <本文> <% out.println("動的ページ 2、http://www.test2.com");%> </本文> </html> [root@localhost ~]# vim /usr/local/tomcat/conf/server.xml ... <Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true" /> #約 160 行が挿入されました... [root@localhost ~]# シャットダウン.sh [root@localhost ~]# startup.sh 3. nginxは静的ページを準備する [root@localhost ~]# echo '<html><body><h1>静的インターフェース...</h1></body></html>' > /usr/local/nginx/html/index.html [root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf ... アップストリーム tomcat_server { サーバー 192.168.192.147:8080 重み=1; サーバー 192.168.192.153:8080 重み=1; } location ~ .*\.jsp$ { # nginx が受信したクライアント IP アドレスを、tomcat にジャンプするリクエストのソース IP に割り当てます。クライアントの実際の IP を識別し、proxy_pass http://tomcat_server を割り当ててジャンプします。 proxy_set_header HOST $host; ##バックエンドウェブサーバーが受信したリクエストのホスト名(ドメイン名またはIP、ポート)を設定します。デフォルトのホスト値は、proxy_pass direct connectionで設定されたホスト名です。 proxy_set_header X-Real-IP $remote_addr; #$remote_addrをX-Real-IP(カスタム)にコピーし、ソースIPとやり取りします。 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #nginx をプロキシ サーバーとして使用すると、IP リスト セットには、通過した IP、プロキシとその IP が記録されます。} ... [root@localhost ~]#systemctl nginx.serviceを再起動します 4. Webページのテスト結果 要約するNginx の上流に 2 台以上の Tomcat サーバーを配置して負荷分散クラスターを形成し、proxy_pass などの Web プロキシ メソッドを使用して場所にクラスター サイトを設定し、重み値を使用して Tomcat サーバーの重みを個別に設定することができます。 実稼働環境では、Tomcat サーバーのハードウェア構成が異なる場合があります。対応するサーバーの重み値を変更して、より高い構成またはより低い構成のサーバーへのアクセス要求の分散を制御できます。 Nginx+Tomcat 負荷分散クラスターの詳細なインストールと構成の事例に関するこの記事はこれで終わりです。Nginx Tomcat 負荷分散クラスターの関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: CSS+JS で水滴の波紋アニメーション ボタン効果を実装するサンプル コード
>>: Vue で計算プロパティを使用する際の知識ポイントのまとめ
上記:このドキュメントは、3 台の仮想マシンが相互に ping を実行できること、ファイアウォールが...
カルーセルを作りたい場合、まずその原理を理解する必要があります。画像を右から左にスライドさせるにはど...
Server-Uソフトウェアの紹介Server-U は非常に強力なファイル マネージャーです。FTP...
以前、raspbian で実行したときに opencv の一部の依存関係をパッケージ化できず、一部の...
ロックの概念①. 現実世界では、鍵は外の世界から身を隠したいときに使う道具です。 ②. コンピュータ...
次のような疑問が湧くかもしれません。MySQLをローカル (自分のコンピュータ) にインストールした...
目次1. スコープはさまざまな方法で表現されます2. 変動昇進と非昇進の違い3. 一時的なデッドゾー...
毎回インストールチュートリアルを探すのは面倒なので、後で確認できるように手順をバックアップします。解...
ウェブサイトのレイアウトの多様化は、当社のフロントエンドの得意分野です。最近、UC ブラウザのデフォ...
目次- 序文 - - JVM クラスローダー - 1. JVMクラスローダー2. クラスローダーのソ...
垂直分割垂直分割とは、データテーブルの列を分割すること、つまり、多くの列を持つテーブルを複数のテーブ...
目次1. Lvsの紹介2. Lvs負荷分散モード2.1 NAT 2.2 ターン2.3 DRモード3....
1.v-bind(略称:)コンポーネント プロパティのデータで定義されたデータ変数を使用するか、コン...
序文ますます便利になった今日のインターネット社会では、さまざまなインターネット ランサムウェア ウイ...
構成の序文プロジェクト構築: vue-cli3 をベースに構築、rem 適応には postcss-p...