Mi información de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
1: descripción general del caso
2: conocimiento previo al caso
3: entorno del caso
[root@localhost ~]# yum -y install pcre-devel zlib-devel gcc*
[root@localhost ~]# useradd -M -s /sbin/nologin nginx
[root@localhost ~]# tar zxvf nginx-1.12.0.tar.gz
[root@localhost ~]# cd nginx-1.12.0/
[root@localhost nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
[root@localhost nginx-1.12.0]# make && make install
[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@localhost nginx-1.12.0]# cd /usr/local/nginx/html/0
[root@localhost html]# echo "prueba web01" > prueba.html
[root@localhost ~]# systemctl detiene firewalld
[raíz@localhost ~]# nginx -t
[root@localhost ~]# nginx ##Iniciar el proceso nginx
[root@localhost ~]# netstat -anpt | grep nginx
[root@localhost ~]# systemctl detiene firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y install pcre-devel bzip2-devel gcc*
[root@localhost ~]# tar zxvf haproxy-1.5.19.tar.gz
[root@localhost ~]# cd haproxy-1.5.19/
[root@localhost haproxy-1.5.19]# hacer OBJETIVO=linux26
[root@localhost haproxy-1.5.19]# hacer instalación
Nota:
linux22 para Linux 2.2
linux24 para Linux 2.4 y superior (predeterminado)
linux24e para Linux 2.4 con soporte para un epoll funcional (> 0.21)
linux26 para Linux 2.6 y superior
solaris para Solaris 8 o 10 (otros no probados)
freebsd para FreeBSD 5 a 8.0 (otros no probados)
openbsd para OpenBSD 3.1 a 4.6 (otros no probados)
Cygwin para Cygwin
genérico para cualquier otro sistema operativo.
Personalizado para ajustar manualmente cada configuración
[root@localhost haproxy-1.5.19]# mkdir /etc/haproxy
[root@localhost haproxy-1.5.19]# cp ejemplos/haproxy.cfg /etc/haproxy/
[root@localhost haproxy-1.5.19]# cp ejemplos/haproxy.init /etc/init.d/haproxy
[root@localhost haproxy-1.5.19]# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
[root@localhost haproxy-1.5.19]# chmod +x /etc/init.d/haproxy
[root@localhost ~]# chkconfig --add haproxy
(3) Introducción a la configuración de Haproxy
[root@localhost haproxy-1.5.19]# vi /etc/haproxy/haproxy.cfg
global
registro 127.0.0.1 local0
registro 127.0.0.1 aviso local1
#log loghost información local0
Maxconn 4096
fluido 99
día 99
demonio
#depurar
#tranquilo
valores predeterminados
registro global
modo http
Opción httplog
Opción dontlognull
reintentos 3
# reenvío
Maxconn 2000
tiempo de espera continuo 5000
tiempo de espera de clima 50000
tiempo de espera del servidor 50000
escuchar webcluster 0.0.0.0:80
opción httpchk GET /index.html
equilibrio de turnos
servidor inst1 192.168.1.61:80 comprobar inter 2000 otoño 3
servidor inst2 192.168.1.62:80 comprobar inter 2000 otoño 3
Puede agregar peso después de cada servidor para establecer el valor de peso.
servidor inst1 192.168.1.61:80 comprobar inter 2000 otoño 3peso 1
servidor inst2 192.168.1.62:80 comprobar inter 2000 otoño 3peso 2
Explicación de cada afirmación.
global
registro 127.0.0.1 local0 \configurar el registro,local0Es el dispositivo de registro, el valor predeterminado es el registro del sistema.
registro 127.0.0.1 local1 aviso \El nivel de registro esaviso
#log loghost información local0
Maxconn 4096 \Número máximo de conexiones
fluido 99 \usuariofluido
gid 99 \usuarioGíralo
demonio \Ejecutar como un proceso demonio
#depuración \Modo de depuración, salida de información de inicio a la salida estándar
#tranquilo \Modo silencioso, sin salida al inicio
valores predeterminados
registro global \usargloboregistro definido en
modo http \El modo eshttp
opción httplog \usarhttpEl formato de registro.
opción dontlognull \asegurarProxy de alta disponibilidadNo registre los paquetes de latidos enviados por el equilibrador de carga de nivel superior para detectar datos de estado.
reintentos 3 \Verifique el número de fallas de conexión de nodos, que excede3El nodo se considera no disponible.
# reenvío\cuando cargaCuando el valor es muy alto, las conexiones que se hayan procesado en la cola actual durante mucho tiempo finalizarán automáticamente.
Maxconn 2000 \Número máximo de conexiones
tiempo de espera continuo 5000 \El tiempo de conexión expiroEM
tiempo de espera de clima 50000Tiempo de espera del clienteEM
tiempo de espera del servidor 50000Tiempo de espera del servidorEM
escuchar webcluster 0.0.0.0:80 \Definir números de puerto de escucha y de clúster
opción httpchk GET /index.html \comprobar el servidoríndice.htmldocumento,Configuración de URL de detección de latidos
equilibrio roundrobin \El algoritmo de programación de equilibrio de carga es round robin
servidor inst1 192.168.1.61:80 comprobar inter 2000 otoño 3 \Definir nodos en línea
servidor inst2 192.168.1.62:80 comprobar inter 2000 otoño 3
comprobar entre 2000es detectar la frecuencia de los latidos del corazón (cada2000 msDetectado una vez),Otoño 3Sí3El servidor se considera no disponible en caso de falla
En la nueva versión, la configuración del tiempo de espera se ha ajustado de la siguiente manera:
contimeout se reemplaza por timeout connect:Defina el período de tiempo de espera que haproxy espera para reenviar las solicitudes de los clientes al servidor backend.
clitimeout se reemplaza por el cliente de tiempo de espera:El período de tiempo de espera por inactividad del cliente es el tiempo que tarda la aplicación en conectarse a haproxy.
srvtimeout se reemplaza por el servidor de tiempo de espera:Después de que el cliente establece una conexión con el servidor, el tiempo de espera de espera del servidor es el tiempo que tarda haproxy en conectarse al servidor web backend.
Nota:
haproxiHay ocho algoritmos de programación.
enjambre /usr/share/haproxy\Esto es para cambiar la ubicación del directorio raíz a la que se hace referencia cuando se ejecuta el programa. Si tiene este código, debe crear este directorio.
Acerca de los niveles de registro
DEBUG de nivel estático
DEBUG Level señala que los eventos de información detallada son muy útiles para depurar aplicaciones.
Información sobre el nivel estático
El nivel INFO indica que el mensaje resalta el proceso en ejecución de la aplicación en un nivel aproximado.
Nivel estático ADVERTENCIA
El nivel WARN indica una posible situación de error.
ERROR de nivel estático
El nivel de ERROR indica que, aunque se produzca un evento de error, todavía no afecta el funcionamiento continuo del sistema.
Nivel estático FATAL
El nivel FATAL indica que cada evento de error grave provocará el cierre de la aplicación.
Además, hay dos niveles de registro especiales disponibles:
Nivel estático TODO
TODO Nivel es el nivel más bajo y se utiliza para activar todos los registros.
Nivel estático APAGADO
El nivel APAGADO es el nivel más alto y se utiliza para desactivar todos los registros.
[root@localhost haproxy-1.5.19]# /etc/init.d/haproxy start
http://192.168.1.60/test.html
Actualiza la página para probar
o prueba usando script
[root@localhost ~]# para i en $(seq 10); hacer curl http://192.168.1.60/test.html ;hecho
Haproxy no registra registros de forma predeterminada. Además de especificar la salida del registro en la sección global en haproxy.conf, también debe configurar el archivo de configuración del registro del sistema.
método uno:
[root@localhost haproxy-1.4.24]# vi /etc/haproxy/haproxy.cfg
global
# registro 127.0.0.1 local0
# log 127.0.0.1 local1 aviso
#log loghost información local0
Maxconn 4096
chroot /usr/share/haproxy
fluido 99
día 99
demonio
#depurar
#tranquilo
registro /dev/log información local0
registro /dev/log local0 aviso
[root@localhost haproxy-1.4.24]# toque /etc/rsyslog.d/haproxy.conf
[root@localhost haproxy-1.4.24]# vi /etc/rsyslog.d/haproxy.conf
si ($programname == 'haproxy' y $syslogseverity-text == 'info') entonces -/var/log/haproxy/haproxy-info.log
& ~
si ($programname == 'haproxy' y $syslogseverity-text == 'notice') entonces -/var/log/haproxy/haproxy-notice.log
& ~
[root@localhost haproxy-1.4.24]# reinicio del servicio rsyslog
[root@localhost ~]#/etc/init.d/haproxy reiniciar
[root@localhost ~]# cat /var/log/haproxy/haproxy-info.log
Método dos:
(1) Editar /etc/haproxy/haproxy.conf
[raíz@localhost ~]# vi /etc/haproxy/haproxy.cfg
global
registro 127.0.0.1 local3
#local3 es el dispositivo, correspondiente a la configuración en /etc/rsyslog.conf, y el nivel de registro de información se recicla de forma predeterminada.
(2) Escribir archivo de registro haproxy
[raíz@localhost ~]# vim /etc/rsyslog.d/haproxy.conf
$ModLoad imudp
$UDPServerRun 514
local3.* /var/log/haproxy.log
&~
Nota:
$ModLoad imudpProtocolo UDP para recopilar registros
$UDPServerRun 514Especifique el número de puerto utilizado para la recopilación de registros
local3.* /var/log/haproxy.logEspecificar la ubicación de almacenamiento de registros
(3) Configure el archivo de configuración principal de rsyslog y habilite el registro remoto (opcional)
[root@localhost ~]# vim /etc/sysconfig/rsyslog
OPCIONES_SYSLOGD=”-c 2 -r -m 0″
#-c 2 Usa el modo de compatibilidad, el valor predeterminado es -c 5
#-r Habilitar el registro remoto
#-m 0 marca de tiempo.La unidad es minutos. Cuando es 0, significa que la función está deshabilitada.
(4) Reinicie los servicios haproxy y rsyslog
[root@localhost ~]# systemctl reiniciar rsyslog
[root@localhost ~]# systemctl reiniciar haproxy
(5) Verifique el registro después de visitar el sitio web
[raíz@localhost ~]# cat /var/log/registro haproxy
Extensión: proxy mysql
escucha mysql 0.0.0.0:3306
servidor mysql1 192.168.10.205:3306 comprobar puerto 3306 maxconn 300