Vanlin Study Club

Java Js Flex

Nginx 0.8.x跟tomcat组合实现均衡(我就当它是把80跟其他端口组合起来):)

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器 。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的Rambler.ru 站点开发的,它已经在该站点运行超过四年多了。Igor 将源代码以类BSD许可证的形式发布。自Nginx 发布四年来,Nginx 已经因为它的稳定性、丰富的功能集、 示例配置文件和低系统资源的消耗而闻名了。目前国内各大门户网站已经部署了Nginx,如新浪、网易、腾讯等;国内几个重要的视频分享网站也部署了Nginx,如六房间、酷6等。 新近发现Nginx 技术在国内日趋火热,越来越多的网站开始部署Nginx。

这么好的东西不用用不行啊,,,来看官方的文档。
NginxChsHttpUpstreamModule
Edit section: 摘要 摘要

这个模块提供一个简单方法来实现在轮询和客户端IP之间的后端服务器负荷平衡。

配置范例:

upstream backend  {
  server backend1.example.com weight
=5;
  server backend2.example.com:8080;
  server unix:/tmp/backend3;
}
 
server {
  location / {
    proxy_pass  http://backend
;
  }
}

配置指导
Edit section: ip_hash ip_hash

syntax: ip_hash

default: none

context: upstream

This directive causes requests to be distributed between upstreams based on the IP-address of the client. The key for the hash is the class-C network address of the client. This method guarantees that the client request will always be transferred to the same server. But if this server is considered inoperative
, then the request of this client will be transferred to another server. This gives a high probability clients will always connect to the same server.

范例:

upstream backend {
  ip_hash
;
  server   backend1.example.com;
  server   backend2.example.com;
  server   backend3.example.com  down;
  server   backend4.example.com;
}

Edit section: server server

syntax: server name 
[parameters]

default: none

context: upstream 

看不出名堂?不要紧看我的 配置最直观 nginx.conf

#user  nobody
;
worker_processes  1;

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

#pid        logs/nginx.pid
;


events {
    worker_connections  
1024;
}


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

    #log_format  main  '$remote_addr - $remote_user 
[$time_local] "$request" '
    #                  '$status $body_bytes_sent 
"$http_referer" '
    #                  '
"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main
;
    upstream vanlin.imblog.in { 
      server 
127.0.0.1:8080; 
#这里才是实现均衡的地方,一般做法 Nginx 对外, 内部对应多台 server 有点像映射。。。
    }
    
    sendfile        on
;
    #tcp_nopush     on;

    #keepalive_timeout  
0;
    keepalive_timeout  65;

    #gzip  on
;

    server {
        listen       
80;
        server_name  vanlin.imblog.in;

        #charset koi8-r
;

        #access_log  logs/host.access.log  main
;

        location / {
            proxy_pass http://vanlin.imblog.in
;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        #error_page  
404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   
500 502 503 504  /50x.html;
        location = /50x.html {
            root   html
;
        }
#这里配置过php,,好像。。 需要 php_cgi  的支持
        # proxy the PHP scripts to Apache listening on 
127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://
127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 
127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html
;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files
, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all
;
        #}
    }


    # another virtual host using mix of IP-
, name-, and port-based configuration
    #
    #server {
    #    listen       
8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html
;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       
443;
    #    server_name  localhost;

    #    ssl                  on
;
    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_timeout  5m
;

    #    ssl_protocols  SSLv2 SSLv3 TLSv1
;
    #    ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    #    ssl_prefer_server_ciphers   on;

    #    location / {
    #        root   html
;
    #        index  index.html index.htm;
    #    }
    #}

}

posted on 2009-10-14 11:05 vanlin 阅读(378) 评论(0)  编辑  收藏 所属分类: server


只有注册用户登录后才能发表评论。


网站导航: