nginx负载均衡反向代理tar包安装,添加nginx_upstream_check_module模块

很久没写了,今天弄了一下nginx负载均衡反向代理,添加淘宝的nginx_upstream_check_module模块,把步骤记录一下。

一、安装nginx
   1、安装c++ 以及相关组件,如果已经安装,则忽略
        安装c++编译环境,
        $  yum install -y gcc gcc-c++
       相关组件
        $  yum install -y pcre pcre-devel openssl openssl-devel zlib zlib-devel
   2、下载安装nginx
       2.1 下载nginx安装包,目前阿里的upstream_check_modul补丁包只支持到1.12,所以下载的版本建议为nginx-1.12.2
         创建下载包存放路径
         $ cd /opt
         $ mkdir nginx
         $ cd nginx
        下载nginx安装包文件并解压
         $ wget http://nginx.org/download/nginx-1.12.2.tar.gz
         $ tar -xzvf nginx-1.12.2.tar.gz

2.2 下载nginx Health Ckeck模块,并解压。

       模块连接介绍:http://tengine.taobao.org/document_cn/http_upstream_check_cn.html

       $ wget https://codeload.github.com/yaoweibin/nginx_upstream_check_module/zip/master 
       $ unzip master
       若没有unzip命令,下载即可,yum install -y unzip
       2.3 安装
       $  cd nginx-1.12.2
       $ patch -p1 < /opt/nginx/nginx_upstream_check_module-master/check_1.12.1+.patch
       如果patch命令不存在,则下载 yum install -y patch
 $ ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --add-module=/opt/nginx/nginx_upstream_check_module-master
        $  make 
        $  make install
        --prefix=path  定义一个将保留服务器文件的目录 
      --sbin-path=path  设置一个nginx的的可执行文件的名称。该名称仅在安装期间使用。默认情况下该文件被命名prefix/sbin/nginx。
        --conf-path=path   设定配置文件(nginx.conf)目录,默认为prefix/conf/nginx.conf
        --error-log-path=path 设置主要错误的名称,警告和诊断文件。安装完成后,可以nginx.conf使用的的error_log 指令始终在配置文件中更改文件名  。默认情况下该文件被命名 prefix/logs/error.log。
        --pid-path=path 设置nginx.pid将存储主进程的进程ID  的文件的名称。安装后,可以nginx.conf使用PID 指令随时在配置文件中更改文件名  。默认情况下该文件被命名 prefix/logs/nginx.pid。
        --user=USER  设定程序运行的用户环境(www)
        --group=name 设置工作进程将使用其凭据的组的名称。安装后,可以nginx.conf使用用户指令始终在配置文件中  更改名称。默认情况下,组名称设置为非特权用户的名称。
        --http-log-path=path 设置HTTP服务器的主要请求日志文件的名称。安装之后,可以nginx.conf使用的访问日志指令随时在配置文件中  更改文件名  。默认情况下该文件被命名 prefix/logs/access.log。
       配置均可修改,其他的建议使用默认配置即可。
       如果没有创建nginx用户,还需创建用户
       $ useradd nginx
       $ groupadd nginx 

    2.4 配置nginx环境变量

         修改 /etc/profile 文件,在文件末尾加上如下两行代码 
          PATH=$PATH:/usr/local/nginx/sbin
          export PATH
         最后执行命令 source /etc/profile 使其生效。
         $ nginx -v 检测安装结果

   2.5 启动,停止,重新载入配置命令

        $ nginx      //启动
        $  nginx -s reload    重新加载
        $ nginx -s quit     此方法停止步骤是待 Nginx 进程处理任务完毕进行停止
        $ nginx -s stop    此方法相当于先查出 nginx 进程 id 再使用 kill 命令强制杀掉进程

二、配置nginx
       
    找到nginx配置文件nginx.conf,编辑加入配置即可。
    $ cd /usr/local/nginx/conf

    配置格式如下

         upstream privapp {
                  server 192.168.51.160:9080; // 负载均衡服务器服务ip以及端口号
                  server 192.168.51.120:9080;
                  server 192.168.52.31:9080;
                  check interval=3000 rise=1 fall=1 timeout=1000 type=http;      
        }
        server {
               listen 80;
               server_name privapp.myeps.net;
               location / {
                       proxy_pass http://privapp;
                       proxy_set_header Host $host;
                       proxy_set_header X-Real-IP $remote_addr;
                       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
               ocation /status {
                      check_status;       
                      access_log off;
                      #deny all;
                }
         }
 - interval:向后端发送的健康检查包的间隔。
 - fall(fall_count): 如果连续失败次数达到fall_count,服务器就被认为是down。
 - rise(rise_count): 如果连续成功次数达到rise_count,服务器就被认为是up。
 - timeout: 后端健康请求的超时时间。
 - type:健康检查包的类型,现在支持tcp|http|ssl_hello|mysql|ajp|fastcgi
 详情  http://tengine.taobao.org/document_cn/http_upstream_check_cn.html

三、已安装好的nginx配置nginx_upstream_check_module-master模块

先停止nginx服务。
$ nginx -s stop
进入到文件nginx安装包所在目录。
$ cd  /opt/nginx
下载模块包
$ wget https://codeload.github.com/yaoweibin/nginx_upstream_check_module/zip/master 
$ unzip master
进入nginx安装包
$ cd  nginx-1.12.2

$ patch -p1 < /opt/nginx/nginx_upstream_check_module-master/check_1.12.1+.patch

配置参数,要跟安装时一致即可。

$ ./configure --prefix=/usr/local/nginx --error-log-path=/usr/local/nginx/logs/error.log --http-log-path=/usr/local/nginx/logs/access.log --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/logs --add-module=/opt/nginx/heal/nginx_upstream_check_module-master

编译

$ make  

源文件启动配置

$ cp /usr/local/nginx/sbin/nginx   /usr/local/nginx/sbin/nginx.bak

将新生成的nginx 替换原来的nginx
$ cp /opt/nginx/nginx-1.12.2/objs/nginx    /usr/local/nginx/sbin/nginx 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值