Het eerste deel van dit nginx-artikel ging over de architectuur en het belangrijkste nginx-configuratiebestand. Dit artikel gaat verder vanaf hier en vertelt over de essentiële onderdelen van de nginx: de modules die nodig zijn en andere geavanceerde configuratietechnieken.
De echte kracht van nginx ligt in de modules. De volledige stapel kan worden voorgesteld als opgebouwd uit modules die de capaciteiten van de nginx-kern verbeteren of versterken. Om ze te gebruiken, moeten ze worden ingeschakeld tijdens de compilatie van de bron en kunnen ze tijdens runtime niet worden ingeschakeld.
Sommige modules worden automatisch gecompileerd tenzij anders vermeld. Laten we eens kijken naar enkele van de interessante en kijken welke op grote schaal worden gebruikt.
Toegang (ngx_http_access_module): Hiermee kunt u de toegang tot bepaalde IP-adressen beperken.
location / deny 192.168.1.1; staat 192.168.1.0/24 toe; staat 10.1.1.0/16 toe; staat 2001 toe: 0db8 :: / 32; alles ontkennen;
HTTP Auth (ngx_http_auth_basic_module): Hiermee kunt u de toegang beperken door HTTP Basic Auth (gebruikersnaam / wachtwoord).
locatie / auth_basic "wachtwoord"; auth_basic_user_file conf / htpasswd;
Subrequest Auth (ngx_http_auth_request_module): Implementeert clientautorisatie op basis van het resultaat van een subaanvraag.
Limit verbindingen (ngx_http_limit_conn_module): Hiermee kunt u het maximale aantal gelijktijdige verbindingen van een enkel IP-adres definiëren.
Limietverzoeken (ngx_http_limit_req_module): Beperkt het aantal verzoeken van één IP.
De meeste modules die worden meegeleverd met nginx en kunnen worden ingeschakeld tijdens het compileren, worden hier gedetailleerd weergegeven. Laten we in plaats daarvan een kijkje nemen op sommige modules van derden die echt nuttig kunnen zijn.
Deze modules moeten worden gedownload en vervolgens worden gecompileerd met nginx zoals wat je ziet in de volgende regel code (aangenomen dat je in de bronindex nginx werkt):
./ configure --add-module = / pad / naar / module / bron
De nginx-wiki somt enkele van de bekende externe modules op. Laten we het hier allemaal over hebben over een module die webpagina's en bijbehorende elementen herschrijft om de latentie en bandbreedte te verminderen.
Dit is een nginx-module die door Google is ontwikkeld in het kader van het PageSpeed-project. Het doel is uiteraard om de laadtijd van pagina's te verbeteren met behulp van een nginx-module die het verkeer optimaliseert.
U kunt deze module installeren door de zelfstudie 'ngx_pagespeed installeren' te volgen. Deze module wordt sterk aanbevolen als een must-have op uw servers!
Live-streaming, opnemen, online transcoderen, geavanceerde bufferingstechnieken. Het is echt gemakkelijk om hiermee aan de slag te gaan.
Een http-stream-pushmodule voor nginx. Ondersteunt EventSource Long polling. Voorbeeld: WebSocket.
Bij het gebruik van nginx wordt het ook belangrijk om de volgende ondersteunende nginx-hulpprogramma's te gebruiken: