Rumah >Operasi dan penyelenggaraan >Nginx >Cara menggunakan Nginx untuk pengoptimuman prestasi permintaan HTTP
Cara menggunakan Nginx untuk pengoptimuman prestasi permintaan HTTP
Abstrak: Nginx ialah pelayan web berprestasi tinggi dan pelayan proksi terbalik yang berkuasa. Ia boleh meningkatkan prestasi permintaan HTTP dalam beberapa cara. Artikel ini akan memperkenalkan beberapa teknik untuk menggunakan Nginx untuk mengoptimumkan prestasi permintaan HTTP dan memberikan contoh kod yang sepadan.
Mendayakan ciri caching Nginx boleh mengurangkan beban pelayan dan meminta masa tindak balas dengan ketara. Berikut ialah konfigurasi contoh untuk mendayakan caching:
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; } } }
Dalam contoh di atas, kami menetapkan laluan cache dan pilihan yang berkaitan melalui arahan proxy_cache_path
, dan kemudian menggunakan blok location
The arahan code>proxy_cache mendayakan caching dan arahan proxy_cache_valid
menentukan masa kesahihan cache bagi kod respons yang berbeza. 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
Mendayakan pemampatan Gzip boleh mengurangkan saiz fail yang dipindahkan, sekali gus mengurangkan penggunaan lebar jalur rangkaian. Berikut ialah contoh konfigurasi untuk mendayakan pemampatan Gzip:
rrreeeDalam contoh di atas, kami mendayakan pemampatan Gzip melalui arahan gzip on
dan pemampatan yang ditentukan melalui fail arahan gzip_types
taip.
listen
. hulu
dan kemudian menggunakannya dalam lokasi
blok Arahan proxy_pass
digunakan untuk meminta proksi daripada pelayan hujung belakang. 🎜🎜Kesimpulan: 🎜🎜Dengan mendayakan caching, mendayakan pemampatan Gzip, menggunakan HTTP/2 dan menggunakan perkhidmatan pecutan cache Nginx, kami boleh meningkatkan prestasi permintaan HTTP dengan ketara. Di atas ialah beberapa petua dan contoh kod yang sepadan untuk menggunakan Nginx untuk mengoptimumkan prestasi permintaan HTTP. 🎜🎜Rujukan: 🎜🎜🎜Dokumentasi Nginx: https://nginx.org/en/docs/🎜🎜Caching Nginx: https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache🎜 Mampatan: https://nginx.org/en/docs/http/ngx_http_gzip_module.html🎜🎜Nginx HTTP/2: https://nginx.org/en/docs/http/http2_module.html🎜🎜Proksi Balik Nginx: https ://nginx.org/en/docs/http/ngx_http_proxy_module.html🎜🎜Atas ialah kandungan terperinci Cara menggunakan Nginx untuk pengoptimuman prestasi permintaan HTTP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!