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 New York Times.
Dalam tutorial ini, kami akan menunjukkan cara menginstal dan mengkonfigurasi akselerator HTTP pernis 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 CentOS 7.
Apa yang akan kami lakukan
- Instal Apache di CentOS 7
- Konfigurasi Apache pada port 8080
- Instal Pernis di CentOS 7
- Konfigurasikan Varnish sebagai proxy terbalik untuk Apache
- Konfigurasi Firewalld
- Pengujian
Prasyarat
- Server CentOS 7
- Hak istimewa root
Langkah 1 - Instal dan konfigurasikan Apache di CentOS 7
Kami akan menginstal server web Apache/httpd dari repositori CentOS 7, dan kemudian mengkonfigurasi server yang akan berjalan pada port 8080.
Instal Apache/httpd menggunakan perintah yum di bawah ini.
yum -y install httpd
Setelah penginstalan selesai, jalankan layanan httpd dan aktifkan untuk dijalankan saat boot sistem menggunakan perintah di bawah ini.
systemctl start httpd
systemctl enable httpd
Jadi layanan httpd sekarang berjalan. Periksa dengan menggunakan perintah netstat atau curl seperti yang ditunjukkan di bawah ini.
netstat -plntu
curl -I localhost
Jadi dengan ini, server web Apache/httpd telah diinstal.
Langkah 2 - Konfigurasi Apache pada port 8080
Pada langkah ini, kita akan mengkonfigurasi web server Apache/httpd untuk dijalankan pada port 8080. Untuk itu, kita harus mengedit file konfigurasi 'httpd.conf' terlebih dahulu.
Buka direktori konfigurasi Apache dan edit file httpd.conf.
cd /etc/httpd/
vim conf/httpd.conf
Ubah port default 80 menjadi 8080 pada baris 'Listen'.
Listen 8080
Simpan dan keluar.
Sekarang uji konfigurasi dan pastikan tidak ada kesalahan. Kemudian restart layanan apache/httpd.
apachectl configtest
systemctl restart httpd
Sekarang periksa kembali menggunakan netstat, dan pastikan web server berjalan pada port 8080.
netstat -plntu
Langkah 3 - Instal Pernis di CentOS 7
Pada langkah ini, kami akan menginstal akselerator HTTP performa tinggi Varnish. Ini tersedia di repositori EPEL (Extra Packages for Enterprise Linux), jadi kita perlu menginstal repo sebelum menginstal Varnish.
Instal repositori EPEL menggunakan perintah berikut.
yum -y install epel-release
Sekarang instal Varnish dari repositori EPEL menggunakan perintah yum di bawah ini.
yum -y install varnish
Setelah penginstalan selesai, mulai Varnish dan tambahkan untuk diluncurkan saat boot sistem menggunakan perintah systemctl di bawah ini.
systemctl start varnish
systemctl enable varnish
Secara default, Varnish akan menggunakan port 6081 dan 6082. Periksa menggunakan perintah netstat di bawah ini.
netstat -plntu
Dan pastikan kita mendapatkan port Varnish default seperti di bawah ini.
Langkah 4 - Konfigurasikan Varnish sebagai proxy terbalik untuk Apache
Jadi Varnish diinstal, dan sekarang kita akan mengkonfigurasinya sebagai proxy terbalik untuk server web Apache. Varnish akan berjalan pada port HTTP 80 secara default.
Buka direktori konfigurasi Varnish dan edit konfigurasi default di 'default.vcl'.
cd /etc/varnish
vim default.vcl
Tentukan bagian backend default. Kami menggunakan web server Apache yang berjalan pada port 8080, sehingga konfigurasinya seperti di bawah ini.
backend default {
.host = "127.0.0.1";
.port = "8080";
}
Simpan dan keluar.
Selanjutnya, konfigurasikan Varnish untuk dijalankan dengan port HTTP 80. Edit file 'varnish.params' yang ada di direktori konfigurasi Varnish.
vim varnish.params
Dalam file ini, ubah nilai baris 'VARNASH_LISTEN_PORT' menjadi HTTP port 80.
VARNISH_LISTEN_PORT=80
Simpan dan keluar.
Sekarang restart Varnish dan periksa statistik menggunakan perintah netstat.
systemctl restart varnish
netstat -plntu
Pastikan Anda memiliki hasil yang mirip dengan yang ditunjukkan di bawah ini.
Pernis HTTP Accelerator telah diinstal, dan sekarang bertindak sebagai proxy terbalik untuk server web Apache.
Langkah 5 - Konfigurasi Firewalld
Pada langkah ini, kita akan menginstal Firewalld dan membuka port HTTP dan HTTPS baru.
Instal Firewalld menggunakan perintah yum berikut.
yum -y install firewalld
Sekarang mulai layanan dan aktifkan untuk berjalan secara otomatis saat boot sistem.
systemctl start firewalld
systemctl enable firewalld
Selanjutnya, buka port baru untuk permintaan HTTP dan HTTPS menggunakan perintah firewalld-cmd, seperti yang ditunjukkan di bawah ini.
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
Muat ulang konfigurasi firewall.
Itu dia. Konfigurasi Firewalld telah selesai.
Langkah 6 - Pengujian
Untuk menguji Varnish, pertama-tama jalankan perintah curl berikut.
curl -I hakase-labs.co
Dan dalam output, pastikan Anda mendapatkan header HTTP yang mirip dengan yang ditunjukkan pada tangkapan layar berikut.
Selanjutnya, uji Varnish dari browser. Untuk ini, buka browser web Anda dan ketik URL atau alamat server.
http://hakase-labs.co
Pastikan itu berfungsi seperti di bawah ini.
Catatan: Jika Anda mendapatkan '403' Forbidden, Anda perlu membuat file 'index.html' pada direktori '/var/www/html'.
cd /var/www/html/
echo '<h1><center> Varnish- Apache - hakase-labs</center></h1>' > index.html
Selanjutnya, uji log pernis menggunakan perintah di bawah ini.
varnishncsa
Dan Anda akan mendapatkan log akses untuk pernis.
Itu dia. Akselerator HTTP Varnish telah diinstal, dan sekarang berjalan sebagai proxy terbalik untuk server web Apache.
Referensi
- https://varnish-cache.org/