ホームページ  >  記事  >  運用・保守  >  Linux で複数の Tomcat の Nginx 負荷分散を構成する方法

Linux で複数の Tomcat の Nginx 負荷分散を構成する方法

PHPz
PHPz転載
2023-05-28 23:22:25758ブラウズ

1: nginx ディレクトリの下の conf ディレクトリに入力します。

これは nginx のインストール ディレクトリです:

[root@aliserver ~]# cd /usr/local/nginx/conf

2: nginx.conf を編集します

Linux で複数の Tomcat の Nginx 負荷分散を構成する方法

[root@aliserver conf]# vi nginx.conf

3: サーバー グループを構成する

1: http{} ノード間にアップストリーム構成を追加します。 (localhost を書かないように注意してください。そうしないとアクセス速度が非常に遅くなります)

upstream nginxdemo {
  server 127.0.0.1:8081;  #服务器地址1
  server 127.0.0.1:8082;  #服务器地址2
  server 127.0.0.1:8082;  #服务器地址3
  server 127.0.0.1:8083;  #服务器地址4
}

2: nginx がリッスンするポート番号を変更します 80

nginx のデフォルトのポートは 80 です。ここではまだ変更していません。変更しないでください

server {
  listen    80;   #默认是80,也可更改为其他的,当然已被占用的端口号不能写。
  ......
}

3: proxy_pass を使用してリバース プロキシ アドレスを構成します

location\{} で、ここに「http://」を省略することはできません。そして、次のアドレスは、最初のステップで、アップストリームによって定義された名前と同じである必要があります (つまり、nginxdemo の名前はカスタマイズされており、両方の場所で一貫している必要があります)

location / {
      root  html;
      index index.html index.htm;
      proxy_pass http://nginxdemo; #配置方向代理地址
    }

構成が完了したら、図に示すように:

Linux で複数の Tomcat の Nginx 負荷分散を構成する方法

4: nginx

My インストール パスを開始します。 nginx の場所は /usr/local/nginx

なので、私の起動コマンドは Yes:

[root@aliserver ~]# /usr/local/nginx/sbin/nginx

nginx はインストール前に起動されており、インストール時にポート番号が占有されているというエラーが報告されるためです。再び開始されます

Linux で複数の Tomcat の Nginx 負荷分散を構成する方法

この時点で、コマンドを使用して各ポート番号の占有状況を確認します

[root@aliserver ~]# netstat -ntpl

Linux で複数の Tomcat の Nginx 負荷分散を構成する方法

nginx が pid 9097 によって占有されていることがわかります。kill -9 を使用してそれを強制終了します

[root@aliserver ~]# kill -9 9097

Start it again nginx

[root@aliserver ~]# /usr/local/nginx/sbin/nginx

には応答がありません。この時点で、ブラウザ上にサーバアドレス

Linux で複数の Tomcat の Nginx 負荷分散を構成する方法

# が表示され、nginx が正常に起動したことがわかります 設定が正しいか、負荷分散ができるか、早速検証してみましょう。 。 。

5: 検証

nginx のロード バランシングでは、すべてのクライアント リクエストが nginx を経由し、nginx がこれらのリクエストの転送先を決定できることは誰もが知っています。 A にはより十分なリソース (より多くの CPU、より大きなメモリなど) があり、サーバー B にはサーバー A ほど強力な処理能力がありません。その場合、nginx はより多くのリクエストをサーバー A に転送し、より少ないリクエストをサーバー B に転送するため、これは負荷分散を実現しており、サーバーがダウンしてもユーザーは正常にWebサイトにアクセスできます。

検証の前に、いくつかの準備をする必要があります。

1: 次のような単純な JSP を準備します。

Linux で複数の Tomcat の Nginx 負荷分散を構成する方法

サーバーに 4 つの Tomcat がインストールされているので、4 つのインデックスを準備しました。 jsp ファイル

<title>tomcat8080<title> <h1>hellow tomcat_8080</h1>
<title>tomcat8081<title> <h1>hellow tomcat_8081</h1>
<title>tomcat8082<title> <h1>hellow tomcat_8082</h1>
<title>tomcat8083<title> <h1>hellow tomcat_8083</h1>

です。ここで注意する必要があるのは、Tomcat が正常に起動した様子が図に示されているため、jsp ファイルの名前はindex.jsp でなければならないということです。 :

Linux で複数の Tomcat の Nginx 負荷分散を構成する方法

Tomcat インストール ディレクトリの webapps/root/index.jsp です

私のアドレスは:/usr/java/tomcat/ tomcat_8080/webapps/root

Linux で複数の Tomcat の Nginx 負荷分散を構成する方法

各 Tomcat のデフォルトの Index.jsp ファイルを、事前に準備した 4 つの Index.jsp ファイルで上書きします。

各 tomcat を起動します

[root@aliserver bin]# ./startup.sh

このとき、ブラウザに xxx.xxx.xx.xx:8080 と入力すると、子猫が表示されなくなっていることがわかります。 。 。 。 。 。

Linux で複数の Tomcat の Nginx 負荷分散を構成する方法

Linux で複数の Tomcat の Nginx 負荷分散を構成する方法

Linux で複数の Tomcat の Nginx 負荷分散を構成する方法

Linux で複数の Tomcat の Nginx 負荷分散を構成する方法

#4 tomcats はすべて正常に起動し、nginx も正常に起動しました。

この時点で、ブラウザにサーバー IP を入力してページを更新し続けると、ページにはしばらくの間 8080、しばらくの間 8081、しばらくの間 8082、そしてしばらくの間 8083 が表示されることがわかります。もちろん、これは、どのサーバーがより多くのリソースを持っているかに基づいて、リクエストの送信先を決定するのは nginx です。ブラウザー内のリクエストのアドレスは変更されませんが、別の Tomcat サーバーにアクセスします。これは、nginx が正常に構成されたことを意味します。

以上がLinux で複数の Tomcat の Nginx 負荷分散を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。