nginx y tengine agregan el módulo de verificación

1 nginx compila e instala el módulo de verificación en nginx no instalado

[root @ localhost ~] # wget https://github.com/yaoweibin/nginx_upstream_check_module/archive/v0.3.0.tar.gz 
[root @ localhost ~] # tar xf v0.3.0 
[root @ localhost ~] # cd nginx_upstream_check_module -0.3.0 
[root @ localhost nginx_upstream_check_module-0.3.0] # ls -l 
total 260 
-rw-rw-r-- 1 raíz raíz 0 oct 2 2014 CAMBIOS
 -rw-rw-r-- 1 raíz raíz 5483 2 oct 2014 check_1.2.1 .patch
 -rw-rw-r-- 1 root root 7130 2 de octubre de 2014 check_1.2.2 + .patch
 -rw-rw-r-- 1 root root 7094 2 de oct de 2014 check_1.2.6 + .patch
 -rw -rw-r-- 1 raíz raíz 6791 2 de octubre de 2014 check_1.5.12 +.patch
 -rw-rw-r-- 1 raíz raíz 6701 2 de octubre de 2014 check_1.7.2 + .patch
 -rw-rw-r-- 1 raíz raíz 6943 2 de octubre de 2014 check.patch
 -rw-rw-r-- 1 root 749 Oct 2 2014 config 
drwxrwxr -x raíz de raíz 2 Oct 4096 2 2014 doc
 -rw-rw-r-- 1 root 1709 Oct 2 2014 nginx-sticky- module.patch 
drwxrwxr raíz -x 2 Oct 4096 raíz 2 2014 nginx- tests
 -rw-rw-r-- 1 root root 46860 2 de octubre de 2014 ngx_http_upstream_check_handler.c
 -rw-rw-r-- 1 root root 3718 2 de octubre de 2014 ngx_http_upstream_check_handler.h
 -rw-rw-r-- 1 root root 112230 2 de octubre de 2014 ngx_http_upstream_check_module.c
-rw-rw-r-- 1 raíz raíz 529 2 de octubre de 2014 ngx_http_upstream_check_module.h
 -rw-rw-r-- 1 raíz raíz 2848 oct 2 2014 ngx_http_upstream_jvm_route_module.patch
 -rw-rw-r-- 1 raíz raíz 11384 2 de octubre 2014 README 
drwxrwxr -x 6 root root 4096 2 de octubre de 2014 prueba
 -rw-rw-r-- 1 root root 3342 oct 2 2014 upstream_fair.patch 
drwxrwxr -x 2 root root 4096 2 de octubre de 2014 util 
[root @localhost nginx-1.8. 1] # patch -p1 <../ nginx_upstream_check_module 
- 0.3.0 / check_1.7.2 +.patch parchear archivo src / http / modules / ngx_http_upstream_ip_hash_module.c 
parchear archivo src / http / modules /ngx_http_upstream_least_conn_module.c 
parcheando el archivo src / http / ngx_http_upstream_round_robin.c 
Hunk # 1 tuvo éxito en 9 con fuzz 2. 
Hunk # 2 tuvo éxito en 95 (offset 4 líneas). 
Hunk # 3 tuvo éxito en 159 (desplazamiento de 4 líneas). 
Hunk # 4 tuvo éxito en 227 (desplazamiento de 4 líneas). 
Hunk # 5 tuvo éxito en 339 (desplazamiento de 4 líneas). 
Hunk # 6 tuvo éxito en 381 (desplazamiento de 4 líneas). 
Hunk # 7 tuvo éxito en 443 (desplazamiento de 4 líneas). 
Hunk # 8 tuvo éxito en 541 (desplazamiento de líneas -1). 
parchear archivo src / http /ngx_http_upstream_round_robin.h 
[root @localhost nginx-1.8.1] # ./configure --add-module = .. / nginx_upstream_check_module-0.3.0 / 
[root @ localhost nginx-1.8.1] # make && make install     
make [1 ]: Saliendo del directorio `/home/ceiec/nginx-1.8.1 ' 
[root @localhost nginx-1.8.1] # / usr / local / nginx / sbin / nginx -t 
nginx: el archivo de configuración / usr / local / nginx / conf / nginx.conf la sintaxis está bien 
nginx: el archivo de configuración / usr / local / nginx / conf / nginx.conf la prueba es exitosa 
[root @localhost conf] # head -n 50 nginx.conf 
    upstream 8080 {
         servidor10.11.1.11:8080 peso = 1 ; 
         servidor 10.11.1.17:8080 peso = 1 ; 
intervalo de verificación = 3000 aumentos = 2 caídas = 2 tiempo de espera = 1000 tipo = http;

2 Compila e instala tengine

[root @ localhost ~] # tar -zxvf tengine-2.3.1.tar.gz 
[root @ localhost tengine-2.3.1] # mkdir -p / opt / tengine 
[root @ localhost tengine-2.3.1] # ./ configure --prefix = / opt / tengine --without-http_upstream_keepalive_module \ 
 --add-module = modules / ngx_backtrace_module \
  --add-module = modules / ngx_debug_pool \
  --add-module = modules / ngx_debug_timer \
  --add-module = modules / ngx_http_concat_module \
  --add-module = modules / ngx_http_footer_filter_module \
  --add-module = modules / ngx_http_proxy_connect_module \
  --add-module = modules / ngx_http_reqstat_module \
 --add-module = módulos / ngx_http_slice_module \
  --add-module = módulos / ngx_http_sysguard_module \
  --add-module = módulos / ngx_http_trim_filter_module \
  --add-module = módulos / ngx_http_upstream_check_module \
  --add-module = módulos / ngx_http_upstream_consistent_hash_module \
  --add-module = módulos / ngx_http_upstream_dynamic_module \
  --add-module = módulos / ngx_http_upstream_dyups_module \
  --add-module = módulos / ngx_http_upstream_keepalive_module \
  --add-module = módulos / ngx_http_upstream_session_sticky_module \
  --add-module = módulos / ngx_http_user_agent_module 
[ raíz@localhost tengine-2.3.1] # make && make install 
[root @ localhost conf] # / opt / tengine / sbin / nginx -V 
Tengine versión: Tengine / 2.3.1 
nginx versión: nginx /1.16.0 
creado por gcc 4.4 .7 20120313 (Red Hat 4.4.7-23 ) (GCC) 
construido con OpenSSL 1.0.1e-fips 11 de febrero de 2013 
Soporte de TLS SNI habilitado 
argumentos de configuración:--prefix = / opt / tengine --without-http_upstream_keepalive_module --add-module = modules / ngx_backtrace_module --add-module = modules / ngx_debug_pool --add-module = modules / ngx_debug_timer --add-module = modules / ngx_httodu_concat_con_ -add-module = módulos / ngx_http_footer_filter_module --add-module = módulos / ngx_http_proxy_connect_module --add-module = módulos / ngx_http_reqstat_module --add-module = módulos / ngx_http_slice_module --add-module = módulos / ngx_http_sysguard_module --add-module = módulos / ngx_http_trim_filter_module --add-module = módulos / ngx_http_upstream_check_module --add-module = módulos / ngx_http_upstream_consistent_hash_module --add-module = módulos / ngx_http_upstream_dynamic_module --add-module = módulos / ngx_http_upstream_dyups_module --add-module = módulos / ngx_http_upstream_keepalive_module - add-module = modules / ngx_http_upstream_session_sticky_module--add-module = módulos /ngx_http_user_agent_module 
[root @localhost conf] # / opt / tengine / sbin / nginx -c /opt/tengine/conf/nginx.conf 
[root @ localhost conf] # ps -ef | grep nginx 
root 8000 1 0 09:00? 00:00:00 nginx: proceso maestro / opt / tengine / sbin / nginx -c / opt / tengine / conf / nginx.conf 
root       8001 8000 0 09:00? 00:00:00 nginx:                                   
raíz del       proceso de trabajo 8002 8000 0 09:00? 00:00:00 nginx:                                   
raíz del       proceso de trabajo 8003 8000 0 09:00? 00:00:00 nginx: proceso de trabajo                                  
raíz       8004 8000 0 09:00? 00:00:00 nginx: proceso de trabajo                                   
root       8010 26644 0 09:00 pts / 0 00:00:00 grep nginx 
[root @localhost keepalived] # / opt / tengine / sbin / nginx -c / opt / tengine / conf / nginx.conf -t 
nginx: la sintaxis del archivo de configuración / opt / tengine / conf / nginx.conf está bien 
nginx: la prueba del archivo de configuración / opt / tengine / conf / nginx.conf es exitosa 
[root @localhost keepalived] # / etc / init.d / keepalived start 
[root @ localhost keepalived] # ip a

3 En el nginx existente, agregue el módulo de verificación

[root @ localhost nginx_upstream_check_module-0.3.0] # / usr / local / nginx / sbin / nginx -V 
versión nginx: nginx / 1.8.1 
construido por gcc 4.4.7 20120313 (Red Hat 4.4.7-23 ) (GCC) 
configurar argumentos: 
[root @localhost nginx_upstream_check_module-0.3.0] # cd /home/ceiec/nginx-1.8.1 
[root @ localhost nginx-1.8.1] # patch -p1 </home/test/nginx_upstream_check_module-0.3.0 /check_1.7.2+.patch 
parchear archivo src / http / modules / ngx_http_upstream_ip_hash_module.c 
parchear archivo src / http / modules / ngx_http_upstream_least_conn_module.c 
parchear archivo src / http / ngx_http_upstreamcround_ro_ro.
Hunk # 1 tuvo éxito en 9 con fuzz 2. 
Hunk # 2 tuvo éxito en 95 (desplazamiento de 4 líneas). 
Hunk # 3 tuvo éxito en 159 (desplazamiento de 4 líneas). 
Hunk # 4 tuvo éxito en 227 (desplazamiento de 4 líneas). 
Hunk # 5 tuvo éxito en 339 (desplazamiento de 4 líneas). 
Hunk # 6 tuvo éxito en 381 (desplazamiento de 4 líneas). 
Hunk # 7 tuvo éxito en 443 (desplazamiento de 4 líneas). 
Hunk # 8 tuvo éxito en 541 (desplazamiento de líneas -1). 
archivo de parcheo src / http / ngx_http_upstream_round_robin.h 
[root @localhost nginx-1.8.1] # ./configure --add-module = .. / nginx_upstream_check_module-0.3.0 
[root @ localhost nginx-1.8.1] # make ## Nota: aquí solo make, los parámetros de compilación deben ser los mismos que antes, no ejecute make install , De lo contrario, sobrescribirá el nginx que se está usando) 
make [1]: Saliendo del directorio `/home/test/nginx-1.8.1 ' 
make -f objs / Makefile manpage 
make [ 1]: Entrando en el directorio` / home / test / nginx -1.8.1 ' 
sed -e " s | %% PREFIX %% | / usr / local / nginx | " \
         -e " s | %% PID_PATH %% | /usr/local/nginx/logs/nginx.pid | " \
         -e " s | %% CONF_PATH %% | /usr/local/nginx/conf/nginx.conf | " \
        -e "s | %% ERROR_LOG_PATH %% | /usr/local/nginx/logs/error.log | " \ 
        <man /nginx.8> objs / nginx.8 
make [ 1]: Saliendo del directorio` /home/ceiec/nginx-1.8.1 ' 
[root @localhost nginx-1.8.1] # / usr / local / nginx / sbin / nginx -t 
nginx: [emergeg] directiva desconocida " verificar "  en /usr/local/nginx/conf/nginx.conf:24 
nginx: archivo de configuración / usr / local / nginx / conf / nginx.conf falló la prueba 
[ root @localhost nginx-1.8.1] # / usr / local / nginx / sbin / nginx 
nginx: [emergeg] directiva desconocida " check en"  /usr/local/nginx/conf/nginx.conf:24

Lo anterior muestra que cuando se agrega el parche, se agrega con éxito, pero la compilación aún genera un error de verificación

 

verificar la sintaxis del módulo

intervalo de verificación = milisegundos [caída = conteo] [aumento = conteo] [tiempo de espera = milisegundos] [default_down = true | falso ] [type = tcp | http | ssl_hello | mysql | ajp | fastcgi] 
intervalo de verificación = 5000 subida = 1 caída = 3 tiempo de espera = 4000 ;
    # intervalo de verificación = 3000 subida = 2 caída = 5 tiempo de espera = 1000 tipo = ssl_hello; 
    # intervalo de verificación = 3000 aumentos = 2 caídas = 5 tiempo de espera = 1000 tipo = http; 
    # check_http_send "HEAD / HTTP / 1.0 \ r \ n \ r \ n"; 
    # check_http_expect_alive http_2xx http_3xx; 
默认 配置 : intervalo = 3000 caída = 5 subida = 2 tiempo de espera = 1000 default_down = verdadero tipo = tcp * 
intervalo : 检测 间隔 3 秒 
caída: 连续 检测 失败 次数 5 次 时 , 认定 relaserver está abajo
subida: 连续 检测 成功 2 次 时 , 认定 el relaserver se ha 
agotado: 超时 1秒
default_down: el estado inicial está inactivo, solo después de que se pasa la prueba está activo 
tipo: método de tipo de detección tcp
 1. tcp: zócalo tcp, no recomendado, el negocio de back-end no se ha iniciado al 100% y se ha lanzado el front-end.
 2 .ssl_hello: envía un mensaje de saludo y recibe el mensaje de saludo devuelto por relaserver
 3. http: envía una solicitud personalizada para juzgar el relaserver ascendente para recibir y procesar
 4. mysql: conéctate al servidor mysql y juzga si el relaserver ascendente todavía existe
 5. ajp: Envíe un paquete AJP Cping, reciba y analice la respuesta AJP Cpong para diagnosticar si el relaserver ascendente todavía está vivo (un protocolo integrado en AJP tomcat)
 6. fastcgi: si el programa php está vivo
instrucción check_http_send     
Esta instrucción permite que el equilibrador de carga para el extremo posterior de los RealServers de transmisión analógica, http supervisión de detección de paquetes, la detección de LVS analógicas. 
La instrucción 
check_http_expect_alive check_http_expect_alive [http_2xx | http_3xx | http_4xx | http_5xx] 
devuelve el código HTTP especificado, incluso si cumple con las expectativas, incluso si la prueba es exitosa

 

Supongo que te gusta

Origin www.cnblogs.com/yhq1314/p/12753719.html
Recomendado
Clasificación