柳暗花明笔记

    转载:Nginx 简单的负载均衡配置示例[原创]

    所属分类:[ php&web ] 猫哲学家 发表于:2012-08-10 21:49 浏览:453

    原文:http://blog.s135.com/post/306/
    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

    文章来自:http://blog.s135.com/post/306/

    标签: nginx 
    上一编文章 Nginx负载均衡和LVS负载均衡的比较分析 下一编文章 介绍一个很不错的素材网站
    最近文章
    发表评论