Nginx+tomcat ロードバランシングクラスタの実装方法

Nginx+tomcat ロードバランシングクラスタの実装方法

実験環境は以下のとおりです

ここに画像の説明を挿入

ここでは、4 台のサーバー (1 台の nginx、負荷用の 2 台の tomcat、データ ストレージ用の 1 台の MySQL) を準備する必要があります。
次のようにソフトウェア パッケージを準備します。

ここに画像の説明を挿入

ソフトウェア パッケージのアドレス リンク:

リンク: https://pan.baidu.com/s/1Zitt5gO5bDocV_8TgilvRw 抽出コード: ny1r

nginx 設定 (172.16.1.54)

1. 依存パッケージをインストールする

yum -y インストール pcre-devel zlib-devel gcc gcc-c++

2. nginx実行ユーザーを作成する

ユーザー追加 -M -s /sbin/nologin nginx

3. ソースパッケージnginx-1.18.0.tar.gzを解凍し、ソフトウェアパッケージを事前にサーバーにアップロードします。

tar zxf nginx-1.18.0.tar.gz -C /usr/src/

4. nginxを設定する

/usr/src/nginx-1.18.0/ をコピーします
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
#--prefix nginx インストール パス#--user 実行中のユーザー#--group 実行中のグループ#--with-http_stub_status_module nginx クライアント ステータス モジュール。Nginx の現在のステータスを監視するために使用されます

5. コンパイルしてインストールする

作る
インストールする

6. メインプログラムパスを最適化する

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
#nginx を起動 nginx
#nginxを停止する nginx -s stop
#nginxをリロード -s reload

7. メイン構成ファイルを変更し、負荷分散サーバーリストを設定します。

vim /usr/local/nginx/conf/nginx.conf
#http フィールドに追加します。これは、アップストリームの tomcatserver{ の 33 行目になるはずです。
     サーバー 172.16.1.55:8080 重み=1;
     サーバー 172.16.1.56:8080 重み=1;
   }
#サーバーのロケーションフィールドに追加します。location / {の50行になる予定です。
    ルートhtml;
    インデックス index.html index.htm;
    proxy_pass http://tomcatserver;
   }

8. nginxを起動する

nginx

tomcat1 設定 (172.16.1.55)

1. ソフトウェア パッケージ apache-tomcat-8.5.61.tar.gz と jdk-8u271-linux-x64.tar.gz をアップロードします。

ここに画像の説明を挿入

2. Tomcatをデプロイし、JDK環境を構成する

#jdk パッケージを解凍し、指定された場所に移動します tar zxf jdk-8u271-linux-x64.tar.gz -C /usr/src/
mv /usr/src/jdk1.8.0_271/ /usr/local/jdk1.8

環境変数の設定

vim /etc/プロファイル
#最後にコンテンツを追加します export JAVA_HOME=/usr/local/jdk1.8
JRE_HOME=/usr/local/jdk1.8/jre をエクスポートします。
エクスポート CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
エクスポート PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
#ファイルをすぐに有効にします。/etc/profile

3. Tomcatをインストールして設定する

#Tomcat パッケージを解凍し、指定された場所に移動します tar zxf apache-tomcat-8.5.61.tar.gz -C /usr/src
mv /usr/src/apache-tomcat-8.5.61/ /usr/local/tomcat8

4. Java Webサイトを作成する

mkdir -p /web/webapp1

5. jspテストページを書く

vim /web/webapp1/index.jsp
#入力コンテンツ <%@ page language="java" contentType="text/html; charset=UTF-8"
	ページエンコーディング="UTF-8"%>
<%@ ページインポート="java.sql.*"%>

<html>
<ヘッド>
<title>JSP 経由でデータ テーブルを開く</title>
</head>
<本文>
	<%
		試す {
			Class.forName("com.mysql.jdbc.Driver"); //ドライバー名 String url = "jdbc:mysql://172.16.1.57:3306/test"; //データベース名 String username = "root"; //データベースユーザー名 String password = "123456"; //データベースユーザーパスワード Connection conn = DriverManager.getConnection(url, username, password); //接続ステータス if (conn != null) {
				out.print("データベース接続に成功しました!");
			} それ以外 {
				out.print("接続に失敗しました!");
			}
		} キャッチ (例外 e) {
			out.print("データベース接続例外!"+e.getMessage());
		}
	%>
</本文>
</html>

index.jspファイルを直接サーバーに渡すこともできます。

ここに画像の説明を挿入

6. Tomcatのメイン設定ファイルを変更し、仮想ホストを定義し、Webサイトのディレクトリを指定します。

vim /usr/local/tomcat8/conf/server.xml
# ホスト フィールドに追加します (154 行目にあるはずです) <Context docBase="/web/webapp1" path="" reloadable="false" >
</コンテキスト>

7. Tomcatを起動する

ローカルのtomcat8.0.1 ...
#/usr/local/tomcat8/bin/shutdown.sh tomcatを停止する

tomcat2 設定 (172.16.1.56)

tomcat2の設定はtomcat1の設定と一致している

MySQL 設定 (172.16.1.57)

1. 依存パッケージをインストールする

yum -y インストール ncurses-devel gcc gcc-c++

2. ソースコードパッケージ(cmakeとmysql5.6)をアップロードする

ここに画像の説明を挿入

3. MySQLはcmakeを使用してコンパイルおよびインストールする必要があります

tar zxf cmake-2.8.6.tar.gz -C /usr/src/
/usr/src/cmake-2.8.6/ をコピーします。
./configure
作成 && インストール

4. MySQLをコンパイルしてインストールする
MySQLユーザーを作成する

グループ追加mysql
ユーザー追加 -M -s /sbin/nologin mysql -g mysql

開梱

tar zxf mysql-5.6.36.tar.gz -C /usr/src/

構成

/usr/src/mysql-5.6.36/ をコピーします
#cmake を設定するときは大文字と小文字に注意してください -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
#-DCMAKE_INSTALL_PREFIX はインストール ディレクトリを指定します。#-DSYSCONFDIR は初期化パラメータ ファイル ディレクトリを指定します。#-DDEFAULT_CHARSET はデフォルトの文字セット エンコーディングを指定します。#-DDEFAULT_COLLATION はデフォルトの文字セット照合ルールを指定します。#-DWITH_EXTRA_CHARSETS はサポートされる追加の文字セット エンコーディングを指定します。

コンパイルしてインストールする

作る
インストールする

データベースディレクトリの権限を設定する

chown -R mysql:mysql /usr/local/mysql

設定ファイルを作成する

rm -rf /etc/my.cnf
cp サポートファイル/my-default.cnf /etc/my.cnf

データベースを初期化する

#autoconfライブラリをインストールします yum -y install autoconf
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data

環境変数を設定し、mysqlコマンドのサポートを追加する

echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
#即時有効。/etc/profile

MySQLを起動する

#サービス起動ファイルをMySQLインストールディレクトリにコピーします cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh
#実行権限を追加 chmod +x /usr/local/mysql/bin/mysqld.sh
/usr/local/mysql/bin/mysqld.sh 開始
#/usr/local/mysql/bin/mysqld.sh stop MySQLを停止します

許可されたユーザー

mysql -u ルート
'123456' で識別される 'root'@'%' に *.* 上のすべての権限を許可します。

最後に、データベースに接続するために jsp ファイルにアクセスする場合は、java jar パッケージを tomcat の lib ディレクトリに配置する必要があります (両方の tomcat をアップロードする必要があります)。

ここに画像の説明を挿入

確認する

最後に、外部クライアントを使用して nginx サーバーにアクセスし、tomcat の jsp ファイルに自動的にジャンプして、データベース接続が成功したことを通知します。

ここに画像の説明を挿入

Nginx+tomcat 負荷分散クラスターに関するこの記事はこれで終わりです。Nginx+tomcat 負荷分散クラスターに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Nginx+Tomcat 負荷分散クラスタのインストールと構成のケースの詳細な説明
  • Nginx+Tomcat 負荷分散クラスタの実装例
  • Docker ベースの Tomcat クラスタと Nginx ロード バランシングの展開の概要
  • Nginx 経由で Tomcat9 クラスターを構築し、セッション共有を実現する
  • Nginx で Tomcat クラスターを構築する方法

<<:  React 国際化 react-i18next の詳細な説明

>>:  MySQLログに関する知識のまとめ

推薦する

4 つの主要な SQL ランキング関数 ROW_NUMBER、RANK、DENSE_RANK、NTILE の使用方法の紹介

1. ROW_NUMBER()定義: ROW_NUMBER() 関数は、select によってクエリ...

MySQLのトランザクション管理操作の詳細な説明

この記事では、MySQL のトランザクション管理操作について説明します。ご参考までに、詳細は以下の通...

SSMは、mysqlデータベースアカウントのパスワード暗号文ログイン機能を実装します。

導入当社は、情報セキュリティと機密アプリケーションに関わるいくつかのプロジェクトの研究開発に従事して...

MySQL はどのようにしてデータベースの削除と暴走を効果的に防ぐことができますか?

目次セーフモード設定テスト1. where句なしで更新および削除する2. 非インデックスキーの削除3...

Dockerはコンテナに入るためにルートを使用する

まずdockerコンテナを実行しますルートユーザーとしてコマンドを実行する sudo docker ...

VueRouterルーティングの詳細な説明

目次vueルーター1. ルーティングの概念を理解する1.1 ルーティングとは何ですか? 1.2. バ...

ローカル yum ソースの設定、国内 yum ソースの設定、epel ソースの設定を行う Linux の手順

1. ローカルyumソースを設定する1. ISOイメージをマウントする マウント -o loop /...

Ubuntu 20.04でAliソースを変更する方法

なお、この記事では、単に 20.04 ソースに変更する方法を説明するのではなく、20.04 に基づい...

Linux システムで jmeter を実行し、ローカル メモリを最適化する方法の詳細な説明

1. Linuxシステムにクロスシステムファイル転送ツールをインストールするルートユーザーのルートデ...

HTML ではスペースはどのように表現されますか (どのような意味ですか)?

Web 開発では、次のような文字によく遭遇します: &nbsp;これは実際には HTML が...

進捗バー効果を実現するJavaScript

この記事では、プログレスバー効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

MySQL での replace と replace into の使い方の説明

MySQL の replace と replace into はどちらも頻繁に使用される関数です。r...

macOS での MySQL 8.0.16 のインストールと設定のグラフィック チュートリアル

この記事では、macOSでのMySQL 8.0.16のインストールと設定のチュートリアルを参考までに...

Vue の長いリストをすばやく読み込む方法

目次背景メインコンテンツ1. コンポーネントの比較2. 実装のアイデア3. キーメソッドソースコード...

qt.qpa.plugin の問題を解決: Ubuntu 18.04 の Qt で Qt プラットフォーム プラグイン「xcb」をロードできませんでした

問題の説明Qt5.15.0 をインストールした後、テスト ケースを実行するとエラーが表示されます。 ...