Dominar les configuracions de Nginx per a un rendiment òptim del servidor web
Voleu llocs web més ràpids i millors rendiment del servidor? Nginx pot ajudar. Amb el seu disseny basat en esdeveniments, Nginx gestiona milers de connexions de manera eficient, la qual cosa la converteix en la millor opció per a llocs web d'alt trànsit i aplicacions en temps real. Però per desbloquejar tot el seu potencial, la configuració adequada és clau.
Punts clau per emportar:
- Augmenta el rendiment: Ajusteu els processos de treball i activeu la compressió per reduir l'ús de recursos i accelerar les respostes.
- Gestiona el trànsit: Utilitzeu l'equilibri de càrrega per distribuir el trànsit entre servidors i optimitzar per a càrregues pesades.
- Connexions segures: Configureu la terminació SSL per millorar la seguretat sense sobrecarregar els servidors backend.
- Aplicacions en temps real: Configureu el suport de WebSocket per a una comunicació perfecta en plataformes en temps real.
- Supervisar eficaçment: Utilitzeu eines com Prometheus i Grafana per fer un seguiment de la salut i el rendiment del servidor.
Exemples de configuració ràpida:
- Processos de treball: Coincideix amb els nuclis de la CPU (
processos_treballador 4;). - Compressió: Activa Gzip (
gzip activat; gzip_comp_level 6;). - Emmagatzematge a la memòria cau: Configura la memòria cau del servidor intermediari per a la velocitat (
proxy_cache_path /var/cache/nginx;). - Equilibri de càrrega: Distribuïu el trànsit amb connexions circulars o mínimes.
Consell professional: Superviseu i ajusteu regularment la vostra configuració per mantenir el vostre servidor funcionant sense problemes. Tant si gestioneu llocs web d'alt trànsit, contingut estàtic o aplicacions en temps real, aquestes configuracions poden marcar la diferència.
Ajust del rendiment NGINX Open Source i NGINX Plus

Arxius i configuració clau de Nginx
Aconseguir el màxim profit del vostre servidor Nginx comença per comprendre els seus fitxers de configuració i ajustar la configuració de les claus. Aquí teniu un desglossament del que necessiteu saber.
Entendre els fitxers de configuració de Nginx
La configuració de Nginx s'organitza en dues àrees principals:
- Configuració global: Trobada a
/etc/nginx/nginx.conf - Configuració específica del lloc: Situat a
/etc/nginx/sites-available/
Abans d'aplicar els canvis, prova la teva configuració amb nginx -t per assegurar-se que està lliure d'errors.
Afinació dels processos i connexions dels treballadors
Els processos i les connexions dels treballadors tenen un paper important en el rendiment del vostre servidor. Aquí teniu una guia ràpida per configurar-los:
| Configuració | Descripció | Valor d'exemple |
|---|---|---|
processos_treballador | Nombre de processos de treball | Coincideix amb els nuclis de la CPU |
connexions_treballadors | Màxim de connexions per treballador | 1024 – 2048 |
keepalive_timeout | Temps d'espera de connexió | 65 segons |
Consell: ajusteu aquests valors en funció del maquinari del vostre servidor.
Per exemple, si el vostre servidor té 4 nuclis de CPU, la vostra configuració podria semblar així:
processos_treballadors 4; esdeveniments { connexions_treballadors 1024; } Després d'optimitzar els processos de treball, podeu millorar encara més el rendiment activant la compressió i la memòria cau.
Utilitzant la compressió i la memòria cau Gzip
La compressió i la memòria cau ajuden a reduir l'amplada de banda i millorar els temps de càrrega. A continuació s'explica com configurar-los:
Activa la compressió Gzip:
gzip activat; gzip_comp_level 6; gzip_types text/text pla/css aplicació/json aplicació/javascript; Configura la memòria cau:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=one:10m inactive=60m; proxy_cache one; proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m; El proxy_cache_path La directiva crea una zona de memòria cau per al contingut d'accés freqüent, la qual cosa redueix la càrrega del vostre backend. També pots utilitzar cache_de_fitxers oberts per emmagatzemar fitxers d'accés habitual a la memòria, reduint l'ús del disc.
Tècniques avançades d'equilibri de càrrega i SSL
Basant-se en l'optimització i la memòria cau dels processos de treball, aquestes tècniques se centren en millorar la distribució i la seguretat del trànsit.
Configuració de l'equilibri de càrrega
Nginx ofereix eines potents per difondre el trànsit entrant entre diversos servidors. Aquí teniu una configuració bàsica:
backend aigües amunt { # Per defecte: round-robin per a distribució equilibrada servidor localhost:8080; server localhost:8081; server localhost:8082; # Descomenta per a menys connexions (millor per a càrregues de treball desiguals) # least_conn; } server { listen 80; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } - Round-robin és ideal per a servidors amb temps de resposta similars.
- Connexions mínimes funciona millor quan les sol·licituds varien en complexitat, ajudant a evitar la sobrecàrrega de servidors més lents.
- Per a la persistència de la sessió, activeu-lo IP Hash per dirigir els usuaris al mateix servidor de manera coherent.
Configuració de la terminació SSL
La terminació SSL trasllada les tasques de xifratge a Nginx, reduint la càrrega de treball als servidors de fons. La investigació de Bobcares suggereix que això pot reduir la latència de l'enllaç SSL fins a 50%.
A continuació s'explica com combinar la terminació SSL amb l'equilibri de càrrega:
http { upstream backend { server localhost:8080; server localhost:8081; } server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/certificate.crt; ssl_certificate_key /path/to/private/key.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } } Consells importants sobre SSL:
- Enganxeu-vos a TLS 1.2 i 1.3 per a una millor seguretat.
- Prioritzeu els xifratges del servidor per a un xifratge més fort.
- Activa la memòria cau de la sessió per millorar el rendiment.
Personalització de Nginx per a necessitats específiques
Optimització de Nginx per a llocs web d'alt trànsit
Per als llocs web d'alt trànsit, la configuració de Nginx s'ha d'ajustar per gestionar càrregues pesades amb eficàcia. L'ajust dels paràmetres clau pot millorar significativament la capacitat de resposta del servidor i el rendiment general.
Ajustos de la mida del buffer
http { client_body_buffer_size 16k; client_header_buffer_size 4k; client_max_body_size 8m; large_client_header_buffers 4 8k; } Aquests paràmetres prioritzen l'ús de la memòria sobre l'E/S del disc, accelerant la gestió de les sol·licituds. Per exemple, augmentant client_body_buffer_size redueix la necessitat d'escriure fitxers temporals durant les sol·licituds.
Gestió eficient del registre
http { access_log /var/log/nginx/access.log buffer combinat = 32k flush = 5s; error_log /var/log/nginx/error.log warn; } L'ús d'una memòria intermèdia de 32 KB i un interval de neteja de 5 segons minimitza les operacions del disc alhora que manté els registres precisos i actualitzats.
Configuració del temps d'espera
http { client_body_timeout 12; client_header_timeout 12; send_timeout 10; } Aquests valors de temps d'espera ajuden a evitar que els clients lents consumeixin recursos del servidor innecessàriament.
Un cop realitzats aquests ajustos, Nginx també es pot personalitzar per a aplicacions que requereixen una comunicació contínua, com ara WebSockets.
Configuració de Nginx per al suport de WebSocket
Els WebSockets són un component crític de les aplicacions en temps real. La configuració correcta de Nginx per gestionar connexions WebSocket garanteix un rendiment fluid fins i tot sota càrrega.
mapa $http_upgrade $connection_upgrade { actualització per defecte; '' tanca; } servidor { listen 80; nom_del_servidor example.com; ubicació /websocket { proxy_pass http://backend_server; proxy_http_version 1.1; proxy_set_header Actualització $http_upgrade; proxy_set_header Connexió $connection_upgrade; proxy_set_header Amfitrió $host; proxy_cache_bypass $http_upgrade; # Configuració de temps d'espera per a connexions WebSocket proxy_read_timeout 300s; proxy_send_timeout 300s; } } Detalls de configuració clau de WebSocket:
| Directiva | Propòsit |
|---|---|
| proxy_http_versió | Habilita HTTP/1.1 per al suport de WebSocket |
| proxy_read_timeout | Estableix el temps màxim entre paquets de dades |
| proxy_send_timeout | Defineix el temps màxim per enviar dades |
| proxy_cache_bypass | Desactiva la memòria cau per al trànsit WebSocket |
El mapa La directiva gestiona de manera eficient les actualitzacions de connexió, assegurant una comunicació fluida de WebSocket.
Per evitar l'abús, la limitació de velocitat es pot aplicar a les connexions WebSocket:
http { limit_req_zone $binary_remote_addr zone=websocket_limit:10m rate=5r/s; location /websocket { limit_req zone=websocket_limit burst=20 nodelay; # ... resta de la configuració de WebSocket } } Aquesta configuració restringeix les IP a 5 sol·licituds per segon amb una ràfega de 20 sol·licituds, protegint-se dels atacs DoS alhora que es manté la disponibilitat del servei.
sbb-itb-59e1987
Bones pràctiques per al rendiment i la supervisió de Nginx
Més enllà de la configuració inicial, mantenir la configuració de Nginx optimitzada garanteix que pugui gestionar les càrregues de treball canviants de manera eficaç.
Àrees clau per centrar-se
Millorar el rendiment de Nginx implica ajustar els paràmetres específics que afecten directament l'eficiència del vostre servidor.
Gestió de processos de treball
El worker_rlimit_nofile La directiva és crucial per gestionar els descriptors de fitxers. Assegura que el vostre servidor pugui gestionar múltiples connexions simultànies sense assolir límits durant els períodes de trànsit elevat:
worker_rlimit_nofile 65535; Utilitzant la memòria cau de fitxers oberts
La memòria cau de fitxers oberta minimitza les E/S del disc mitjançant la memòria cau de les metadades dels fitxers d'accés freqüent, la qual cosa accelera el lliurament de contingut estàtic:
http { open_file_cache màx=1000 inactiu=20s; open_file_cache_valid 30s; open_file_cache_min_uses 2; open_file_cache_errors activat; } Un cop realitzades aquestes optimitzacions, el seguiment regular esdevé essencial per garantir un rendiment continuat i detectar les àrees que necessiten més ajustos.
Supervisió del rendiment de Nginx
La supervisió ajuda a fer un seguiment del rendiment del vostre servidor i descobreix qualsevol coll d'ampolla o ineficiència. Les mètriques clau que cal observar inclouen les taxes de sol·licitud, les taxes d'error i l'ús de recursos. Eines com Prometheus i Grafana faciliten la recopilació i la visualització d'aquestes dades.
Recomanat Eines de seguiment
| Eina | Propòsit | Mètriques clau |
|---|---|---|
| Prometeu | Recull dades de rendiment en directe | Taxes de sol·licitud, temps de resposta, percentatges d'error |
| Grafana | Visualitza les tendències de rendiment | Ús de CPU, consum de memòria, patrons de trànsit |
| htop | Fes un seguiment de l'ús dels recursos del sistema | Ús del procés, assignació de memòria |
Configuració de mètriques de rendiment
Activeu el control de l'estat a Nginx configurant el següent:
ubicació /nginx_status { stub_status activat; access_log off; permetre 127.0.0.1; denegar-ho tot; } Aquesta configuració proporciona informació sobre:
- Connexions actives
- Total de connexions acceptades
- Estadístiques de gestió de sol·licituds
- Connexions de lectura, escriptura i espera
Analitzant els registres de manera eficaç
El registre de memòria intermèdia pot reduir la tensió del disc agrupant les escriptures de registre. Això ajuda a mantenir el rendiment del servidor sense sacrificar la precisió dels vostres registres.
"El seguiment i l'ajust periòdics basats en dades de rendiment són crucials per aconseguir resultats òptims. És essencial evitar fer massa canvis alhora, ja que això pot complicar la resolució de problemes".
Opcions d'allotjament per a Nginx
Escollir l'entorn d'allotjament adequat és tan important com ajustar les configuracions de Nginx. La plataforma adequada garanteix que les vostres optimitzacions proporcionin els millors resultats.
Característiques de Servidor Hosting

Serverion ofereix una plataforma d'allotjament dissenyada específicament per a Nginx, que ofereix un rendiment i una fiabilitat excepcionals.
Emmagatzematge i rendiment
Serverion utilitza emmagatzematge SSD optimitzat per a Nginx, reduint la latència d'E/S per accelerar l'accés als fitxers i registres de configuració.
Infraestructura de seguretat
Amb la protecció DDoS a nivell empresarial, Serverion millora la seguretat de Nginx. Això garanteix el temps de funcionament durant els atacs i complementa les funcions d'equilibri de càrrega de Nginx.
| Tipus de recurs | Especificacions | Beneficis per a Nginx |
|---|---|---|
| CPU | Xeon Quad-Core | Gestiona els processos dels treballadors de manera eficient |
| RAM | Fins a 16 GB | Augmenta el rendiment de la memòria cau |
| Emmagatzematge | Basat en SSD | Accelera l'accés als fitxers |
| Ample de banda | Gran capacitat | Admet un equilibri de càrrega fiable |
Infraestructura escalable
Els plans de Serverion estan dissenyats per adaptar-se a les vostres necessitats creixents de trànsit. Això garanteix que la vostra configuració de Nginx pugui gestionar l'augment de la demanda sense perdre rendiment.
"La supervisió regular i l'optimització del rendiment són essencials quan allotja Nginx. L'entorn d'allotjament adequat hauria de proporcionar tant els recursos com les eines necessàries per mantenir un rendiment òptim del servidor".
Suport expert
L'equip d'assistència 24/7 de Serverion inclou especialistes de Nginx que us poden ajudar amb els ajustaments de configuració i l'ajust del rendiment adaptats a les vostres necessitats.
Conclusió i consells finals
Recapitulació dels punts clau
Treure el màxim profit de Nginx significa centrar-se en un enfocament clar i pas a pas. Comenceu per comprendre els límits de maquinari i els patrons de trànsit del vostre servidor. A partir d'aquí, ajusteu la configuració com els processos de treball, la memòria cau i l'equilibri de càrrega per assegurar-vos que el vostre servidor funcioni correctament i de manera eficient.
Passos per començar
- Valida les configuracions: abans de fer qualsevol canvi en directe, utilitzeu
nginx -tper comprovar si hi ha errors en les vostres configuracions. - Optimitzacions centrals:
- Partit
processos_treballadorals nuclis de CPU del vostre servidor (p. ex.,processos_treballador 4per a un servidor de 4 nuclis). - Activeu la compressió gzip per reduir la mida dels fitxers un 50-70%.
- Ajusteu les mides de la memòria intermèdia per gestionar les sol·licituds de manera més eficient.
- Partit
- Funcions avançades:
- Configureu la terminació SSL per assegurar les connexions.
- Configureu la memòria cau de contingut amb la configuració de caducitat adequada.
- Utilitzeu l'equilibri de càrrega adaptat als vostres patrons de trànsit.
- Instal·leu eines com Prometheus i Grafana per controlar el rendiment.
Seguiment del rendiment: Vigilar el rendiment del vostre servidor és clau. Feu un seguiment de mètriques com les taxes de sol·licitud, els temps de resposta i l'ús de recursos per detectar qualsevol problema abans que afecti els usuaris.
"La supervisió regular i l'optimització del rendiment són essencials quan allotja Nginx. La combinació adequada de paràmetres de configuració i eines de monitorització garanteix un rendiment òptim del servidor al llarg del temps".
Preguntes freqüents
Aquí teniu les respostes a algunes preguntes habituals sobre les configuracions de Nginx per ajudar-vos a solucionar problemes i millorar el rendiment.
Com puc comprovar si Nginx està en memòria cau?
Per comprovar si Nginx guarda contingut a la memòria cau, inspeccioneu les capçaleres de resposta HTTP. Busqueu:
- X-Cache: un valor "HIT" significa que el contingut s'emmagatzema a la memòria cau.
- X-Cache-Estat: indica l'estat actual de la memòria cau.
Podeu utilitzar aquesta ordre per veure les capçaleres:
curl -I https://yourwebsite.com Nota: Assegureu-vos que aquestes capçaleres estiguin configurades a la vostra configuració de Nginx; en cas contrari, no apareixeran a la resposta.
Quins són els paràmetres de memòria intermèdia recomanats?
Aquí teniu un exemple de configuració per configurar els buffers de manera eficient:
client_body_buffer_size 10K; client_header_buffer_size 1K; client_max_body_size 8m; large_client_header_buffers 4 4k; Com habilito el suport de WebSocket?
Per habilitar el suport de WebSocket, assegureu-vos que el vostre proxy_pass La directiva apunta al servidor backend de WebSocket. Per obtenir instruccions detallades, consulteu la secció anterior sobre la configuració de WebSocket.
Com puc configurar SSL de manera segura?
Utilitzeu la configuració següent per configurar SSL de manera segura:
servidor { listen 443 ssl; nom_del_servidor example.com; ssl_certificate /path/to/cert.crt; ssl_certificate_key /path/to/cert.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; } Com optimitzo Nginx per a un trànsit elevat?
Per als llocs web d'alt trànsit, centreu-vos en aquestes àrees clau:
- Partit
processos_treballadoral nombre de nuclis de CPU i augmentarconnexions_treballadorsper gestionar més connexions. - Configureu una memòria cau efectiva per reduir la càrrega del servidor.
- Ajusteu les mides de la memòria intermèdia per processar les sol·licituds de manera més eficient.
"La supervisió regular i l'optimització del rendiment són essencials quan allotja Nginx. La combinació adequada de paràmetres de configuració i eines de monitorització garanteix un rendiment òptim del servidor al llarg del temps".
Publicacions de bloc relacionades
- Guia d'ubicació del centre de dades: impacte en la velocitat del lloc web
- Les 5 principals funcions d'allotjament DNS per a llocs web empresarials
- Preguntes freqüents sobre la gestió del servidor: preguntes freqüents respostes
- Aprofitant els serveis de duplicació per millorar la fiabilitat i el rendiment del lloc web