Comment utiliser Nginx pour optimiser les performances des requêtes HTTP
Résumé : Nginx est un serveur Web hautes performances et un puissant serveur proxy inverse. Il peut améliorer les performances des requêtes HTTP de plusieurs manières. Cet article présentera quelques techniques d'utilisation de Nginx pour optimiser les performances des requêtes HTTP et fournira des exemples de code correspondants.
L'activation de la fonction de mise en cache de Nginx peut réduire considérablement la charge du serveur et le temps de réponse aux demandes. Voici un exemple de configuration pour activer la mise en cache :
http { ... proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off; server { ... location / { proxy_pass http://backend; proxy_cache my_cache; proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m; } } }
Dans l'exemple ci-dessus, nous définissons le chemin du cache et les options associées via la directive proxy_cache_path
, puis utilisons le bloc location
. La directive code>proxy_cache active la mise en cache et la directive proxy_cache_valid
spécifie la durée de validité du cache des différents codes de réponse. proxy_cache_path
指令设置了缓存路径和相关选项,然后在location
块中使用了proxy_cache
指令启用缓存,并通过proxy_cache_valid
指令指定不同的响应码的缓存有效时间。
启用Gzip压缩可以减小传输文件的大小,进而减少网络带宽的占用。下面是一个启用Gzip压缩的示例配置:
http { ... gzip on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_types text/plain text/css application/json application/javascript text/xml application/xml+rss application/atom+xml image/svg+xml; server { ... location / { proxy_pass http://backend; proxy_set_header Accept-Encoding ""; } } }
上述示例中,我们通过gzip on
指令启用了Gzip压缩,并通过gzip_types
指令指定了要进行压缩的文件类型。
HTTP/2是一种新的网络协议,相较于HTTP/1.1有很多性能改进。启用HTTP/2可以提供更高的并发度并减少延迟。下面是一个启用HTTP/2的示例配置:
http { ... server { ... listen 443 ssl http2; ssl_certificate /path/to/certificate.crt; ssl_certificate_key /path/to/private.key; ... } }
上述示例中,我们通过listen
指令设置了使用443端口并启用了HTTP/2。
Nginx可以作为一个缓存加速服务,代理后端服务器的请求以减轻后端的负载。下面是一个启用缓存加速服务的示例配置:
http { ... upstream backend { server backend1.example.com; server backend2.example.com; } server { ... location / { proxy_pass http://backend; proxy_cache my_cache; proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m; } } }
上述示例中,我们通过upstream
指令定义了后端服务器的列表,然后在location
块中使用了proxy_pass
L'activation de la compression Gzip peut réduire la taille des fichiers transférés, réduisant ainsi l'utilisation de la bande passante du réseau. Voici un exemple de configuration pour activer la compression Gzip :
rrreeeDans l'exemple ci-dessus, nous avons activé la compression Gzip via la directive gzip on
et spécifié la compression via le fichier de directive gzip_types
taper.
listen
. upstream
, puis l'utilisons à l'emplacement Bloc
La directive proxy_pass
est utilisée pour proxy les requêtes du serveur backend. 🎜🎜Conclusion : 🎜🎜En activant la mise en cache, en activant la compression Gzip, en utilisant HTTP/2 et en utilisant le service d'accélération du cache Nginx, nous pouvons améliorer considérablement les performances des requêtes HTTP. Vous trouverez ci-dessus quelques conseils et exemples de code correspondants pour utiliser Nginx afin d'optimiser les performances des requêtes HTTP. 🎜🎜Référence : 🎜🎜🎜Documentation Nginx : https://nginx.org/en/docs/🎜🎜Mise en cache Nginx : https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache🎜🎜Nginx Gzip Compression : https://nginx.org/en/docs/http/ngx_http_gzip_module.html🎜🎜Nginx HTTP/2 : https://nginx.org/en/docs/http/http2_module.html🎜🎜Proxy inversé Nginx : https https://nginx.org/en/docs/http/ngx_http_proxy_module.html🎜🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!