• linux下nginx负载均衡部署


    nginx负载均衡部署

    Nginx("engine x") 是一个高性能的 HTTP 和 反向代理 server,也是一个 IMAP/POP3/SMTP 代理server。

     Nginx 是由 IgorSysoev 为俄罗斯訪问量第二的 Rambler.ru网站开发的,第一个公开版本号0.1.0公布于2004年10月4日。

    其将源码以类BSD许可证的形式公布,因它的稳定性、丰富的功能集、演示样例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4公布。

    一般我们都须要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。

    1      准备工作

    openssl-1.0.1c.tar.gz

    zlib-1.2.8.tar.gz

    pcre-8.36.tar.gz

    nginx-1.6.2.tar.gz

    下载地址:http://pan.baidu.com/s/1dDhCYHj password: nq7r

    2      上传文件到server

    能够使用SecureFX上传

    3      安装PCRE库

    tar zxvf pcre-8.36.tar.gz

    mv pcre-8.36.tar.gz pcre

    cd pcre

    ./configure

    make

    make install

    4      安装zlib库

    tar zxvf zlib-1.2.8.tar.gz

    mv zlib-1.2.8 zlib

    cd zlib

    ./configure

    make

    make install

    5      安装ssl

    tar zxvf openssl-1.0.1c.tar.gz

    mv openssl-1.0.1c.tar.gz openssl

    cd openssl

    ./config

    make

    make install

    6      安装nginx

    Nginx 一般有两个版本号。各自是稳定版和开发版,您能够依据您的目的来选择这两个版本号的当中一个,以下是把 Nginx 安装到 /usr/local/nginx 文件夹下的具体步骤:

    tar zxvf nginx-1.6.2.tar.gz

    mv nginx-1.6.2.tar.gz nginx

    cd nginx  

    ./configure --prefix=/usr/local/nginx --with-pcre=/root/pcre--with-zlib=/root/zlib

    make

    make install

    7      启动

    确保系统的 80 port没被其它程序占用,

    /usr/local/nginx/sbin/ ./nginx

     

    检查是否启动成功:

    ps –ef | grep nginx 有结果输入说明启动成功

     

    打开浏览器訪问此机器的IP,假设浏览器出现Welcome to nginx! 则表示Nginx已经安装并执行成功。

    8      查询

    ./nginx -h

    9      重新启动

    nginx –s reload

    10             改动配置文件

    cd /usr/local/nginx/conf

    vi nginx.conf

    改动配置文件例如以下:

    #user  nobody;

    worker_processes 4;

    events {

        use   epoll;

       worker_connections  1024;

    }

    http {

        include       mime.types;

        default_type  application/octet-stream;

        sendfile        on;

       keepalive_timeout  10;

       tcp_nodelay        on;

        upstreammycluster{

            server192.168.109.227:8082;

            server192.168.109.227:8080;

        }

        server {

            listen       80;

            server_name  192.168.109.227;

           access_log off;

            location /{

                    proxy_passhttp://mycluster;

             }

            error_page   500 502 503 504  /50x.html;

           

            location =/50x.html {

                root   html;

            }

            location/nginx_status {

                   stub_status off;

                    access_logoff;

                    allow192.168.64.178;#璁剧疆涓哄彲璁块棶璇ョ姸鎬佷俊鎭殑ip

                    deny all;

            }

       }

    }

    11             Nginx负载均衡策略

    11.1  轮询(默认) 

    对于一级后端server群,形成一个环队列的形式。对于每一个到达的请求按时间顺序顺次分配给这些后端server。在前端调度器与后端server之间採用“心跳”方式进行状态检查。假设发现后端server宕机,则将其删除。

    这样的方式为默认配置,长处是简洁,但缺点是无法进行最优化调度,有可能有的请求须要耗时较久。这样会带来一定的不平衡。

    11.2     weight 

    指定轮询几率,weight和訪问比率成正比,用于后端server性能不均的情况。 

    ps:以上轮询负载均衡策略。我个人觉得对于动态站点应用,这差点儿就是形同摆设。没有人会採用。

    但一种情况例外:server端的session採用共享机制。如存储在数据库或者memcached内存里等。

    11.3      ip_hash 

    这是一种非轮询式方式,对于每一个到达的请求,直接通过其请求IP进行哈希的映射。通过映射结果获得那一台后端server要处理这个请求。这样的方式有一个明显的优点是可以保证session的唯一性。  

    11.4      基于服务响应式fair(第三方) 

    这样的方式是依据server端的动态响应,对每个请求进行分配。 这样的方式可以自己主动依据当前的后端实际负载来优化。

      

    11.5      url_hash(第三方)

    这种方式与IP的哈希方式类似。是对客户机请求的URL进行哈希操作,这种方式有一个明显的优点是,可以便于内容缓存的实现。对于常常性的资源訪问,採用这种方式会获得很好的质量。它眼下不是nginx自带的功能,须要安装补丁方可使用。

    本指令的具体说明和安装见:(文章后面有附带具体安装实例)

    http://wiki.nginx.org/HttpUpstreamRequestHashModule

  • 相关阅读:
    AutoCAD.NET 二次开发(一) 自定义菜单及自动加载
    WSS 3.0部署备忘 一
    WSS 3.0部署备忘 四
    WSS 3.0部署备忘 三
    WSS 3.0部署备忘 二
    loj_1042
    loj_1045
    vim的学习笔记(3)
    Linux的磁盘与文件管理系统(1)
    文件与文件系统的压缩与打包
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5151030.html
Copyright © 2020-2023  润新知