Tembolok Pernis (juga disebut sebagai Pernis ) adalah akselerator HTTP open-source berkinerja tinggi yang dirancang untuk mempercepat server web. Dalam artikel terakhir kami, kami telah menjelaskan cara mengatur Varnish Cache untuk Apache di CentOS 7 dan CentOS 8.
Dalam artikel ini, kami akan menunjukkan cara memasang dan menggunakan Varnish Cache sebagai front-end ke server HTTP Nginx di CentOS 7 . Panduan ini juga harus berfungsi pada RHEL 7 .
Persyaratan
- Sebuah CentOS 7 dengan Apache terinstal
- Sebuah CentOS 7 dengan alamat IP statis
Langkah 1:Instal Nginx Web Server di CentOS 7
1. Mulailah dengan menginstal Nginx HTTP server dari repositori perangkat lunak CentOS default menggunakan manajer paket YUM sebagai berikut.
# yum install nginx
2. Saat penginstalan selesai, mulai Nginx service untuk saat ini dan aktifkan untuk memulai secara otomatis saat boot sistem.
# systemctl start nginx # systemctl enable nginx # systemctl status nginx
3. Sekarang ubah aturan firewall sistem untuk mengizinkan paket masuk pada port 80 menggunakan perintah di bawah ini.
# firewall-cmd --zone=public --permanent --add-port=80/tcp # firewall-cmd --reload # firewall-cmd --zone=public --permanent --add-port=8080/tcp # firewall-cmd --reload
Langkah 2:Instal Varnish Cache di CentOS 7
4. Sekarang ada paket RPM yang telah dikompilasi sebelumnya untuk versi terbaru Varnish Cache 6 (yaitu 6,5 pada saat penulisan), oleh karena itu Anda perlu menambahkan repositori resmi Varnish Cache.
Sebelum itu, Anda perlu mengaktifkan repositori EPEL untuk menginstal beberapa paket ketergantungan seperti yang ditunjukkan.
# yum install -y epel-release
5. Selanjutnya, instal pygpgme , paket untuk menangani tanda tangan GPG dan yum-utils, kumpulan utilitas berguna yang memperluas fitur asli yum dengan berbagai cara.
# yum install pygpgme yum-utils
6. Sekarang buat file bernama /etc/yum.repos.d/varnishcache_varnish5.repo yang berisi konfigurasi repositori di bawah ini.
# vi /etc/yum.repos.d/varnishcache_varnish65.repo
Penting :Pastikan untuk mengganti el
dan 7
dalam konfigurasi di bawah ini dengan distribusi dan versi Linux Anda:
[varnishcache_varnish65] name=varnishcache_varnish65 baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/$basearch repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 [varnishcache_varnish65-source] name=varnishcache_varnish65-source baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/SRPMS repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300
7. Sekarang jalankan perintah di bawah ini untuk memperbarui cache yum lokal Anda dan menginstal paket cache pernis (jangan lupa untuk menerima kunci GPG dengan mengetikkan y
atau yes
saat menginstal paket):
# yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish65' # yum install varnish
8. Setelah menginstal Varnish Cache , executable utama akan diinstal sebagai /usr/sbin/varnishd dan file konfigurasi pernis terletak di /etc/varnish/ :
- /etc/varnish/default.vcl – ini adalah file konfigurasi varnish utama, ditulis menggunakan bahasa konfigurasi vanish (VCL).
9. Sekarang mulai layanan pernis, aktifkan untuk memulai secara otomatis selama boot sistem, dan verifikasi statusnya untuk memastikan bahwa itu aktif dan berjalan sebagai berikut.
# systemctl start varnish # systemctl enable varnish # systemctl status varnish
10. Anda dapat mengonfirmasi bahwa instalasi Varnish berhasil dengan melihat lokasi eksekusi Varnish dan versi yang diinstal pada sistem Anda.
$ which varnishd $ varnishd -V
Contoh Keluaran
varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64) Copyright (c) 2006 Verdens Gang AS Copyright (c) 2006-2020 Varnish Software
Langkah 3:Konfigurasi Nginx untuk Bekerja Dengan Varnish Cache
11. Pada langkah ini, Anda perlu mengonfigurasi Nginx agar berfungsi dengan Varnish Cache. Secara default Nginx mendengarkan pada port 80 , Anda harus mengubah port Nginx default menjadi 8080 jadi ini berjalan di belakang caching Varnish.
Buka file konfigurasi Nginx /etc/nginx/nginx.conf dan temukan barisnya, dengarkan 80 dan ubah untuk mendengarkan 8080 seperti pada blok server yang ditunjukkan pada tangkapan layar di bawah.
# vi /etc/nginx/nginx.conf
Catatan :Ini harus dilakukan di semua file konfigurasi blok server (biasanya dibuat di bawah /etc/nginx/conf.d/ ) untuk situs web yang ingin Anda layani melalui Varnish .
12. Selanjutnya, buka file konfigurasi layanan pernis dan temukan parameter ExecStart yang menentukan port yang didengarkan Varnish, dan ubah nilainya dari 6081 hingga 80 .
# systemctl edit --full varnish
Garisnya akan terlihat seperti yang ditunjukkan.
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
13. Selanjutnya, siapkan Nginx sebagai server backend untuk proxy Varnish, di /etc/varnish/default.vcl file konfigurasi.
# vi /etc/varnish/default.vcl
Temukan backend bagian, dan tentukan IP dan port host. Di bawah ini adalah konfigurasi backend default, setel ini untuk menunjuk ke server konten Anda yang sebenarnya.
backend default { .host = "127.0.0.1"; .port = "8080"; }
14. Setelah melakukan semua konfigurasi yang diperlukan, mulai ulang Nginx HTTPD dan cache Varnish untuk melakukan perubahan di atas.
# systemctl daemon-reload # systemctl restart nginx # systemctl restart varnish
Langkah 4:Uji Cache Pernis di Nginx
15. Terakhir, uji apakah cache Varnish diaktifkan dan berfungsi dengan layanan Nginx menggunakan perintah cURL di bawah ini untuk melihat header HTTP.
# curl -I http://localhost
Contoh Keluaran
HTTP/1.1 200 OK Server: nginx/1.16.1 Date: Wed, 06 Jan 2021 09:24:18 GMT Content-Type: text/html Content-Length: 4833 Last-Modified: Fri, 16 May 2014 15:12:48 GMT ETag: "53762af0-12e1" X-Varnish: 2 Age: 0 Via: 1.1 varnish (Varnish/6.5) Accept-Ranges: bytes Connection: keep-alive
Anda dapat menemukan informasi tambahan dari Varnish Cache Github Repository:https://github.com/varnishcache/varnish-cache
Dalam tutorial ini, kami menjelaskan cara menyiapkan Varnish Cache untuk server HTTP Nginx di CentOS 7. Gunakan formulir komentar di bawah untuk mengirimkan pertanyaan atau ide tambahan kepada kami.