Rumah > Operasi dan penyelenggaraan > Nginx > Bagaimana saya melaksanakan http/2 dengan nginx untuk prestasi yang lebih baik?

Bagaimana saya melaksanakan http/2 dengan nginx untuk prestasi yang lebih baik?

百草
Lepaskan: 2025-03-17 16:59:26
asal
673 orang telah melayarinya

Bagaimana saya melaksanakan http/2 dengan nginx untuk prestasi yang lebih baik?

Melaksanakan HTTP/2 dengan NGINX dapat meningkatkan prestasi pelayan web anda dengan ketara. HTTP/2 menawarkan beberapa faedah, termasuk multiplexing, mampatan header, dan push pelayan, yang boleh menghasilkan masa beban halaman yang lebih cepat dan penggunaan sumber rangkaian yang lebih cekap. Berikut adalah cara anda boleh melaksanakan http/2 dengan nginx:

  1. UPDATE NGINX : Pastikan anda menggunakan versi nginx 1.9.5 atau lebih baru, kerana versi ini menyokong HTTP/2 dari kotak.
  2. Dayakan https : http/2 memerlukan sambungan yang selamat. Anda perlu menyediakan sijil SSL/TLS jika anda belum melakukannya. Anda boleh mendapatkan sijil percuma dari perkhidmatan seperti Let's Encrypt.
  3. Ubah suai konfigurasi nginx : Dalam fail konfigurasi nginx anda (biasanya terletak di /etc/nginx/nginx.conf atau dalam /etc/nginx/sites-available/ ), anda perlu membuat beberapa perubahan untuk membolehkan http/2. Ini melibatkan menentukan parameter http2 dalam arahan listen untuk blok pelayan HTTPS anda.
  4. Mulakan semula nginx : Selepas membuat perubahan yang diperlukan pada fail konfigurasi, anda perlu memulakan semula Nginx untuk memohonnya. Anda boleh melakukan ini dengan Command sudo systemctl restart nginx pada kebanyakan sistem Linux.

Dengan mengikuti langkah -langkah ini, anda akan dapat memanfaatkan penambahbaikan prestasi yang ditawarkan oleh HTTP/2.

Apakah perubahan konfigurasi nginx khusus yang diperlukan untuk membolehkan http/2?

Untuk mengaktifkan HTTP/2 dalam NGINX, anda perlu mengubah suai blok pelayan dalam fail konfigurasi NGINX anda. Inilah contoh bagaimana anda dapat mengkonfigurasinya:

 <code class="nginx">server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name example.com; ssl_certificate /path/to/your/cert.crt; ssl_certificate_key /path/to/your/cert.key; # Other configuration options... }</code>
Salin selepas log masuk

Dalam contoh ini:

  • Arahan listen dikemas kini untuk memasukkan ssl http2 , yang membolehkan SSL dan HTTP/2 pada port 443.
  • Anda perlu menentukan laluan ke sijil SSL dan fail utama anda menggunakan arahan ssl_certificate dan ssl_certificate_key .

Pastikan untuk menggantikan example.com dengan nama domain anda dan kemas kini laluan ke sijil SSL dan fail utama anda dengan sewajarnya.

Bolehkah pelaksanaan http/2 dalam nginx mengurangkan masa tindak balas pelayan, dan berapa banyak?

Ya, melaksanakan HTTP/2 dalam NGINX dapat mengurangkan masa tindak balas pelayan dengan ketara. Pengurangan tepat masa tindak balas boleh berbeza -beza berdasarkan faktor seperti persediaan pelayan khusus anda, sifat laman web anda, dan keadaan rangkaian, tetapi di sini terdapat beberapa penambahbaikan umum yang mungkin anda lihat:

  • Multiplexing : HTTP/2 membolehkan pelbagai permintaan dihantar melalui satu sambungan, mengurangkan overhead pembukaan pelbagai sambungan. Ini boleh mengurangkan masa yang diperlukan untuk memuatkan halaman, berpotensi sebanyak 20-30%.
  • Pemampatan Header : HTTP/2 menggunakan HPACK untuk pemampatan header, yang mengurangkan jumlah data yang dipindahkan. Ini boleh membawa kepada masa tindak balas yang lebih cepat, biasanya meningkatkan masa beban sebanyak 10-15%.
  • PUSH SERVER : HTTP/2 membolehkan pelayan secara proaktif menghantar sumber kepada klien sebelum diminta, seterusnya mengurangkan latensi. Kesannya boleh berbeza-beza, tetapi ia berpotensi dapat mengurangkan masa beban halaman awal dengan tambahan 10-20%.

Secara keseluruhannya, kesan gabungan ciri-ciri ini boleh menyebabkan pengurangan jumlah masa tindak balas pelayan sebanyak 30-50% atau lebih, bergantung kepada senario khusus anda.

Adakah terdapat perangkap biasa untuk mengelakkan apabila menubuhkan HTTP/2 pada NGINX?

Apabila menubuhkan HTTP/2 pada NGINX, terdapat beberapa perangkap biasa yang harus anda ketahui untuk memastikan pelaksanaan yang lancar dan berkesan:

  1. Menggunakan versi NGINX yang tidak serasi : Pastikan anda menggunakan versi NGINX 1.9.5 atau lebih baru. Versi terdahulu tidak menyokong HTTP/2.
  2. Lupa untuk membolehkan https : http/2 memerlukan sambungan yang selamat, jadi anda mesti mengaktifkan HTTPS. Gagal berbuat demikian akan mengakibatkan http/2 tidak berfungsi.
  3. Konfigurasi SSL yang salah : Pastikan sijil SSL anda dikonfigurasi dengan betul dan terkini. Kesilapan dalam konfigurasi SSL boleh menghalang HTTP/2 daripada diaktifkan.
  4. Tidak mengemas kini konfigurasi pelayan lain : Jika anda menggunakan pelayan beban atau pelayan proksi, pastikan ini juga dikonfigurasi untuk menyokong HTTP/2. Konfigurasi yang tidak sepadan boleh menyebabkan prestasi suboptimal.
  5. Mengabaikan untuk memantau dan mengoptimumkan : Setelah melaksanakan HTTP/2, memantau prestasi pelayan anda dan mengoptimumkan yang diperlukan. Sesetengah aplikasi mungkin memerlukan penalaan tambahan untuk mendapat manfaat sepenuhnya dari HTTP/2.
  6. Mengabaikan keserasian pelayar : Walaupun pelayar yang paling moden menyokong HTTP/2, sesetengah pelayar yang lebih tua mungkin tidak. Pastikan anda mempunyai sandaran untuk HTTP/1.1 untuk pengguna ini.

Dengan menyedari isu -isu yang berpotensi ini, anda boleh memaksimumkan manfaat HTTP/2 dan mengelakkan kesilapan pelaksanaan biasa.

Atas ialah kandungan terperinci Bagaimana saya melaksanakan http/2 dengan nginx untuk prestasi yang lebih baik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan