nginx: java: nginx + tomcat

nginx(えんじんえっくす)使ってみた。

この辺りに設定例が転がっているね。
Using Nginx As Reverse-Proxy Server On High-Loaded Sites

設定例:
# 動作確認していないけれどこんな感じ。
# 時間が出来たら同じ設定での動作確認しておきます。

worker_processes  4;
worker_cpu_affinity 0001 0010 0100 1000;

events {
    worker_connections  32768;
    use epoll;
}

http {
    include proxy.conf;
    include mime.types;

    # JavaServlet
    upstream tomcat{
        server 192.168.1.21:8080 wight=5;
        server 192.168.1.22:8080 wight=5;
    }

    server {
        listen    redhawk.jp:80 default;

        location /javaservlet {
            proxy_pass http://tomcat/javaservlet;
        }
    }
}

実際使ってみたんだけれど、proxy serverとしての機能部分しか使わないので
apache使うよりも負荷は軽い。

使い方は、tomcatを起動して
その後に、locationなり、サブドメインなりで判定して、tomcatにリクエストを投げてあげるだけ。

プロセスに HUP を投げると、設定ファイルを再読み込みするので、再起動の必要もない。
# HUPはバグがあるから多用しない方がいい。と職場の人が言っておりましたが。

upstream 設定を使うと、weight を設定して、ロードバランサーの機能を持たせる事も出来るので
Django や、 Passenger との連携も出来るらしいので、Java, Python, Ruby を使う時には便利だと思う。

PHP は、まあ、どうでもいいです。
fastCGIで使ってみたけれど、処理負荷が高すぎて、アクセスが本当に多いサイトだと持たない。
nginxというより、PHPの問題だし。
それに、fastCGI使うくらいなら、apache module で動かした方が設定も楽だしで PHP メインなら、nginx は不要かと。

Leave a comment

0 Comments.

Leave a Reply


[ Ctrl + Enter ]

Spam Protection by WP-SpamFree