ここで nginx のリバース プロキシを試してみましょう。 リバースプロキシ方式とは、インターネット上の接続要求をプロキシサーバーで受け付け、内部ネットワーク上のサーバーに転送し、サーバーから取得した結果をインターネット上の接続要求元のクライアントに返す方式です。このとき、プロキシサーバーは外部からはリバースプロキシサーバーのように見えます。 私たちの Java プロジェクトでは、アクセスはポート 80 経由で行われ、Nginx がそれを受信し、Tomcat サーバーに転送して、サーバーの結果を返します。 ここで nginx.conf ファイルを変更する必要があります。 アップストリームバックエンド{ #プロキシ IP の重みが大きいほど、受信するトラフィックが多くなります。逆に、server localhost:8084 weight=50; サーバー localhost:8088 重み=50; } 受信したリクエストを転送します: # / すべての負荷分散 + リバースプロキシの場所 / { ルート /data/wwwroot1; インデックス index.html index.htm;#index ファイル proxy_pass http://backend; } このようにして、nginx へのリクエストを tomcat に割り当てて転送することができます。ここでは、負荷分散に使用される 2 つの Tomcat サーバーを定義しました。重みを設定することで、アクセス量を制御できます。 具体的な設定コードは以下のとおりです。 #ユーザーnobody; # ワーカープロセスは通常、CPU の数 * コアの数を設定します。worker_processes 1; #error_log ログ/error.log; #error_log ログ/error.log 通知; #error_log ログ/error.log 情報; #pid ログ/nginx.pid; # 接続プロパティイベントを設定する { worker_connections 1024;#1 人のワーカーが生成する接続の数} # HTTPサーバーのメインセクションを設定します http { mime.types を含めます。 デフォルトタイプ アプリケーション/オクテットストリーム; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log ログ/access.log メイン; ファイル送信オン; #tcp_nopush オン; #キープアライブタイムアウト 0; キープアライブタイムアウト65; #gzip 圧縮関数 gzip をオンに設定; gzip_min_length 1k; gzip_バッファ 4 16k; gzip_http_バージョン1.0; gzip_comp_レベル6; gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml; gzip_vary オン; #負荷分散バックエンドサーバーリストを設定するアップストリームバックエンド{ #プロキシ IP の重みが大きいほど、受信するトラフィックが多くなります。逆に、server localhost:8084 weight=50; サーバー localhost:8088 重み=50; } サーバー{ 2022を聴く; server_name ローカルホスト; 文字セット utf-8; access_log ログ/wwwroot2.access.log メイン; 位置 / { ルート /data/wwwroot2; インデックス index.html index.htm;#インデックスファイル} } # 仮想ホストセクションサーバー{ 聞く 80; server_name ローカルホスト; ルート /data/wwwroot1; 文字セット utf-8; #アクセスログ access_log logs/wwwroot1.access.log main; # / すべての負荷分散 + リバースプロキシの場所 / { ルート /data/wwwroot1; インデックス index.html index.htm;#index ファイル proxy_pass http://backend; } エラーページ 404 /404.html; # サーバーのエラーページを静的ページ /50x.html にリダイレクトします # エラーページ 500 502 503 504 /50x.html; 場所 = /50x.html { ルートhtml; } # PHP スクリプトを 127.0.0.1:80 で listen している Apache にプロキシします # #場所 ~ \.php$ { # プロキシパス http://127.0.0.1; #} # PHP スクリプトを 127.0.0.1:9000 で待機している FastCGI サーバーに渡します # #場所 ~ \.php$ { #ルートhtml; #fastcgi_pass 127.0.0.1:9000; # fastcgi_index インデックス.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #fastcgi_params を含めます。 #} # Apacheのドキュメントルートが.htaccessファイルへのアクセスを拒否する # nginxのものと一致します # #場所 ~ /\.ht { # すべて拒否; #} } # IP、名前、ポートベースの設定を組み合わせた別の仮想ホスト # #サーバー{ # 8000を聴く; # somename:8080 をリッスンします。 # server_name somename alias another.alias; # 位置 / { #ルートhtml; # インデックス index.html index.htm; # } #} # HTTPS サーバー # #サーバー{ # 443 ssl をリッスンします。 # サーバー名 localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache 共有:SSL:1m; #ssl_session_timeout 5分; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers オン; # 位置 / { #ルートhtml; # インデックス index.html index.htm; # } #} } テスト結果によると、ポート 80 のアドレスにアクセスすると、表示される結果は基本的に 50-50 になります。 ランダムアクセスも 上記の 2 つのスクリーンショットは、2 つの Tomcat サーバーのテスト ファイルに対応しています。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: Web 開発 js 文字列連結プレースホルダーと conlose オブジェクト API の詳細な説明
序文まずここで説明させてください。インターネット上では、Alibaba では 500 万のデータを異...
線形グラデーション 背景画像: linear-gradient(方向、開始色、中間色1、中間色2、....
恥ずかしながら、このようなよく使われるチェックボックスのスタイルを変更するために、Baidu で長い...
1. まずシステムにmysqlがインストールされているかどうかを確認します rpm -qa | gr...
目次製品要件アイデア問題ライブラリ選択をドラッグコンポーネントを生成する方法コンポーネントを生成する...
GitHubアドレス、気に入ったらスターを付けてくださいプラグインのプレビューチュートリアル1. プ...
序文JavaScript では、これは関数呼び出しコンテキストです。この動作が非常に複雑であるからこ...
要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS....
テーブルはかつて、Web ページの開発、つまりレイアウトにおいて非常に重要な役割を果たしていました。...
目次はじめにNginx Dockerファイル新しい会議もっと参考文献はじめに最近、アプリケーションの...
Docker コンテナのネットワーク障害に対する 6 つの解決策注: 以下の方法は、コンテナ内のパブ...
目次TomcatをインストールするTomcat 圧縮パッケージをダウンロードTomcatには3つの主...
リバースプロキシリバースプロキシとは、プロキシサーバーを介してユーザーのアクセス要求を受信し、ユーザ...
この記事は議論の出発点となることを目的としています。詳細なドキュメントと easycom の仕様につ...
目次序文1. 文字列を分割する2. JSONのフォーマットと解析3. 複数行の文字列と埋め込み式4....