GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara mempercepat Apache dengan cache HTTP Varnish di Ubuntu 16.04 LTS

Varnish adalah server proxy yang berfokus pada caching HTTP. Ini dirancang sebagai akselerator HTTP, dan dapat bertindak sebagai proxy terbalik untuk server web Anda (Apache atau Nginx). Varnish telah digunakan untuk situs web profil tinggi dan lalu lintas tinggi, termasuk Wikipedia, The Guardian, dan The New York Times.

Dalam tutorial ini, kami akan menunjukkan cara menginstal dan mengkonfigurasi akselerator HTTP Varnish sebagai proxy terbalik untuk server web Apache. Server web Apache yang sebenarnya akan berjalan di bawah port HTTP non-standar (berjalan pada port 8080). Dan Varnish akan berjalan sebagai reverse proxy pada HTTP port 80. Untuk panduan ini, kita akan menggunakan server Ubuntu 16.04.

Apa yang akan kami lakukan

  1. Instal server Web Apache
  2. Ubah Port Default Apache
  3. Pasang Pernis
  4. Konfigurasikan Pernis
  5. Uji penyiapan

Prasyarat

  • Ubuntu 16.04
  • Hak istimewa root

Langkah 1 - Instal server Web Apache

Untuk memulai, instal server web Apache. Secara default, ini tersedia di repositori Ubuntu.

Perbarui repositori Ubuntu lalu instal Apache menggunakan perintah apt.

sudo apt update
sudo apt install -y apache2

Setelah penginstalan selesai, jalankan layanan Apache dan aktifkan untuk berjalan secara otomatis pada saat boot sistem menggunakan perintah systemctl berikut.

systemctl start apache2
systemctl enable apache2

Server web Apache telah diinstal.

Selanjutnya, untuk mengizinkan semua orang mengakses server web, kita harus mengizinkan HTTP dan HTTPS pada aturan firewall kita. Secara default, Ubuntu hadir dengan paket firewall bernama UFW.

Buka port SSH, HTTP, dan HTTPS baru menggunakan perintah ufw berikut.

ufw allow ssh
ufw allow http
ufw allow https

Sekarang mulai layanan firewall dan aktifkan untuk diluncurkan secara otomatis saat boot sistem.

ufw enable

Ketik 'y' dan tekan Enter untuk mengonfirmasi.

Port baru untuk http, https, dan ssh telah dibuka, dan dapat diakses dari luar jaringan.

Jika Anda ingin menguji web server Apache, Anda dapat menggunakan perintah netstat dan pastikan apache berjalan di bawah port 80.

netstat -plntu

Atau Anda dapat menggunakan perintah curl berikut.

curl -I hakase-labs.co

Anda harus mendapatkan hasil seperti yang ditunjukkan di bawah ini.

Langkah 2 - Ubah Port Default Apache

Dalam tutorial ini, kita akan menggunakan Apache sebagai server backend, dan tidak akan berjalan di bawah standar http port 80. Web server Apache akan berjalan pada port 8080 sebagai backend, dan standar http port 80 akan digunakan oleh ' Pernis'.

Untuk mengubah port default apache, kita perlu mengedit konfigurasi apache 'ports.conf' dan semua konfigurasi virtual host di bawah direktori 'sites-available'.

Buka direktori konfigurasi Apache.

cd /etc/apache2

Ganti port '80' dengan '8080' di konfigurasi Apache 'ports.conf' dan semua file host virtual di bawah direktori 'sites-available'. Kita dapat melakukannya dengan menjalankan perintah sed berikut.

sed -i -e 's/80/8080/g' ports.conf
sed -i -e 's/80/8080/g' sites-available/*

Selanjutnya uji konfigurasi Apache dan pastikan tidak ada error, lalu restart service Apache.

apachectl configtest
systemctl restart apache2

Sekarang Apache berjalan di bawah port http '8080', periksa menggunakan perintah netstat seperti yang ditunjukkan di bawah ini.

netstat -plntu

Pastikan Anda mendapatkan hasil seperti di bawah ini.

Jadi Anda dapat melihat server web Apache berjalan pada port '8080'.

Langkah 3 - Instal Akselerator HTTP Varnish

Pada langkah ini, kita akan menginstal Varnish dari repositori Ubuntu. Dan untuk panduan ini, kita akan menggunakan pernis 4.

Instal pernis menggunakan perintah apt berikut.

sudo apt install -y varnish

Setelah penginstalan selesai, mulai Varnish dan aktifkan untuk diluncurkan secara otomatis saat boot sistem.

systemctl start varnish
systemctl enable varnish

Varnish telah diinstal pada sistem Ubuntu 16.04.

Secara default, ini berjalan di bawah port '6081' untuk alamat publik dan '6082' untuk alamat localhost. Periksa menggunakan perintah netstat di bawah ini.

netstat -plntu

Dan Anda akan mendapatkan port varnish default.

Langkah 4 - Konfigurasi Varnish sebagai Proxy Terbalik untuk Apache

Pada langkah ini, kita akan mengkonfigurasi varnish di bagian depan web server Apache. Varnish akan berjalan di bawah http port 80, dan setiap permintaan dari klien akan ditangani olehnya, sebelum dikirim ke server web Apache yang berjalan di port 8080.

- Konfigurasi Backend

Buka direktori konfigurasi 'varnish' dan buat cadangan file default 'default.vcl'.

cd /etc/varnish/
cp default.vcl default.vcl.aseli

Edit konfigurasi varnish 'default.vcl' menggunakan editor vim.

vim default.vcl

Tentukan konfigurasi 'backend' pada baris 16. Backend untuk setup kita adalah Apache, dan dijalankan pada port 8080. Jadi konfigurasi varnish untuk setup apache kita adalah sebagai berikut:

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

Simpan dan keluar.

- Menjalankan Pernis di Port 80

Selanjutnya, kita perlu mengubah port varnish default. Port default untuk varnish adalah '6081' dan '6082', dan kita perlu mengubah port tersebut ke port http 80 (hanya untuk alamat publik).

Edit konfigurasi parameter varnish di direktori '/etc/default'.

cd /etc/default/
vim varnish

Edit baris 'DAEMON_OPTS', ubah port default '6081' untuk alamat publik dengan port http standar '80' seperti yang ditunjukkan di bawah ini.

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s malloc,256m"

Simpan dan keluar.

Selanjutnya, kita perlu mengedit file layanan varnish 'varnish.service'. Buka direktori '/lib/systemd/system' dan edit file layanan menggunakan vim.

cd /lib/systemd/system/
vim varnish.service

Pada baris 'ExecStart', ubah perintah varnish start seperti di bawah ini.

ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m

Simpan dan keluar.

Muat ulang konfigurasi layanan systemd lalu mulai ulang pernis.

systemctl daemon-reload
systemctl restart varnish

Sekarang periksa varnish dan pastikan itu berjalan pada port http 80.

netstat -plntu

Jadi Varnish sekarang berjalan di bawah port http 80 sebagai front-end untuk server web Apache, yang ada di port 8080.

Langkah 5 - Pengujian

Uji menggunakan perintah curl.

curl -I hakase-labs.co

Pastikan Anda mendapatkan header http seperti yang ditunjukkan di bawah ini.

Memeriksa dari browser web, URL server pengujian saya adalah: http://hakase-labs.co/. Pilih URL server Anda di sini.

Dan kami masih mendapatkan konten Apache.

Periksa log pernis menggunakan perintah 'varnishncsa'.

varnishncsa

Dan kami mendapatkan log hanya dari log akses Apache.

Instalasi dan konfigurasi pernis untuk server web Apache telah selesai.

Referensi

  • Tembolok Pernis
  • HTTPD Apache


Ubuntu
  1. Cara Menginstal HTTP Git Server Dengan Nginx di Ubuntu 16.04

  2. Cara Menginstal HTTP Git Server dengan Nginx di Ubuntu 20.04

  3. Cara Memasang Varnish Cache di Ubuntu 18.04 LTS

  1. Cara mempercepat Apache dengan cache HTTP Varnish di Ubuntu 18.04 LTS

  2. Cara Menginstal OpenLiteSpeed ​​HTTP Server dengan PHP di Ubuntu 18.04 LTS

  3. Cara Instal Jenkins Automation Server dengan Apache di Ubuntu 16.04

  1. Cara Menginstal OpenLiteSpeed ​​HTTP Server dengan PHP 7.1 di Ubuntu 16.04 LTS

  2. Cara Instal Jenkins Automation Server dengan Apache di Ubuntu 18.04

  3. Cara Menginstal HTTP Git Server dengan Nginx di Ubuntu 18.04 LTS