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ログに関する知識のまとめ

推薦する

JavaScriptでシンプルなスクロールウィンドウを実装する

この記事では、スクロールウィンドウを実装するためのJavaScriptの具体的なコードを参考までに紹...

Dockerデータストレージの概要

この記事を読む前に、ボリューム、バインドマウント、tmpfs マウントの基本を理解しておいてください...

MySQL NULLがピットを引き起こした

比較演算子でNULLを使用する mysql> 1>NULLを選択します。 +------...

Docker のタイムゾーンの問題とデータ移行の問題

最新のソリューション: -v /usr/share/zoneinfo/Asia/Shanghai:/...

よく使われるCSSカプセル化方法の概要

1. pc-reset PCスタイルの初期化 /* 正規化.css */ html{ 行の高さ: 1...

ウェブサイトのテキストはまだデザインする必要がありますか?

多くの人が、ウェブサイト上のテキストはデザインする必要があるのか​​と疑問に思うかもしれません。多く...

データベースマルチテーブル接続クエリの実装方法の詳細説明

データベースマルチテーブル接続クエリの実装方法の詳細説明結合演算子を使用して複数のテーブルクエリを実...

JSが絵柄デジタル時計を実現

この記事の例では、画像デジタル時計を実現するためのJSの具体的なコードを参考までに共有しています。具...

MySQL 8.0.15 winx64 のインストールと設定方法のグラフィックチュートリアル (Windows の場合)

この記事では、MySQL 8.0.15 winx64のインストールと設定方法を参考までに紹介します。...

MySqlを最適化するためにnot inを使用する方法

最近、プロジェクトで選択クエリを使用する際に、未使用の主キー ID を除外するために not in ...

絵文字と問題解決のためのMySQL/Javaサーバーサポートの詳細な説明

この記事では、絵文字用の MySQL Java サーバーのサポートと問題解決方法について説明します。...

Vueはシンプルなメモ帳機能を実装します

この記事では、参考までに、簡単なメモ帳機能を実装するためのVueの具体的なコードを紹介します。具体的...

MySQL マスタースレーブレプリケーションの実装手順

目次mysql マスタースレーブレプリケーションMySQL マスタースレーブレプリケーション方式My...

CSS 背景画像を設定するための 6 つの興味深いヒント

background-image は、おそらくすべてのフロントエンド開発者がキャリアの中で少なくとも...

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

MySQLサービス8.0.14のインストール(一般)の参考までに、具体的な内容は次のとおりです。イ...