Bu yazımda NGINX 1.23 versionu üzerine Brotli ve yeni protokol olan HTTP3 kurulumunu yapacağız ve bunlar nedir gibi sorularımıza cevap yazacağız.
Brotli gzip ten ortalama yuzde 17 oranında daha verimli bir sıkıştırma aracıdır. Özellikle statik dosyalarımız için faydalı olacaktır. Sitemiz size olarak küçüleceği için performans değerlerimiz artacaktır. Google tarafından geliştirilmiştir.
HTTP3 tcp yerine udp protokollerini kullanarak web sunucumuzun "Nginx" clientler ile haberleşmesini sağlayan ve hala geliştirilmesi devam eden bir yeni heyecan verici bir protokoldur.
Son olarak, kuruluma başlamadan önce kullandığım işletim sistemi ve neden Nginx 1.23 üzerinde bu çalışmayı yapmaya karar verdiğimden kısaca bahsedeyim, biliyorsunuzki Nginx 1.19 versionu son open source versiyonu diyebiliriz. Bu versiyondan sonra 1.2x olarak devam etmeye karar verdi bu versionda free ama bir çok eklentiyi eklemek eskisi gibi basit değil. Bu kurulum yapacağımız modüllerde bunlardan bazıları.
git clone --recursive [url]https://github.com/google/ngx_brotli.git[/url]
su - cd /root/Download/ apt-get update apt-get install -y git gcc make g++ cmake perl libunwind-dev golang git clone [url]https://boringssl.googlesource.com/boringssl[/url] mkdir -p boringssl/build cd boringssl/build cmake .. make
apt-get install -y mercurial libperl-dev libpcre3-dev zlib1g-dev libxslt1-dev libgd-ocaml-dev libgeoip-dev hg clone [url]https://hg.nginx.org/nginx-quic[/url] #hg clone [url]http://hg.nginx.org/njs[/url] -r "0.7.6" hg clone [url]http://hg.nginx.org/njs[/url] cd nginx-quic hg update quic auto/configure `nginx -V 2>&1 | sed "s/ \-\-/ \\\ \n\t--/g" | grep "\-\-" | grep -ve opt= -e param= -e build=` --build=nginx-quic --with-debug --with-http_v3_module --with-stream_quic_module --with-http_image_filter_module --with-http_geoip_module --with-stream_geoip_module --add-module=/root/Download/ngx_brotli --add-module=/root/Download/njs/nginx --with-cc-opt="-I../boringssl/include" --with-ld-opt="-L../boringssl/build/ssl -L../boringssl/build/crypto" && make cp objs/nginx /usr/sbin/nginx
vim /etc/nginx/nginx.conf brotli on; brotli_comp_level 6; brotli_static on; brotli_types text/plain text/css application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon image/vnd.microsoft.icon image/png image/gif image/webp image/jpeg image/bmp image/svg+xml;
vim /etc/nginx/sites-available/www.conf listen 443 http3 reuseport; # 0-RTT QUIC connection resumption ssl_early_data on; # Add Alt-Svc header to negotiate HTTP/3. add_header alt-svc 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"'; # Sent when QUIC was used add_header QUIC-Status $http3;
Yorumlar