ubuntu への nginx のインストールと load balancer としての利用

  1. nginx のインストール

    aptitude で リポジトリからインストールしてみる。

    sudo aptitude install nginx
    sudo /etc/init.d/nginx start
    
  2. nginx の初期設定

    ubuntu では、(apache 同様) サイト毎の conf がモジュール化されており、default のモジュールは /etc/nginx/sites-enabled/default となっている。

    sudo vi /etc/nginx/sites-enabled/default
    

    私は apache2 同様、 ./sites-available/* にモジュール化したサイトの conf をつっこんでおき、 ./sites-enabled/* 内にシンボリックリンクを作成するようにしています。 nginx では、いまのところ apache2 のように a2emod などのコマンドがないため、自作しておくと便利かも(指定されたモジュールのシンボリックリンクをはるだけだけど・・・)。

  3. ロードバランサの設定

    テストとして、google のホストをロードバランスしてみる。ubuntu の nginx.conf は ./conf.d/* を include するため、 conf.d 内に loadbalance.conf を作成する。

    sudo vi /etc/nginx/conf.d/loadbalance.conf
    

    以下のように書いてみる。

    upstream httpdcluster {
       server www.google.com:80;
       server www.google.co.jp:80;
       server www.google.co.uk:80;
    }
    
    server {
       listen 8080;
       server_name localhost;
       location / {
           proxy_pass http://httpdcluster;
       }
    }
    

    例では、 httpdcluster と命名したサーバー郡をロードバランシングする。 これにより、 8080 番の /* を httpdcluster 郡に振り分けることができる。
    http://localhost:8080/search?q=python などにアクセスし、更新を押し続けると、ロードバランスされます (全部表示が同じだけど、されてるはずw)。

コメント

このブログの人気の投稿

Python から Win32 API 経由で印刷する

Disqus のスケール - Django 編

#PySpa アドベント (23 日目)