Tembolok Pernis (biasanya disebut sebagai Pernis ) adalah HTTP proxy-terbalik sumber terbuka, kuat, dan cepat akselerator dengan arsitektur modern dan bahasa konfigurasi yang fleksibel. Menjadi proxy terbalik berarti itu adalah perangkat lunak yang dapat Anda gunakan di depan server web Anda (yang merupakan server asal atau backend) seperti Nginx , untuk menerima permintaan HTTP klien dan meneruskan ke server asal untuk diproses. Dan itu memberikan respons dari server asal ke klien.
Pernis bertindak sebagai perantara antara Nginx dan klien tetapi dengan beberapa manfaat kinerja. Tujuan utamanya adalah untuk membuat aplikasi Anda memuat lebih cepat, dengan bekerja sebagai mesin caching. Ini menerima permintaan dari klien dan meneruskannya ke backend sekali untuk menyimpan konten yang diminta (menyimpan file dan fragmen file dalam memori). Kemudian semua permintaan di masa mendatang untuk konten yang persis sama akan disajikan dari cache.
Ini membuat aplikasi web Anda memuat lebih cepat dan secara tidak langsung meningkatkan kinerja keseluruhan server web Anda karena Varnish akan menyajikan konten dari memori alih-alih Nginx yang memproses file dari disk penyimpanan.
Selain caching, Varnish juga memiliki beberapa kasus penggunaan lain termasuk router permintaan HTTP, dan penyeimbang beban, firewall aplikasi web, dan banyak lagi.
Pernis dikonfigurasi menggunakan Bahasa Konfigurasi Varnish built bawaan yang sangat dapat diperluas (VCL ) yang memungkinkan Anda untuk menulis kebijakan tentang bagaimana permintaan yang masuk harus ditangani. Anda dapat menggunakannya untuk membuat solusi, aturan, dan modul yang disesuaikan.
Pada artikel ini, kita akan melalui langkah-langkah untuk menginstal Nginx server web dan Varnish Cache 6 pada CentOS 8 fresh yang baru atau RHEL 8 server. RHEL 8 pengguna harus memastikan bahwa mereka mengaktifkan langganan redhat.
Untuk menyiapkan, LEMP complete lengkap tumpukan alih-alih menginstal Nginx server web saja, lihat panduan berikut.
- Cara Menginstal LEMP Server di CentOS 8
- Cara Memasang Server LEMP di RHEL 8
Langkah 1:Instal Server Web Nginx di CentOS/RHEL 8
1. CentOS/RHEL 8 dikirimkan dengan versi terbaru Nginx perangkat lunak server web, jadi kami akan menginstalnya dari repositori default menggunakan perintah dnf berikut.
# dnf update # dnf install nginx
2. Sekali Nginx terinstal, Anda harus memulai, mengaktifkan, dan memverifikasi status menggunakan perintah systemctl berikut.
# systemctl start nginx # systemctl enable nginx # systemctl status nginx
Verifikasi Status Layanan Nginx
3. Jika Anda sedikit penasaran, Anda juga dapat memeriksa soket Nginx TCP, yang secara default berjalan pada port 80, menggunakan perintah ss berikut.
# ss -tpln
Periksa Port TCP Nginx
4. Jika Anda menjalankan firewall pada sistem, pastikan untuk memperbarui aturan firewall untuk mengizinkan permintaan ke server web.
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --reload
Langkah 2:Memasang Varnish Cache 6 di CentOS/RHEL 8
5. CentOS/RHEL 8 menyediakan DNF Tembolok Pernis modul secara default yang berisi versi 6.0 LTS (Dukungan Jangka Panjang ).
Untuk menginstal modul, jalankan perintah berikut.
# dnf module install varnish
Instal Varnish Cache di CentOS 8
6. Setelah pemasangan modul selesai, Anda dapat mengonfirmasi versi Varnish diinstal pada sistem Anda.
# varnishd -V
Periksa Versi Pernis
7. Setelah menginstal Varnish Cache , perintah utama yang dapat dieksekusi dipasang di bawah /usr/sbin/varnishd dan file konfigurasi pernis terletak di /etc/varnish/ .
File /etc/varnish/default.vcl adalah file konfigurasi pernis utama yang ditulis menggunakan VCL dan /etc/varnish/secret adalah file rahasia pernis.
8. Selanjutnya, mulai Pernis layanan, aktifkan untuk memulai otomatis selama boot sistem dan konfirmasikan bahwa itu aktif dan berjalan.
# systemctl start varnish # systemctl enable varnish # systemctl status varnish
Verifikasi Cache Pernis di CentOS 8
Langkah 3:Mengonfigurasi Nginx untuk Bekerja dengan Varnish Cache
9. Di bagian ini, kami akan menunjukkan cara mengonfigurasi Varnish Cache untuk berjalan di depan Nginx . Secara default Nginx mendengarkan pada port 80 , biasanya setiap blok server (atau host virtual) dikonfigurasi untuk mendengarkan pada port ini.
Misalnya, lihat blok server nginx default yang dikonfigurasi di file konfigurasi utama (/etc/nginx/nginx.conf ).
# vi /etc/nginx/nginx.conf
Cari bagian blok server seperti yang ditunjukkan pada tangkapan layar berikut.
Konfigurasi Blok Server Nginx
10. Untuk menjalankan Varnish di depan Nginx , Anda harus mengubah port Nginx default dari 80 ke 8080 (atau port lain pilihan Anda).
Ini harus dilakukan di semua file konfigurasi blok server di masa mendatang (biasanya dibuat di bawah /etc/nginx/conf.d/ ) untuk situs atau aplikasi web yang ingin Anda layani melalui Varnish .
Misalnya, blok server untuk situs pengujian kami tecmint.lan
adalah /etc/nginx/conf.d/tecmint.lan.conf dan memiliki konfigurasi berikut.
server { listen 8080; server_name www.tecmint.lan; root /var/www/html/tecmint.lan/; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
Konfigurasi Blok Server Nginx
Penting :Ingatlah untuk menonaktifkan blok server default dengan mengomentari bagian konfigurasinya di /etc/nginx/nginx.conf file seperti yang ditunjukkan pada tangkapan layar berikut. Ini memungkinkan Anda untuk mulai menjalankan situs/aplikasi web lain di server Anda, jika tidak, Nginx akan selalu mengarahkan permintaan ke blok server default.
Nonaktifkan Blok Server Nginx
11. Setelah konfigurasi selesai, periksa file konfigurasi apakah ada kesalahan dan mulai ulang layanan Nginx untuk menerapkan perubahan terbaru.
# nginx -t # systemctl restart nginx
Periksa Sintaks Konfigurasi Nginx
12. Selanjutnya, untuk menerima HTTP permintaan dari klien, kita perlu mengonfigurasi Varnish untuk dijalankan pada port 80 . Tidak seperti pada versi Varnish Cache sebelumnya di mana perubahan ini dibuat di Varnish file lingkungan (yang sekarang tidak digunakan lagi), dalam versi 6.0 dan di atasnya.
Kita perlu membuat perubahan yang diperlukan dalam file layanan Varnish. Jalankan perintah berikut untuk membuka file layanan yang sesuai untuk diedit.
# systemctl edit --full varnish
Temukan baris berikut dan ubah nilai -a
switch, yang menentukan alamat dan port mendengarkan. Setel port ke 80 seperti yang ditunjukkan pada tangkapan layar berikut.
Perhatikan jika Anda tidak menentukan alamat, varnishd akan mendengarkan semua IPv4 . yang tersedia dan IPv6 antarmuka aktif di server.
ExecStart=/usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256m
Ubah Port Pendengaran Varnish
Simpan perubahan dalam file dan keluar.
13. Selanjutnya, Anda perlu mendefinisikan server backend yang Varnish akan mengunjungi untuk mengambil konten dari. Ini dilakukan di file konfigurasi utama Varnish.
# vi /etc/varnish/default.vcl
Cari bagian konfigurasi backend default dan ubah string “default ” ke server1 (atau nama apa pun pilihan Anda untuk mewakili server asal Anda). Kemudian setel port ke 8080 (atau port pendengar Nginx yang Anda tentukan di blok server Anda).
backend server1 { .host = "127.0.0.1"; .port = "8080"; }
Setel Server Backend Varnish Default
Untuk panduan ini, kami menjalankan Varnish dan Nginx di server yang sama. Jika server web Nginx Anda berjalan di host yang berbeda. Misalnya, server lain dengan alamat 10.42.0.247 , lalu atur .host
parameter seperti yang ditunjukkan.
backend server1 { .host = "10.42.0.247"; .port = "8080"; }
Simpan file dan tutup.
14. Selanjutnya, Anda perlu memuat ulang systemd konfigurasi manager karena perubahan terbaru dalam file layanan Varnish, lalu mulai ulang layanan Varnish untuk menerapkan perubahan sebagai berikut.
# systemctl daemon-reload # systemctl restart varnish
15. Sekarang konfirmasikan bahwa Nginx dan Pernis mendengarkan pada TCP . yang dikonfigurasi soket.
# ss -tpln
Konfirmasi Port Nginx dan Varnish
Langkah 4:Menguji Penyiapan Cache Pernis Nginx
16. Selanjutnya, verifikasi halaman web disajikan melalui Varnish Cache sebagai berikut. Buka browser web dan navigasikan menggunakan IP server atau FDQN seperti yang ditunjukkan pada tangkapan layar berikut.
http://www.tecmin.lan OR http://10.42.0.144
Verifikasi Halaman Nginx Dilayani Via Varnish Cache
17. Atau, gunakan perintah curl seperti yang ditunjukkan. Gunakan alamat IP server Anda atau FQDN situs web atau gunakan 127.0.0.1 atau localhost jika Anda menguji secara lokal.
# curl -I http:///www.tecmint.lan
Verifikasi Halaman Cache Nginx Varnish Menggunakan Curl
Utilitas Administrasi Cache Pernis Berguna
18. Di bagian terakhir ini, kami akan menjelaskan secara singkat beberapa program utilitas berguna yang Varnish Cache dikirimkan bersama, yang dapat Anda gunakan untuk mengontrol pernis , akses log dalam memori dan statistik keseluruhan dan banyak lagi.
pernis
pernis utilitas untuk mengontrol instance Varnish yang sedang berjalan. Ini membuat koneksi CLI ke varnishd. Misalnya, Anda dapat menggunakannya untuk membuat daftar backend yang dikonfigurasi seperti yang ditunjukkan pada tangkapan layar berikut (baca man varnishadm untuk informasi lebih lanjut).
# varnishadm varnish> backend.list
Mencantumkan Backend yang Dikonfigurasi
log pernis
log pernis utilitas menyediakan akses ke data khusus permintaan. Menawarkan informasi tentang klien dan permintaan tertentu (baca man varnishlog untuk informasi lebih lanjut).
# varnishlog
Periksa Info Tentang Klien dan Permintaan
status pernis
status pernis juga dikenal sebagai statistik pernis , yang memberi Anda pandangan sekilas tentang kinerja Varnish saat ini dengan menyediakan akses ke statistik dalam memori seperti cache yang hilang dan hilang, informasi tentang penyimpanan, utas yang dibuat, objek yang dihapus (baca man varnishstat untuk informasi lebih lanjut).
# varnishstat
Tampilkan Statistik Pernis
pernis
pernis utilitas membaca log memori bersama dan menyajikan daftar entri log yang paling sering muncul yang terus diperbarui (baca man varnishtop untuk informasi lebih lanjut).
# varnishtop
Lihat log Memori Bersama
pernis
Seorang pernis (sejarah pernis ) utilitas mengurai log pernis dan mengeluarkan histogram yang terus diperbarui yang menunjukkan distribusi n terakhir permintaan dengan pemrosesan mereka (baca man varnishhist untuk informasi lebih lanjut).
# varnishhist
Tampilkan Histogram Permintaan
Itu saja! Dalam panduan ini, kami telah menunjukkan cara memasang Varnish Cache dan jalankan di depan Nginx HTTP server untuk mempercepat pengiriman konten web di CentOS/RHEL 8 .
Setiap pemikiran atau pertanyaan tentang panduan ini dapat dibagikan menggunakan formulir umpan balik di bawah ini. Untuk informasi lebih lanjut, baca dokumentasi Varnish Cache 6.0.
Kelemahan utama Varnish Cache adalah kurangnya dukungan asli untuk HTTPS . Untuk mengaktifkan HTTPS di situs web/aplikasi Anda, Anda perlu mengonfigurasi proxy penghentian SSL/TLS agar berfungsi bersama dengan Varnish Cache untuk melindungi situs Anda. Di artikel kami berikutnya, kami akan menunjukkan cara mengaktifkan HTTPS untuk Varnish Cache menggunakan Hitch di CentOS/RHEL 8 .
Berbagi itu Peduli…Berbagi di FacebookBerbagi di TwitterBerbagi di LinkedinBerbagi di Reddit