実際の運用では、Tomcat サーバーをプロジェクト内で単独で使用することは一般的ではありません。静的リソースへの応答では nginx の方がパフォーマンスが優れています。また、nginx はリバース プロキシ専用のサーバーであるため、Java リクエストの実装が容易です。バックエンドを処理し、処理のために Tomcat コンテナに引き渡され、それ自体が静的リソースの処理に使用されます。
nginx では、server {} ブロックは、比較的大規模なプロジェクト (通常はドメイン名のすべての構成) を構成するためによく使用されます。通常、サーバー ブロックには、ドメイン名とルート ディレクトリの構成、静的リソースのサポート、php fastcgi リクエスト、URL の書き換え、エラー ページの構成、その他の構成などの複数のリクエスト ルールを定義するための複数の場所があります。そのため、nginx プロキシの Tomcat とフロントphp-fpm の転送も同じで、バックエンドの動的モジュールにリクエストを転送してリクエストを処理します。 tomcat コンテナへ
Tomcat が正常に実行されており、ポート番号が 8080 であると仮定して、まず vim を使用して nginx.conf 構成ファイルを編集します (例: vim /usr/local/nginx/nginx.conf#)。
##次に、server {} ブロックの最後に、次のコンテンツを追加します。location ^~ /tomcat/ { proxy_pass http://127.0.0.1:8080/; proxy_redirect off; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; }#php-fpm サポートは上で構成されているため、/tomcat/ここでのリクエストは、Tomcat コンテナに転送するかどうかを決定するために使用されます。前の ^~ これは、任意のドメイン名または IP アドレスの部分と一致するため、http://ip/tomcat のようなリクエストにアクセスすると、Tomcat コンテナは機能し、効果は、コンテナ下を含め、http://ip:8080 にアクセスするのと同じです。プロジェクトはすべてまったく同じです。
保存後、nginx 構成ファイルをリロードします: /usr/local/nginx/nginx -s reload
もちろん、ここで複数の場所を設定して、複数のサーバー上の Tomcat にプロキシすることができます。また、複数のサーバーにプロキシするために複数のサーバー {} ブロックを自由に設定することもできます。また、静的リソースルールなどを設定することで、負荷分散の設定やWebサイトへの同時アクセスの高速化、画像サーバーのリソース共有などの強力な機能を実現できます。 .
以上がNginx を Tomcat サーバーにリバースプロキシする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。