大数据集群架构之——nginx 反向代理的安装配置文档。

二、Nginx安装配置


    1.安装gcc
    方式1 - yum在线安装:
        //yum install gcc
        yum install gcc-c++ 
    方式2 - rpm离线安装:
        检查是否安装过gcc
            gcc -v 
        如果能打印gcc版本则证明系统已经安装过gcc,不需要再安装,跳过此步骤

        下载安装包
            http://vault.centos.org/6.5/os/x86_64/Packages/
            ppl-0.10.2-11.el6.x86_64.rpm
            cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
            mpfr-2.4.1-6.el6.x86_64.rpm
            cpp-4.4.7-4.el6.x86_64.rpm
            kernel-headers-2.6.32-431.el6.x86_64.rpm
            glibc-headers-2.12-1.132.el6.x86_64.rpm
            glibc-devel-2.12-1.132.el6.x86_64.rpm
            gcc-4.4.7-4.el6.x86_64.rpm
            libstdc++-devel-4.4.7-4.el6.x86_64.rpm
            gcc-c++-4.4.7-4.el6.x86_64.rpm

        上传到linux中

        按照如上顺序安装
            rpm -ivh xxx.rpm

    2.安装pcre
        方式1 - yum在线安装:
            yum -y install gcc pcre-devel openssl openssl-devel
        方式2 - 源码离线安装:
            下载pcre安装包
                https://sourceforge.net/projects/pcre/files/pcre/
                pcre-8.39.gz
                
            上传到linux
                
            解压
                tar -zxvf pcre-8.39.gz
            进入pcre目录,执行
                ./configure
            编译
                make
            安装
                make install

    3.安装zlib-devel  
        rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm

    4.安装nginx
            下载ngnix 源码包
                http://nginx.org/download
                nginx-1.9.9.tar.gz
                
            上传到linux

            解压
                tar -zxvf nginx-1.9.9.tar.gz

            进入文件夹
                
            编译安装
                ./configure --prefix=安装位置 --with-pcre=/root/work/pcre-8.39 #默认位置 /usr/local/nginx
                make
                make install

    5.配置nginx
        在nginx下配置conf/nginx.conf

        upstream backend {
            #ip_hash;
            server 123.56.71.150:8080;
            server 123.56.71.151:8080;
            server 123.56.71.152:8080;
        }
        ----------------------------------------
        upstream backend {
            #对应的你的日志服务器的ip地址
server mini08:8080;
server mini09:8080;
        }
         -----------------------------------------
        
        server {  
            listen       80;  
            server_name  123.56.71.150;  #这个IP地址就是你的nginx所在的IP地址

            location / {     
                proxy_connect_timeout   3;     
                proxy_send_timeout      30;     
                proxy_read_timeout      30;     
                proxy_pass http://backend;   #这里面的配置其实就只要配置这个就可以了。   
            }

        }
        ==================================================
        1、轮询
            轮询即Round Robin,根据Nginx配置文件中的顺序,依次把客户端的Web请求分发到不同的后端服务器。
            配置的例子如下:
                http{ 
                 upstream sampleapp { 
                   server <<dns entry or IP Address(optional with port)>>; 
                   server <<another dns entry or IP Address(optional with port)>>; 
                 } 
                 .... 
                 server{ 
                   listen 80; 
                   ... 
                   location / { 
                    proxy_pass http://sampleapp; 
                   }  
                 } 
            上面只有1个DNS入口被插入到upstream节,即sampleapp,同样也在后面的proxy_pass节重新提到。
        2、最少连接
            Web请求会被转发到连接数最少的服务器上。
            配置的例子如下:
                http{ 
                  upstream sampleapp { 
                    least_conn; 
                    server <<dns entry or IP Address(optional with port)>>; 
                    server <<another dns entry or IP Address(optional with port)>>; 
                  } 
                  .... 
                  server{ 
                    listen 80; 
                    ... 
                    location / { 
                     proxy_pass http://sampleapp; 
                    }  
                  } 
            上面的例子只是在upstream节添加了least_conn配置。其它的配置同轮询配置。
        3、IP地址哈希
            前述的两种负载均衡方案中,同一客户端连续的Web请求可能会被分发到不同的后端服务器进行处理,因此如果涉及到会话Session,那么会话会比较复杂。常见的是基于数据库的会话持久化。要克服上面的难题,可以使用基于IP地址哈希的负载均衡方案。这样的话,同一客户端连续的Web请求都会被分发到同一服务器进行处理。
            配置的例子如下:
                http{ 
                  upstream sampleapp { 
                    ip_hash; 
                    server <<dns entry or IP Address(optional with port)>>; 
                    server <<another dns entry or IP Address(optional with port)>>; 
                  } 
                  .... 
                  server{ 
                    listen 80; 
                    ... 
                    location / { 
                     proxy_pass http://sampleapp; 
                    }  
                  } 
                上面的例子只是在upstream节添加了ip_hash配置。其它的配置同轮询配置。
        4、基于权重的负载均衡
            基于权重的负载均衡即Weighted Load Balancing,这种方式下,我们可以配置Nginx把请求更多地分发到高配置的后端服务器上,把相对较少的请求分发到低配服务器。
            配置的例子如下:
                http{ 
                  upstream sampleapp { 
                    server <<dns entry or IP Address(optional with port)>> weight=2; 
                    server <<another dns entry or IP Address(optional with port)>>; 
                  } 
                  .... 
                  server{ 
                    listen 80; 
                    ... 
                    location / { 
                     proxy_pass http://sampleapp; 
                    } 
                 } 
                上面的例子在服务器地址和端口后weight=2的配置,这意味着,每接收到3个请求,前2个请求会被分发到第一个服务器,第3个请求会分发到第二个服务器,其它的配置同轮询配置。
                还要说明一点,基于权重的负载均衡和基于IP地址哈希的负载均衡可以组合在一起使用。
        ==================================================

    6.启动和关闭nginx
        nginx 启动

        nginx -s reload  :修改配置后重新加载生效
        nginx -s reopen  :重新打开日志文件
        nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确

        关闭nginx:
        nginx -s stop  :快速停止nginx
                 quit  :完整有序的停止nginx

        其他的停止nginx 方式:

        ps -ef | grep nginx

        kill -QUIT 主进程号     :从容停止Nginx
        kill -TERM 主进程号     :快速停止Nginx
        pkill -9 nginx          :强制停止Nginx

nginx注意:如果你在linux环境下面是普通用户的话,需要需要nginx的访问端口,默认是80端口,要修改到1024之前的端口。因为linux系统规范1024及以下的端口需要root权限来访问的。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值