GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Memasang dan Mengatur Varnish Cache 6 dengan Nginx di CentOS 8

Varnish Cache adalah akselerator HTTP reverse-proxy gratis dan open-source untuk situs web dan API. Itu dapat diinstal sebagai proxy terbalik di depan server web mana pun yang berjalan di HTTP. Itu duduk di antara server web dan browser dan menyimpan halaman web, cookie, dan data lainnya ke dalam memori. Cache ini akan digunakan untuk melayani semua permintaan di masa mendatang untuk konten yang persis sama. Ini akan meningkatkan beban aplikasi web dan meningkatkan kinerja server web hingga 300+ kali lipat.

Dalam tutorial ini, kita akan menyiapkan server Nginx sebagai server backend dan mengonfigurasinya untuk mendengarkan pada port 8080, kemudian mengonfigurasi cache Varnish untuk mendengarkan pada port HTTP default 80.

Prasyarat

  • Server yang menjalankan CentOS 8.
  • Sandi root dikonfigurasi untuk server.

Instal dan Konfigurasi Server Web Nginx

Pertama, Anda perlu menginstal server web Nginx di sistem Anda. Anda dapat menginstalnya dengan perintah berikut:

dnf install nginx -y

Setelah terinstal, mulai layanan Nginx dan aktifkan untuk memulai pada sistem reboot dengan perintah berikut:

systemctl start nginx
systemctl enable nginx

Secara default, Nginx mendengarkan pada port 80. Jadi, Anda perlu mengonfigurasi Nginx untuk mendengarkan pada port 80. Anda dapat mengonfigurasinya dengan mengedit file konfigurasi default Nginx:

nano /etc/nginx/nginx.conf

Temukan baris berikut:

        listen       80 default_server;
        listen       [::]:80 default_server;

Dan, ganti dengan baris berikut:

        listen       8080 default_server;
        listen       [::]:8080 default_server;

Simpan dan tutup file setelah Anda selesai. Kemudian, restart layanan Nginx untuk menerapkan perubahan:

systemctl restart nginx

Pada titik ini, server web Nginx diinstal dan mendengarkan pada port 8080. Anda dapat memeriksanya menggunakan perintah berikut:

netstat -tpln | grep 8080

Anda akan mendapatkan output berikut:

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      30367/nginx: master 
tcp6       0      0 :::8080                 :::*                    LISTEN      30367/nginx: master 

Instal Cache Pernis

Secara default, paket Varnish tersedia di repositori default CentOS 8. Anda dapat menginstalnya hanya dengan menjalankan perintah berikut:

dnf module install varnish

Setelah terinstal, mulai layanan Varnish dengan perintah berikut:

systemctl start varnish

Anda juga dapat memverifikasi versi cache Varnish yang diinstal dengan perintah berikut:

varnishd -V

Anda akan melihat output berikut:

varnishd (varnish-6.0.2 revision 0458b54db26cfbea79af45ca5c4767c7c2925a91)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2018 Varnish Software AS

Konfigurasi Pernis untuk Nginx

Selanjutnya, Anda perlu mengonfigurasi pernis agar berjalan di port 80 untuk menerima permintaan HTTP dari klien. Anda dapat mengonfigurasinya dengan mengedit file konfigurasi default Varnish:

systemctl edit --full varnish

Temukan baris berikut:

ExecStart=/usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256m

Dan, ganti dengan baris berikut:

ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

Simpan dan tutup file setelah Anda selesai.

Selanjutnya, Anda perlu menentukan server backend untuk Varnish. Anda dapat melakukannya dengan mengedit file konfigurasi utama Varnish /etc/varnish/default.vcl:

nano /etc/varnish/default.vcl

Ubah baris berikut:

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

Simpan dan tutup file setelah Anda selesai. Kemudian, muat ulang daemon systemd dengan perintah berikut:

systemctl daemon-reload

Selanjutnya, restart layanan Varnish dan aktifkan untuk memulai pada sistem reboot dengan perintah berikut:

systemctl restart varnish
systemcl enable varnish

Anda juga dapat memverifikasi status Varnish dengan perintah berikut:

systemctl status varnish

Anda akan mendapatkan output berikut:

? varnish.service - Varnish Cache, a high-performance HTTP accelerator
   Loaded: loaded (/etc/systemd/system/varnish.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-08-29 09:36:58 EDT; 12s ago
  Process: 30421 ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m (code=exited, status=0/SUCCESS)
 Main PID: 30424 (varnishd)
    Tasks: 217
   Memory: 91.8M
   CGroup: /system.slice/varnish.service
           ??30424 /usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
           ??30434 /usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

Aug 29 09:36:57 centos8 systemd[1]: Starting Varnish Cache, a high-performance HTTP accelerator...
Aug 29 09:36:58 centos8 varnishd[30421]: Debug: Version: varnish-6.0.2 revision 0458b54db26cfbea79af45ca5c4767c7c2925a91
Aug 29 09:36:58 centos8 varnishd[30421]: Debug: Platform: Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Aug 29 09:36:58 centos8 varnishd[30424]: Version: varnish-6.0.2 revision 0458b54db26cfbea79af45ca5c4767c7c2925a91
Aug 29 09:36:58 centos8 varnishd[30424]: Platform: Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Aug 29 09:36:58 centos8 varnishd[30421]: Debug: Child (30434) Started
Aug 29 09:36:58 centos8 varnishd[30424]: Child (30434) Started
Aug 29 09:36:58 centos8 varnishd[30424]: Child (30434) said Child starts
Aug 29 09:36:58 centos8 systemd[1]: Started Varnish Cache, a high-performance HTTP accelerator.

Anda sekarang dapat memverifikasi port mendengarkan Nginx dan Varnish dengan perintah berikut:

netstat -tpln | grep 80

Anda akan melihat output berikut:

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      30424/varnishd      
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      30367/nginx: master 
tcp6       0      0 :::80                   :::*                    LISTEN      30424/varnishd      
tcp6       0      0 :::8080                 :::*                    LISTEN      30367/nginx: master 

Konfigurasi SELinux dan Firewall

Secara default, SELinux diaktifkan di CentOS 8. Jadi, Anda perlu mengkonfigurasi SELinux untuk Varnish. Anda dapat mengkonfigurasinya dengan perintah berikut:

setsebool -P httpd_can_network_connect 1

Selanjutnya, Anda harus mengizinkan port 80 melalui firewalld. Anda dapat melakukannya dengan perintah berikut:

firewall-cmd --permanent --zone public --add-port 80/tcp
firewall-cmd --reload

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Uji Cache Pernis

Pada titik ini, cache Varnish diinstal dan dikonfigurasi dengan server web Nginx. Sekarang, waktunya untuk menguji apakah cache Varnish berfungsi atau tidak.

Anda dapat mengujinya menggunakan perintah curl seperti yang ditunjukkan di bawah ini:

curl -I http://localhost

Anda akan melihat output berikut:

																																																																																																																																																																																																																																																																																																																																																																		
HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Sat, 29 Aug 2020 13:53:44 GMT
Content-Type: text/html; charset=UTF-8
X-Powered-By: PHP/7.2.24
X-Varnish: 32800
Age: 0
Via: 1.1 varnish (Varnish/6.0)
Accept-Ranges: bytes
Connection: keep-alive

Kesimpulan

Selamat! Anda telah berhasil menginstal Varnish Cache dengan Nginx di CentOS 8. Saya harap Anda juga dapat mengkonfigurasi cache Varnish dengan server web Apache dengan mudah. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.


Cent OS
  1. Cara Menginstal Cache Pernis di CentOS

  2. Cara Menginstal Varnish Cache 4 di CentOS 7

  3. Cara menginstal Varnish dan phpMyAdmin pada CentOS 7 VPS dengan Nginx, MariaDB dan PHP-FPM

  1. Cara Menginstal Nextcloud dengan Nginx dan PHP 7.3 di CentOS 8

  2. Cara Menginstal ownCloud 9.1 dengan Nginx dan MariaDB di CentOS 7

  3. Cara Instal WordPress dengan HHVM dan Nginx di CentOS 7

  1. Cara Menginstal Nextcloud dengan Nginx dan PHP7-FPM di CentOS 7

  2. Cara Menginstal dan Mengonfigurasi Askbot dengan Nginx di CentOS 7

  3. Cara Menginstal Laravel 5.x dengan Nginx dan PHP-FPM 7.1 di CentOS 7