Cara Membolehkan Http/2 di Apache di Ubuntu
- 765
- 98
- Dave Kreiger V
Sejak penubuhannya Web Web Web Web (www), The Http Protokol telah berkembang selama bertahun -tahun untuk memberikan kandungan digital yang selamat dan cepat melalui Internet.
Versi yang paling banyak digunakan adalah Http 1.1 Dan sementara ia dibungkus dengan peningkatan ciri dan pengoptimuman prestasi untuk menangani kekurangan versi terdahulu, ia kurang dari beberapa ciri penting lain yang telah ditangani oleh Http/2.
Apakah batasan http/1.1?
The Http/1.1 Protokol penuh dengan kekurangan berikut yang menjadikannya kurang sesuai terutamanya ketika menjalankan pelayan web trafik tinggi:
- Kelewatan dalam memuatkan laman web kerana tajuk HTTP yang panjang.
- Http/1.1 hanya dapat menghantar satu permintaan untuk setiap fail setiap sambungan TCP.
- Memandangkan http/1.1 memproses satu permintaan untuk setiap sambungan TCP, penyemak imbas terpaksa menghantar banjir sambungan TCP selari untuk memproses permintaan secara serentak. Ini membawa kepada kesesakan TCP dan akhirnya pembaziran jalur lebar dan kemerosotan rangkaian.
Masalah yang disebutkan di atas sering menyebabkan kemusnahan prestasi dan kos overhead yang tinggi dalam penggunaan jalur lebar. Http/2 masuk ke dalam gambar untuk menangani masalah ini dan kini menjadi masa depan untuk protokol HTTP.
Kelebihan menggunakan HTTP/2
Ia menawarkan kelebihan berikut:
- Pemampatan header yang meminimumkan permintaan pelanggan dan dengan itu menurunkan penggunaan jalur lebar. Kesan yang dihasilkan adalah kelajuan beban halaman pantas.
- Multiplexing beberapa permintaan melalui satu sambungan TCP. Kedua -dua pelayan dan pelanggan boleh memecahkan permintaan HTTP ke dalam pelbagai bingkai dan mengumpulkan semula mereka di hujung yang lain.
- Persembahan web lebih cepat yang seterusnya membawa kepada kedudukan SEO yang lebih baik.
- Keselamatan yang lebih baik kerana kebanyakan pelayar arus perdana memuat http/2 ke atas HTTPS.
- Http/2 dianggap lebih mesra mudah alih terima kasih kepada ciri mampatan header.
Yang berkata, kita akan membolehkan Http/2 pada Apache pada Ubuntu 20.04 LTS dan Ubuntu 18.04 LTS.
Prasyarat:
Sebelum memulakan, pastikan anda membolehkan Https di webserver Apache sebelum membolehkan Http/2. Ini kerana semua penyemak imbas arus perdana menyokong Http/2 berakhir Https. Saya mempunyai nama domain yang menunjuk pada suatu contoh Ubuntu 20.04 yang menjalankan pelayan Apache yang dijamin menggunakan sijil menyulitkan.
Juga, disarankan anda ada Apache 2.4.26 dan kemudian versi untuk pelayan pengeluaran yang berhasrat untuk membuat peralihan ke Http/2.
Untuk memeriksa versi Apache Anda berlari, laksanakan arahan:
$ apache2 -vSemak versi Apache di Ubuntu
Dari output, anda dapat melihat bahawa kami menggunakan versi terkini, iaitu Apache 2.4.41 Pada masa pening turun artikel ini.
Dayakan http/2 pada tuan rumah maya Apache
Untuk bermula, pertama mengesahkan bahawa webserver sedang berjalan Http/1.1. Anda boleh melakukan ini pada penyemak imbas dengan membuka bahagian Alat Pemaju di Google Chrome menggunakan Ctrl + shift + i
gabungan. Klik pada 'Rangkaian'Tab dan cari'Protokol' kolum.
Seterusnya, aktifkan Http/2 modul dihidupkan Ubuntu dengan menjalankan arahan berikut.
$ sudo a2enmod http2Dayakan http/2 di Ubuntu
Seterusnya, cari dan edit anda SSL fail hos maya, jika anda telah mengaktifkan https menggunakan Mari enkripsi, fail baru dibuat dengan a le-ssl.Conf akhiran.
$ sudo vim/etc/apache2/enabled sites/your-domain-name-le-ssl.Conf
Masukkan arahan di bawah selepas tag.
Protokol H2 HTTP/1.1Dayakan http/2 di Apache
Untuk menyimpan perubahan, mulakan semula webserver Apache.
$ sudo Systemctl mulakan semula apache2
Untuk memeriksa jika Http/2 diaktifkan, ambil tajuk HTTP menggunakan perintah curl berikut sebagai pertunjukan.
$ curl -i - -http2 -s https: // domain.com/ | GREP HTTPSemak Sokongan HTTP/2 di Apache
Anda harus mendapatkan output yang ditunjukkan.
Http/2 200
Di penyemak imbas, muat semula laman web anda. Kemudian kembali ke alat pemaju dan sahkan http/2 yang dilambangkan oleh H2
label pada 'Protokol' kolum.
Semasa menggunakan modul mod_php dengan Apache
Sekiranya anda berlari Apache di samping mod_php modul, anda perlu beralih ke PHP-FPM. Ini kerana mod_php modul menggunakan prefork Mpm modul yang tidak disokong oleh Http/2. Anda perlu menyahpasang prefork Mpm dan beralih ke mpm_event modul yang akan disokong oleh Http/2.
Sekiranya anda menggunakan Php 7.4 mod_php Modul, sebagai contoh, melumpuhkannya seperti yang ditunjukkan:
$ sudo a2dismod php7.4Lumpuhkan Modul Mod_PHP
Selepas itu, lumpuhkan prefork Mpm modul.
$ sudo a2dismod mpm_preforkLumpuhkan MPM Prefork di Apache
Setelah melumpuhkan modul, seterusnya, membolehkan MPM Acara, Fast_cgi, dan Setenvif modul seperti yang ditunjukkan.
$ sudo a2enmod mpm_event proxy_fcgi setenvifDayakan MPM Acara di Apache
Pasang PHP-FPM di Ubuntu
Seterusnya, pasang dan mulakan PHP-FPM seperti yang ditunjukkan.
$ sudo apt memasang php7.4-fpm $ sudo Systemctl Mula Php7.4-fpm
Kemudian aktifkan PHP-FPM Untuk bermula pada masa boot.
$ sudo systemctl enable php7.4-fpm
Seterusnya, aktifkan PHP-FPM Sebagai pengendali php Apache dan mulakan semula webserver Apache untuk perubahan yang akan dilaksanakan.
$ sudo a2enconf php7.4-fpm
Dayakan sokongan http/2 di Apache Ubuntu
Kemudian aktifkan modul http/2 seperti sebelumnya.
$ sudo a2enmod http2
Mulakan semula Apache untuk menyegerakkan semua perubahan.
$ sudo Systemctl mulakan semula apache2
Akhirnya, anda boleh menguji jika pelayan anda menggunakan Http/2 protokol menggunakan perintah curl seperti yang ditunjukkan.
$ curl -i - -http2 -s https: // domain.com/ | GREP HTTPSemak protokol http/2 di Apache
Anda juga boleh memilih untuk menggunakan alat pemaju di Google Chrome penyemak imbas untuk mengesahkan seperti yang didokumentasikan sebelumnya. Kami perlu mengakhiri panduan ini, kami harap anda dapati maklumat yang berharga dan anda dapat dengan selesa membolehkan Http/2 pada Apache dengan mudah.