En aquest tema, explorarem la configuració dinàmica en NGINX Plus, una característica avançada que permet modificar la configuració del servidor sense necessitat de reiniciar-lo. Aquesta funcionalitat és especialment útil en entorns de producció on la disponibilitat contínua és crítica.
Conceptes Clau
- Configuració dinàmica: Capacitat de canviar la configuració del servidor en temps real.
- API de gestió de NGINX Plus: Interfície que permet interactuar amb NGINX Plus per realitzar canvis dinàmics.
- Zones compartides: Àrees de memòria compartida utilitzades per emmagatzemar informació de configuració que pot ser modificada dinàmicament.
Avantatges de la Configuració Dinàmica
- Alta disponibilitat: No cal reiniciar el servidor per aplicar canvis.
- Flexibilitat: Permet ajustar la configuració en resposta a canvis en la càrrega o altres condicions operatives.
- Eficiència: Redueix el temps d'inactivitat i millora la resposta del sistema.
API de Gestió de NGINX Plus
L'API de gestió de NGINX Plus és una interfície RESTful que permet realitzar operacions de configuració dinàmica. A continuació, es mostren algunes de les operacions més comunes:
- Afegir o eliminar servidors backend: Permet ajustar els servidors que formen part d'un grup de balanceig de càrrega.
- Modificar paràmetres de balanceig de càrrega: Com ara els pesos dels servidors.
- Consultar l'estat del sistema: Obtenir informació sobre el rendiment i l'estat dels servidors backend.
Exemple d'ús de l'API de Gestió
A continuació, es mostra un exemple de com afegir un servidor backend utilitzant l'API de gestió de NGINX Plus.
curl -X POST -d '{"server": "192.168.1.10:80"}' http://localhost:8080/api/6/http/upstreams/backend/servers
En aquest exemple, estem afegint el servidor 192.168.1.10:80
al grup de balanceig de càrrega anomenat backend
.
Zones Compartides
Les zones compartides són àrees de memòria que permeten emmagatzemar informació de configuració que pot ser modificada dinàmicament. Aquestes zones són utilitzades per a diverses funcionalitats, com ara:
- Sessions de balanceig de càrrega: Emmagatzemar informació sobre les sessions actives.
- Limitació de velocitat: Emmagatzemar informació sobre les sol·licituds per a la limitació de velocitat.
Exemple de Configuració de Zones Compartides
A continuació, es mostra un exemple de com configurar una zona compartida per a la limitació de velocitat.
http { limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; server { location / { limit_req zone=one burst=5; proxy_pass http://backend; } } }
En aquest exemple, estem configurant una zona compartida anomenada one
amb una mida de 10 MB i una taxa de 1 sol·licitud per segon. Aquesta zona és utilitzada per limitar la velocitat de les sol·licituds a /
.
Exercici Pràctic
Objectiu
Configurar un grup de balanceig de càrrega dinàmicament utilitzant l'API de gestió de NGINX Plus.
Passos
- Configura un grup de balanceig de càrrega en el fitxer de configuració de NGINX Plus.
http { upstream backend { zone backend 64k; } server { location / { proxy_pass http://backend; } } }
- Afegeix un servidor backend utilitzant l'API de gestió.
curl -X POST -d '{"server": "192.168.1.10:80"}' http://localhost:8080/api/6/http/upstreams/backend/servers
- Verifica que el servidor ha estat afegit correctament.
Solució
Després de seguir els passos anteriors, hauríeu de veure el servidor 192.168.1.10:80
llistat com a part del grup de balanceig de càrrega backend
.
Resum
En aquest tema, hem explorat la configuració dinàmica en NGINX Plus, incloent l'ús de l'API de gestió i les zones compartides. Hem vist com aquestes funcionalitats permeten modificar la configuració del servidor en temps real, millorant la flexibilitat i l'eficiència operativa. A més, hem realitzat un exercici pràctic per reforçar els conceptes apresos.
Curs de NGINX
Mòdul 1: Introducció a NGINX
Mòdul 2: NGINX com a servidor web
- Servint contingut estàtic
- Llistats de directoris
- Pàgines d'error personalitzades
- Registre i formats de registre