ホームページ  >  記事  >  バックエンド開発  >  Nginx+tomcatクラスタ環境構築

Nginx+tomcatクラスタ環境構築

WBOY
WBOYオリジナル
2016-08-08 09:26:501128ブラウズ

実験環境:Windows XP SP3

Nginx バージョン: 1.5.12;

ダウンロードアドレス: http://nginx.org/en/download.html

Tomcat バージョン: 6.0.39

ダウンロードアドレス: http://tomcat.apache.org/download-60.cgi

1.nginxの設定

1. ドライブ D のルート ディレクトリに nginx フォルダを作成し、ダウンロードした nginx リリース パッケージ nginx-1.5.12.zip をこのディレクトリに抽出します。

2. D:nginxnginx-1.5.12 ディレクトリ構造

Nginx-

                                                                                                                                     

                                                                                                 

|_ docs ドキュメント ディレクトリ

                                                                                                                          ​                                                                                                                                                                                                                                     

|

                                          

3.nginxを起動する

Windows で nginx を起動するのは非常に簡単で、ダブルクリックして nginx.exe を実行するだけです。 Nginx はデフォルトでポート 80 で実行されます。nginx が開始されているかどうかを確認するには、ブラウザに http://localhost と入力するだけで、nginx が開始されたことを示す次のページが表示されます。

1.nginxを停止する

nginx を停止する必要がある場合は、コマンド ライン ウィンドウを開き、nginx が解凍されているディレクトリ、つまり nginx.exe ファイルが存在するディレクトリを入力し、コマンド nginx –s stop を入力して nginx を停止する必要があります。 。

2. クラスタ構成

1.Tomcatの設定

ドライブ D のルート ディレクトリに tomcat フォルダを作成し、tomcat6.0.39 リリース パッケージの 2 つのコピーをこのディレクトリに解凍し、それぞれ tomcat01 および tomcat02 という名前を付けます。どの Tomcat にアクセスしているかを簡単に確認するために、tomcat01 の D:tomcattomcat01webappsROOTindex.html を変更します。

[html]ビュー プレーンコピー

  1. b> Apache Tomcatb>td> に変更されました [html]ビュー プレーンコピー <td b
> Apache Tomcat 1

b

>

    td
  1. > 同様に、tomcat02のD:tomcattomcat02webappsROOTindex.htmlをに置きます [html]ビュー プレーンコピー
    1. <td b> Apache Tomcatb>td > に変更されました [html]ビュー プレーンコピー <
    2. td
    b

    > Apache Tomcat 2

    b
    1. >td > 同じコンピュータ上に 2 つの Tomcat があり、2 つの Tomcat のポートが競合しないように、tomcat02 の D:tomcattomcat02confserver.xml を配置します。 [html]ビュー プレーンコピー <サーバーポート="8005"シャットダウン="シャットダウン"
    >

    に変更されました

    [html]ビュー プレーンコピー

    1. <サーバーポート="8105"シャットダウン="シャットダウン"
    2. >

    [html]ビュー プレーンコピー

    1. &lt;connectorport= "8080"protocol= "http/1.1"

    接続タイムアウト

    =

    "20000"

    1. redirectPort="8443" /> に変更されました [html]ビュー プレーンコピー
      1. <コネクタ ポート="8180" プロトコル="HTTP/1.1"
      2. 接続タイムアウト="20000"
      3. redirectPort="8543" />


      1. <コネクタ ポート="8009" プロトコル="AJP/1.3" リダイレクトポート=「8443」 />
      に変更

      [html] ビュー 普通のコピー

      1. <コネクタ ポート="8109" プロトコル="AJP/1.3" リダイレクトポート=「8543」 />


      [html] ビュー 普通のコピー

      2、nginxを構成する

      nginx.conf

      [html] ビュー プレーンコピー

      1. #Nginx ユーザーとグループ、ウィンドウで指定されていません
      2. #ユーザー niumd
      3. #動作中のサブプロセスの数 (通常は CPU の数または CPU の 2 倍)
      4. ワーカープロセス 2;
      5. #エラーログ保存パス
      6. #error_log ログ/error.log
      7. #error_log ログ/error.log 通知
      8. #error_log ログ/error.log 情報
      9. #ファイルを保存するためのpidを指定します
      10. #pid ログ/nginx.pid;
      11. イベント {
      12. #ネットワークIOモデルを使用する場合、Linuxではepoll、FreeBSDではkqueueが推奨されており、windowでは指定されていません。
      13. #epoll を使用します。
      14. #許可される最大接続数
      15. worker_connections 1024;
      16. }
      17. http {
      18. mime.types を含める
      19. default_type アプリケーション/オクテットストリーム
      20. #ログ形式を定義する
      21. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
      22. '$status
      23. '"$http_user_agent" "$http_x_forwarded_for"';
      24. access_log ログ/access.log メイン
      25. client_header_timeout 3 分
      26. client_body_timeout 3 分
      27. 送信タイムアウト 3 分
      28. client_header_buffer_size 1k;
      29. large_client_header_buffers 4 4k;
      30. ファイルを送信します。
      31. tcp_noプッシュオン
      32. tcp_nolay オン
      33. #キープアライブタイムアウト 0;
      34. キープアライブタイムアウト 65;
      35. #gzip オン;
      36. アップストリームローカルホスト {
      37. # IP 計算に基づいて各バックエンド Tomcat にリクエストを割り当てることで、セッションの問題が解決できると誤解している人がいますが、実際はそうではありません。
      38. #同じマシンが複数のネットワークにある場合、経路が切り替わるとIPが異なる場合があります
      39. ip_ハッシュ
      40. C サーバーのローカルホスト: 8080; C サーバーのローカルホスト: 8180;
      41. サーバー {
      42. 80 を聞く
      43. サーバー名 ローカルホスト
      44. #charset koi8-r;
      45. #access_log logs/host.access.log main;
      46. 場所 / {
      47. proxy_connect_timeout 3;
      48. プロキシ送信タイムアウト 30;
      49. proxy_read_timeout 30 について
      50. proxy_pass http://localhost;
      51. }
      52. #ERROR_PAGE 404
      53. # サーバーエラーページを静的ページ /50x.html にリダイレクトします
      54. #
      55. エラーページ 500 502 503 504 /50x.html;
      56. 場所 = /50x.html {
      57. ルート HTML
      58. }
      59. }
      60. }
      61. 3. リバース プロキシ構成の結果を表示する nginx、tomcat01、tomcat02を起動します。
      62. ブラウザに http://localhost と入力すると、以下に示すように、tomcat01 の管理インターフェイスが表示されます。

      次に、透過的に tomcat02 を停止し、ページを更新すると、以下に示すように、nginx が自動的に tomcat02 に切り替わります。



      上記では、関連する側面も含めて Nginx+tomcat クラスター環境の構築を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。