zoukankan      html  css  js  c++  java
  • 【原创】学习日记4:nginx负载均衡(二)2012.01.08

    承接上文

    本次搭建的架构,草稿如下图:

    web1 :65.130 的www.test1.com的配置文件test.conf 如下

    [root@localhost nginx]# more conf.d/test.conf 
    server {
        listen       80;
        server_name  www.test1.com;
    
        #charset koi8-r;
        access_log  /var/log/nginx/test.access.log  main;
        error_log  /var/log/nginx/test.error.log;
    
        location / {
            root   /var/www/html/test/;
            index  index.php;
        }

    web2 :65.135 的www.test1.com的配置文件test.conf 和65.130一样一样的

    nginx proxy :65.134的nginx的配置文件nginx.conf如下:

    [root@localhost nginx]# more nginx.conf 
    
    user  nginx;
    worker_processes  1;
    
    error_log  /var/log/nginx/error.log warn;
    pid        /var/run/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       /etc/nginx/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  /var/log/nginx/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        keepalive_timeout  65;
    
        #gzip  on;
    
        upstream www.test1.com {
           ip_hash;
           server 192.168.65.135:80;
           server 192.168.65.130:80;
        }
    
        include /etc/nginx/conf.d/*.conf;
    }

    注意:增加upstream节点,同时,设置为ip_hash模块,解决session共享问题(推荐使用)

    接着,www.test1.com的配置文件test.conf文件配置如下:

    root@localhost nginx]# more conf.d/default.conf 
    server {
        listen       80;
        server_name  www.test1.com;
    
        #charset t1com8-r;
        #access_log  /var/log/nginx/log/host.access.log  main;
    
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
    
            proxy_pass  http://www.test1.com;  #这个名字必须和upstream定义的保持一致
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
    
    .....
    
    以下省略
    
    }

    ok 本地真实机器(win7 )绑定host访问 www.test1.com 即可

    192.168.65.134  www.test1.com 

    结果如下:

    返回的是web1 :65.130的内容。

    ok 当我们其中的一台web挂掉之后,会是怎么样的呢?

    这时候,我停掉

    [root@localhost php]# service nginx stop
    Stopping nginx:                                            [  OK  ]

    我们再次访问www.test1.com

    见证奇迹的时候到了:请看

    nginx内置健康状态检测,会自动转到服务正常的web上。

    到此,整体工作还差一个备用nginx proxy,其中涉及到keepalived,做心跳。

    后续......

  • 相关阅读:
    zoj-1610线段树刷题
    poj-3268最短路
    poj-2528线段树练习
    线段树-最小逆序数hdu1394
    线段树延迟更新
    hdu-4027线段树练习
    RMQ_第一弹_Sparse Table
    字符串hash与字典树
    背包问题
    网络流
  • 原文地址:https://www.cnblogs.com/wangjiafang/p/2851026.html
Copyright © 2011-2022 走看看