Cara mengaktifkan http/2 di apache di ubuntu
- 4683
- 606
- Ian Parker
Sejak awal World Wide Web (www), the Http Protokol telah berkembang selama bertahun -tahun untuk memberikan konten digital yang aman dan cepat melalui internet.
Versi yang paling banyak digunakan adalah Http 1.1 Dan sementara itu dikemas dengan peningkatan fitur dan optimisasi kinerja untuk mengatasi kekurangan versi sebelumnya, itu jauh dari beberapa fitur penting lainnya yang telah ditangani oleh Http/2.
Apa keterbatasan http/1.1?
Itu Http/1.1 Protokol penuh dengan kekurangan berikut yang membuatnya kurang ideal terutama saat menjalankan server web lalu lintas tinggi:
- Keterlambatan memuat halaman web karena header http panjang.
- Http/1.1 hanya dapat mengirim satu permintaan untuk setiap file per koneksi TCP.
- Mengingat bahwa http/1.1 memproses satu permintaan untuk setiap koneksi TCP, browser dipaksa untuk mengirim banjir koneksi TCP paralel untuk secara bersamaan memproses permintaan tersebut. Hal ini menyebabkan kemacetan TCP dan akhirnya pemborosan bandwidth dan degradasi jaringan.
Masalah yang disebutkan di atas sering menyebabkan degradasi kinerja dan biaya overhead yang tinggi dalam penggunaan bandwidth. Http/2 datang ke dalam gambar untuk mengatasi masalah ini dan sekarang menjadi masa depan untuk protokol HTTP.
Keuntungan menggunakan HTTP/2
Ini menawarkan keunggulan berikut:
- Kompresi header yang meminimalkan permintaan klien dan dengan demikian menurunkan konsumsi bandwidth. Efek yang dihasilkan adalah kecepatan beban halaman cepat.
- Multiplexing beberapa permintaan atas satu koneksi TCP. Baik server dan klien dapat memecah permintaan HTTP menjadi beberapa frame dan menyusun kembali di ujung lainnya.
- Pertunjukan web yang lebih cepat yang akibatnya mengarah pada peringkat SEO yang lebih baik.
- Keamanan yang ditingkatkan karena sebagian besar browser arus utama memuat http/2 melalui https.
- HTTP/2 dianggap lebih ramah mobile berkat fitur kompresi header.
Yang mengatakan, kami akan mengaktifkan Http/2 pada Apache pada Ubuntu 20.04 lts Dan Ubuntu 18.04 lts.
Prasyarat:
Sebelum memulai, pastikan Anda mengaktifkan Https di Webserver Apache sebelum mengaktifkan Http/2. Ini karena semua dukungan browser web arus utama Http/2 lebih Https. Saya memiliki nama domain yang menunjuk ke contoh di Ubuntu 20.04 yang menjalankan server apache yang dijamin menggunakan sertifikat ayat enkripsi.
Juga, disarankan Anda miliki Apache 2.4.26 dan versi yang lebih baru untuk server produksi yang bermaksud untuk bergeser ke Http/2.
Untuk memeriksa versi Apache Anda menjalankan, menjalankan perintah:
$ apache2 -vPeriksa versi Apache di Ubuntu
Dari output, Anda dapat melihat bahwa kami menggunakan versi terbaru, yaitu Apache 2.4.41 Pada saat menuliskan artikel ini.
Aktifkan http/2 pada host virtual apache
Untuk memulai, pertama kali konfirmasi bahwa server web sedang berjalan Http/1.1. Anda dapat melakukan ini di browser dengan membuka bagian alat pengembang Google Chrome menggunakan Ctrl + Shift + I
kombinasi. Klik pada 'Jaringan'tab dan temukan'Protokol'Kolom.
Selanjutnya, aktifkan Http/2 modul di Ubuntu dengan menjalankan perintah berikut.
$ sudo a2enmod http2Aktifkan http/2 di ubuntu
Selanjutnya, temukan dan edit SSL file host virtual, jika Anda telah mengaktifkan https menggunakan Mari Enkripsi, File baru dibuat dengan le-ssl.conf akhiran.
$ sudo vim/etc/apache2/situs-mendukung/domain-name-le-ssl Anda.conf
Masukkan arahan di bawah ini setelah menandai.
Protokol H2 HTTP/1.1Aktifkan HTTP/2 di Apache
Untuk menyimpan perubahan, restart Webserver Apache.
$ sudo systemctl restart apache2
Untuk memeriksa apakah Http/2 diaktifkan, ambil header http menggunakan perintah curl berikut sebagai pertunjukan.
$ curl -i --http2 -s https: // domain.com/ | grep httpPeriksa dukungan HTTP/2 di Apache
Anda harus mendapatkan output yang ditampilkan.
Http/2 200
Di browser, muat ulang situs Anda. Kemudian kembali ke alat pengembang dan konfirmasi http/2 yang dilambangkan dengan H2
label pada 'Protokol'Kolom.
Saat menggunakan modul mod_php dengan Apache
Jika Anda berlari Apache di samping mod_php modul, Anda perlu beralih ke Php-fpm. Ini karena mod_php Modul menggunakan Prefork MPM modul yang tidak didukung oleh Http/2. Anda perlu menghapus instalan prefork MPM dan beralih ke mpm_event modul yang akan didukung oleh Http/2.
Jika Anda menggunakan PHP 7.4 mod_php Modul, misalnya, nonaktifkan seperti yang ditunjukkan:
$ sudo a2dismod php7.4Nonaktifkan modul mod_php
Setelah itu, nonaktifkan prefork MPM modul.
$ sudo a2dismod mpm_preforkNonaktifkan Prefork MPM di Apache
Setelah menonaktifkan modul, selanjutnya, aktifkan Acara MPM, Fast_cgi, Dan setenvif modul seperti yang ditunjukkan.
$ sudo a2enmod mpm_event proxy_fcgi setenvifAktifkan acara MPM di Apache
Instal PHP-FPM di Ubuntu
Selanjutnya, instal dan mulai Php-fpm seperti yang ditunjukkan.
$ sudo apt instal php7.4-fpm $ sudo systemctl mulai php7.4-fpm
Lalu aktifkan Php-fpm untuk memulai waktu boot.
$ sudo systemctl mengaktifkan php7.4-fpm
Selanjutnya, aktifkan Php-fpm sebagai penangan php Apache dan restart server web apache untuk perubahan yang akan dilakukan.
$ sudo a2enconf php7.4-fpm
Aktifkan dukungan HTTP/2 di Apache Ubuntu
Kemudian aktifkan modul http/2 seperti sebelumnya.
$ sudo a2enmod http2
Restart Apache untuk menyinkronkan semua perubahan.
$ sudo systemctl restart apache2
Akhirnya, Anda dapat menguji apakah server Anda menggunakan Http/2 protokol menggunakan perintah curl seperti yang ditunjukkan.
$ curl -i --http2 -s https: // domain.com/ | grep httpPeriksa HTTP/2 Protokol di Apache
Anda juga dapat memilih untuk menggunakan alat pengembang di Google Chrome browser untuk memverifikasi seperti yang didokumentasikan sebelumnya. Kami harus akhir dari panduan ini, kami harap Anda menemukan informasi yang berharga dan bahwa Anda dapat dengan nyaman mengaktifkan Http/2 pada Apache dengan mudah.