Nginx簡單的負載均衡配置示例

cnbird發表於2008-02-12
www.s135.com 和 blog.s135.com 域名均指向 Nginx 所在的伺服器IP。

  使用者訪問http://www.s135.com,將其負載均衡到192.168.1.2:80、192.168.1.3:80、192.168.1.4:80、192.168.1.5:80四臺伺服器。

  使用者訪問http://blog.s135.com,將其負載均衡到192.168.1.7伺服器的8080、8081、8082埠。

  以下為配置檔案nginx.conf:

引用
user  www www;

worker_processes 10;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

#最大檔案描述符
worker_rlimit_nofile 51200;

events
{
      use epoll;

      worker_connections 51200;
}

http
{
      include       conf/mime.types;
      default_type  application/octet-stream;

      keepalive_timeout 120;

      tcp_nodelay on;

      upstream  www.s135.com  {
              server   192.168.1.2:80;
              server   192.168.1.3:80;
              server   192.168.1.4:80;
              server   192.168.1.5:80;
      }

      upstream  blog.s135.com  {
              server   192.168.1.7:8080;
              server   192.168.1.7:8081;
              server   192.168.1.7:8082;
      }

      server
      {
              listen  80;
              server_name  www.s135.com;

              location / {
                       proxy_pass        http://www.s135.com;
                       proxy_set_header   Host             $host;
                       proxy_set_header   X-Real-IP        $remote_addr;
                       proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
              }

              log_format  www_s135_com  `$remote_addr – $remote_user [$time_local] $request `
                                `”$status” $body_bytes_sent “$http_referer” `
                                `”$http_user_agent” “$http_x_forwarded_for”`;
              access_log  /data1/logs/www.log  www_s135_com;
      }

      server
      {
              listen  80;
              server_name  blog.s135.com;

              location / {
                       proxy_pass        http://blog.s135.com;
                       proxy_set_header   Host             $host;
                       proxy_set_header   X-Real-IP        $remote_addr;
                       proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
              }

              log_format  blog_s135_com  `$remote_addr – $remote_user [$time_local] $request `
                                `”$status” $body_bytes_sent “$http_referer” `
                                `”$http_user_agent” “$http_x_forwarded_for”`;
              access_log  /data1/logs/blog.log  blog_s135_com;
      }
}

  附:Nginx 的安裝方法可參照《Nginx 0.5.31 + PHP 5.2.4(FastCGI)搭建可承受3萬以上併發連線數,勝過Apache 10倍的Web伺服器》文章的以下段落(僅做負載均衡,無需支援PHP的安裝方法):

  二、安裝PHP 5.2.4(FastCGI模式)
  4、建立www使用者和組,以及其使用的目錄:

  三、安裝Nginx 0.5.31
  1、安裝Nginx所需的pcre庫:
  2、安裝Nginx
  3、建立Nginx日誌目錄
  5、啟動Nginx 


相關文章