ホームページ >バックエンド開発 >PHPチュートリアル >Nginx+tomcat クラスターの構成
この記事は http://os.51cto.com/art/201111/304608.htm からの転載です
この記事では、最終的に負荷分散を実現するための、Windows XP および ubuntu 環境における nginx と Tomcat のクラスター構成を紹介します。
AD最初は小さな疑問がありました。なぜオープンソースの Apache や Nginx ソフトウェアの負荷を使用しないのですか? F5 機器には何十万もの費用がかかり、高価です。私の比較的素朴な質問でしたが、後で理解しました。F5 は IOS ネットワーク モデルのトランスポート層で動作するのに対し、Nginx と Apache は http リバース プロキシ メソッドに基づいており、ISO モデルの 7 番目のアプリケーション層に位置します。率直に言うと、これは TCP UDP プロトコルと http プロトコルの違いです。Nginx は TCP プロトコルに基づいたアプリケーションの負荷分散を提供できません。 2 つの違いとアプリケーション シナリオを理解し、Nginx に強い興味を持ちました。Zhang Yan の「実践 Nginx」を読みました (1985 年のこの若く将来有望な若者はうらやましく、嫉妬していました)、一般原理と構成を理解しました。 、Ubuntu10.10では、ウィンドウの下でNginx + tomcatロードバランシングを構成しようとし、すべてのリクエストをtomcatに転送し、静的、動的分離、イメージホットリンク防止、その他の構成を構成しませんでした。Nginx の概要
Nginx (エンジン x と同じ発音) は、軽量の Web サーバー/リバース プロキシ サーバーおよび電子メール (IMAP/POP3) プロキシ サーバーであり、BSD のようなプロトコルでリリースされています。その特徴は、メモリ占有量が少なく、強力な同時実行機能を備えていることです。実際、nginx の同時実行機能は、同じ種類の Web サーバー間でより優れたパフォーマンスを発揮します。現在、中国本土の nginx Web サイトのユーザーには、Sina、NetEase、Tencent などが含まれます。他のよく知られたマイクロネット Plurk も nginx を使用します。上記は基本的にナンセンスな Nginx の紹介です。ここからは本題に入ります。1 つ目は Windows 環境、2 つ目は Ubuntu 環境です。 )。
Window XP 環境: Nginx+Tomcat6
1. ダウンロードアドレス
http://nginx.org/en/download.html ここでは、nginx-0.8 を使用することをお勧めします。
2. ディレクトリ構造
ログディレクトリ nginx.exe メインプログラム スペースを入れずに英語のディレクトリに解凍するだけで非常に簡単です (個人的な習慣なので、中国語の問題が心配です)。 nginx をダブルクリックして開始します。ここでは、D:server ディレクトリにインストールしました。Tomcat もこのディレクトリにインストールされます。
DOS 環境で開始します
3. nginx.conf 設定
Nginx 設定ファイルは、デフォルトで conf ディレクトリにあります。ファイルは nginx.conf で、D:servernginx-0.8.20 にインストールします。デフォルトのメイン設定ファイルは D:servernginx-0.8.20nginx.conf です。以下は、フロントエンド リバース プロキシ サーバーとしての nginx の構成です。
Nginx.conf コード
protocol
="HTTP/1.1" connectionTimeout
=3 番目のポートの変更:
Java コード<コネクタポート="800 9"
プロトコル=<エンジンname="Catalina"defaultHost="localhost"jvmRoute="tomcat1">
2 つの Tomcat ポートを複製しないでください確実に起動できるようにするため、他の Tomcat 構成と Seagate は省略され、リスニング ポートは 18080 です。添付ファイル内のすべての構成情報をアップロードします。
5. 構成を確認し、負荷分散をテストします
まず、nginx 構成が正しいかどうかをテストします。テストコマンド: nginx -t (デフォルトの検証: confnginx.conf)。構成ファイルのパスを指定することもできます。
次に、Tomcat を確認し、2 つの Tomcat を起動します。ポートの競合がなければ、成功です (Tomcat が依存する Java が「キック」されたことについて話す必要はありません)。
最後に、負荷分散の構成を確認します。設定、http://localhost/ または http://localhost/index.jsp。観察しやすいように、index.jsp ページを変更し、ログ出力情報を追加しました。注: 左上隅の子猫の頭: アクセス tomcat2、tomcat1 にアクセスします。これは、異なる Tomcat がアクセスされることを意味します。
これで、ウィンドウでの nginx+tomcat ロード バランシングの設定が完了しました。 tomcat セッションに関しては、通常、Cookie ベースのセッション スティッキー機能を実装するために使用される Nginx 拡張モジュールである memcached または nginx_upstream_jvm_route です。 Tomcat が多すぎる場合、サーバー間のセッションの同期はリソースを消費し、同時実行性の高い環境ではセッション ストームが発生しやすくなります。ご自身のアプリケーションの状況に応じて、合理的にセッション ソリューションを採用してください。
Ubuntu10.10環境: Nginx+Tomcat6
ubuntu10.10でのインストールと設定方法について簡単に説明します
1. Nginxをダウンロードします
アドレス: http://nginx.org / en/download.html、Linux バージョン: nginx-0.8.20.tar..解凍コマンド:
tar -zxvf nginx-0.8.20.tar.gz
2. Nginx をコンパイルしてインストールします
Nginx は他の PCRE、openssl (libssl-dev に依存)、および私のノートブック Ubuntu に依存します。 PCRE は依存する openssl をインストールするだけで済みます。 PCRE と openssl などのインストール方法について簡単に説明します。
PCRE ダウンロード アドレス: ftp://ftp.csx.cam.ac.uk/pub/software/ programming/pcre/
シェルコード
openssl via apt-get install インストール
依存するソフトウェア パッケージが以下にインストールされています Nginx をコンパイルするには:
シェル コード
ウィンドウの下で上記の方法に従ってデフォルトの構成を確認し、デフォルトの構成で nginx を起動し、http://127.0 にアクセスします。 .0.1
Nginx の設定 成功したら、次のようにウィンドウの下の nginx.conf にいくつかの変更を加えます:
Ubuntu nginx.conf コード
Shell代コード
我们通过ps -ef|grep nginx,看到如下结果:
注意:在启作動時間linux提示一句警告【warn】……,是因为是我们因为的#允许允许允许允许允许最大数数数数数数数worker_connections 2048、超过linux默认1024的的限制限制実行中の pid は、ps コマンドを介して確認することもできます。
信号タイプは次のとおりです。
HUP
重新追加日志 | |
平滑升级执行程序 | |
从容关闭工作进程 | |
从容关闭 | |
以上、側面の内容を含む Nginx+tomcat 構成群を紹介しましたが、PHP 教則に関心のある友人の助けになることを望みます。 |