Tengine-1.2.5新版本upstream健康检测模块upstream_check使用

本文转自:http://bbs.linuxtone.org/thread-19302-1-1.html

前言:
淘宝开源项目:Tengine 在2012.5.9更新1.2.5版本

  1. News
    2.3. [05/09/2012] Tengine-1.2.5 is released (changes).
  2. [03/30/2012] Tengine-1.2.4 is released (changes).
  3. [03/08/2012] We are writing an open book on Nginx development.
  4. [02/27/2012] Tengine-1.2.3 is released (changes).
  5. [01/11/2012] Tengine-1.2.2 is released (changes).
  6. [12/07/2011] We gave a talk on Hacking Nginx on Velocity China 2011.
  7. [12/06/2011] Tengine-1.2.1 is released (changes).
  8. [12/02/2011] Tengine goes to open source.



变更信息:

  • Tengine-1.2.5 [2012-05-09]

  • Feature:增加upstream_check模块,对后端服务器做主动健康检查,以自动的下线失效的服务器;
  • Feature:允许syslog输出日志时指定程序的标识(program identifier);
  • Change:合并nginx-1.0.14至nginx-1.0.15之间的修改;
  • Change:将accept_mutex_delay的默认值从500毫秒更改为100毫秒以提高性能;
  • Bugfix:修复syslog的一个在后端服务器连接不上导致端错误的bug;
  • Bugfix:修复access_log可能和buffer参数冲突的bug;


  • 今天刚好有时间,就升级并且测试了下upstream_check模块功能!

    1.编译:(upstream_check模块)

    1. ./configure –user=www –group=www –add-module=../ngx_cache_purge-1.5 –add-module=../ngx-fancyindex –prefix=/usr/local/nginx/ –with-http_upstream_check_module –with-http_stub_status_module –with-http_ssl_module –with-http_sub_module –with-md5=/usr/lib –with-sha1=/usr/lib


    需要加入:–with-http_upstream_check_module 编译参数来添加upstream_check模块

    2.配置
    nginx.conf

    1. upstream linuxtone {
    2. server 127.0.0.1:81;
    3. server 127.0.0.1:82;
    4. check interval=3000 rise=2 fall=5 timeout=1000;
    5. }



    vhost:

  • location /nstatus {

  • check_status;
  • access_log off;
  • #allow SOME.IP.ADD.RESS;
  • #deny all;
  • }


  • 3.查看:
    URL: http://bbs.linuxtone.org/nstatus
    upstream_check1.png
    upstream_check2.png

    说明:upstream_check会自动检测你upstream后端的app存活,规定检测次数内如果down,会移除出upstream。同样如果恢复会自动加到upstream。这个过程不需要人工重启nginx!

    RT:如果有后端app down机,发邮件通知功能会更好!