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

Instal Varnish Cache 6 untuk Apache/Nginx di CentOS 8

Varnish Cache adalah proxy HTTP terbalik yang kuat yang digunakan untuk mempercepat aplikasi web yang tersedia sebagai perangkat lunak Open-Source. Varnish menyimpan konten statis dan dinamis. Ini menangani semua permintaan masuk sebelum mereka mendarat di backend server web Anda. Itu duduk di antara browser web dan server web Apache atau Nginx. Cache pernis menyimpan semua permintaan halaman yang masuk dalam memori sehingga server web tidak perlu membuat halaman web yang sama berulang-ulang.

Dalam posting ini, kami akan menunjukkan cara menginstal cache Varnish dengan Apache dan Nginx di CentOS 8.

Prasyarat

  • Server yang menjalankan CentOS 8.
  • Kata sandi root dikonfigurasi di server Anda.

Memulai

Sebelum memulai, disarankan untuk memperbarui paket sistem Anda ke versi terbaru. Anda dapat memperbaruinya dengan menjalankan perintah berikut:

dnf update -y

Setelah semua paket diperbarui, Anda dapat melanjutkan ke langkah berikutnya.

Instal Pernis

Secara default, paket Varnish disertakan dalam repo default CentOS 8. Anda dapat menginstalnya dengan menjalankan perintah berikut:

dnf install varnish -y

Setelah menginstal Varnish, edit file konfigurasi default Varnish dan tentukan alamat yang didukung server web Nginx atau Apache.

nano /etc/varnish/default.vcl

Ubah baris berikut:

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

Simpan dan tutup file setelah Anda selesai.

Konfigurasikan Pernis

Secara default, Varnish mendengarkan pada port 6081. Jadi, Anda perlu mengonfigurasi Varnish untuk mendengarkan pada port 80. Anda dapat mengonfigurasinya dengan mengedit file varnish.service:

nano /lib/systemd/system/varnish.service

Temukan baris berikut:

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

Ganti dengan baris berikut:

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

Simpan dan tutup file, lalu muat ulang daemon systemd untuk menerapkan perubahan:

systemctl daemon-reload

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

systemctl start varnish
systemctl enable varnish

Anda juga dapat memeriksa status Varnish dengan perintah berikut:

systemctl status varnish

Anda akan mendapatkan output berikut:

? varnish.service - Varnish Cache, a high-performance HTTP accelerator
   Loaded: loaded (/usr/lib/systemd/system/varnish.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-03-12 04:17:32 EST; 4s ago
  Process: 6391 ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m (code=exited, status=0/SUCCESS)
 Main PID: 6392 (varnishd)
    Tasks: 217
   Memory: 99.5M
   CGroup: /system.slice/varnish.service
           ??6392 /usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
           ??6402 /usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

Mar 12 04:17:32 masternode systemd[1]: Starting Varnish Cache, a high-performance HTTP accelerator...
Mar 12 04:17:32 masternode varnishd[6391]: Debug: Version: varnish-6.0.6 revision 29a1a8243dbef3d973aec28dc90403188c1dc8e7
Mar 12 04:17:32 masternode varnishd[6391]: Debug: Platform: Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Mar 12 04:17:32 masternode varnishd[6392]: Version: varnish-6.0.6 revision 29a1a8243dbef3d973aec28dc90403188c1dc8e7
Mar 12 04:17:32 masternode varnishd[6392]: Platform: Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Mar 12 04:17:32 masternode varnishd[6391]: Debug: Child (6402) Started
Mar 12 04:17:32 masternode varnishd[6392]: Child (6402) Started
Mar 12 04:17:32 masternode varnishd[6392]: Child (6402) said Child starts
Mar 12 04:17:32 masternode systemd[1]: Started Varnish Cache, a high-performance HTTP accelerator.

Pada titik ini, Varnish dimulai dan mendengarkan pada port 80. Anda dapat memeriksanya dengan perintah berikut:

ss -antpl | grep varnishd

Anda akan mendapatkan output berikut:

LISTEN    0         10               127.0.0.1:34977            0.0.0.0:*        users:(("varnishd",pid=1532,fd=11))                                            
LISTEN    0         128                0.0.0.0:80               0.0.0.0:*        users:(("cache-main",pid=1542,fd=6),("varnishd",pid=1532,fd=6))                
LISTEN    0         128                   [::]:80                  [::]:*        users:(("cache-main",pid=1542,fd=7),("varnishd",pid=1532,fd=7))                
LISTEN    0         10                   [::1]:34909               [::]:*        users:(("varnishd",pid=1532,fd=10))                                            

Pada titik ini, Varnish diinstal dan dikonfigurasi. Sekarang Anda dapat melanjutkan ke langkah berikutnya.

Instal dan Konfigurasi Nginx agar Bekerja dengan Varnish

Pertama, Anda perlu menginstal paket Nginx ke server Anda. Anda dapat menginstalnya dengan perintah berikut:

dnf install nginx -y

Setelah terinstal, Anda perlu mengubah port mendengarkan Nginx dari 80 menjadi 8080. Anda dapat melakukannya dengan mengedit file konfigurasi default Nginx:

nano /etc/nginx/nginx.conf

Ubah baris berikut:

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

Simpan dan tutup file kemudian verifikasi Nginx untuk kesalahan sintaks menggunakan perintah berikut:

nginx -t

Anda akan mendapatkan output berikut:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Selanjutnya, mulai layanan Nginx dan aktifkan untuk memulai saat reboot sistem:

systemctl start nginx
systemctl enable nginx

Anda juga dapat memverifikasi port mendengarkan Nginx dengan perintah berikut:

ss -antpl | grep 8080

Anda akan mendapatkan output berikut:

LISTEN    0         128                0.0.0.0:8080             0.0.0.0:*        users:(("nginx",pid=5569,fd=8),("nginx",pid=5568,fd=8))                        
LISTEN    0         128                   [::]:8080                [::]:*        users:(("nginx",pid=5569,fd=9),("nginx",pid=5568,fd=9))                        

Pada titik ini, cache Varnish diinstal dan dikonfigurasi untuk meneruskan semua permintaan yang datang pada port 80 ke server web Nginx yang mendengarkan pada port 8080.

Anda dapat memverifikasi apakah cache Varnish berfungsi atau tidak dengan perintah berikut:

curl -I http://localhost

Anda akan mendapatkan output berikut:

HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Fri, 12 Mar 2021 09:18:32 GMT
Content-Type: text/html
Content-Length: 4057
Last-Modified: Mon, 07 Oct 2019 21:16:24 GMT
ETag: "5d9bab28-fd9"
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.0)
Accept-Ranges: bytes
Connection: keep-alive

Instal dan Konfigurasi Apache untuk Bekerja dengan Varnish

Pertama, Anda perlu menginstal paket server web Apache ke sistem Anda. Anda dapat menginstalnya dengan perintah berikut:

dnf install httpd -y

Setelah menginstal Apache, edit file konfigurasi default Apache dan ubah port mendengarkan dari 80 menjadi 8080.

nano /etc/httpd/conf/httpd.conf

Ubah baris berikut:

Listen 8080

Simpan dan tutup file kemudian mulai layanan Apache dan aktifkan untuk memulai pada sistem reboot dengan perintah berikut:

systemctl start httpd
systemctl enable httpd

Anda juga dapat memverifikasi port mendengarkan Apache dengan perintah berikut:

ss -antpl | grep httpd

Anda akan mendapatkan output berikut:

LISTEN    0         128                      *:8080                   *:*        users:(("httpd",pid=7556,fd=4),("httpd",pid=7555,fd=4),("httpd",pid=7554,fd=4),("httpd",pid=7552,fd=4))

Pada titik ini, cache Varnish diinstal dan dikonfigurasi untuk meneruskan semua permintaan yang datang pada port 80 ke server web Apache yang mendengarkan pada port 8080.

Anda dapat memverifikasi apakah cache Varnish berfungsi atau tidak dengan perintah berikut:

curl -I http://localhost

Anda akan mendapatkan output berikut:

Date: Fri, 12 Mar 2021 09:21:14 GMT
Server: Apache/2.4.37 (centos)
Content-Location: index.html.zh-CN
Vary: negotiate,accept-language
TCN: choice
Last-Modified: Fri, 14 Jun 2019 03:37:43 GMT
ETag: "fa6-58b405e7d6fc0;5bd5365602e05"
Accept-Ranges: bytes
Content-Length: 4006
Content-Type: text/html; charset=UTF-8
Content-Language: zh-cn
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.0)
Connection: keep-alive

Bekerja dengan Baris Perintah Varnish

Varnish hadir dengan beberapa utilitas berguna yang membantu Anda memantau dan mengontrol Varnish.

varnishadm adalah utilitas baris perintah yang digunakan untuk membuat daftar backend yang dikonfigurasi.

varnishadm

Anda akan melihat output berikut:

200        
-----------------------------
Varnish Cache CLI 1.0
-----------------------------
Linux,4.18.0-193.6.3.el8_2.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
varnish-6.0.6 revision 29a1a8243dbef3d973aec28dc90403188c1dc8e7

Type 'help' for command list.
Type 'quit' to close CLI session.

Sekarang, jalankan perintah berikut untuk membuat daftar semua backend:

varnish> backend.list

Anda akan melihat output berikut:

200        
Backend name                   Admin      Probe                Last updated
boot.default                   probe      Healthy (no probe)   Sat, 13 Mar 2021 03:00:02 GMT

log pernis

Utilitas varnishlog digunakan untuk menampilkan log dari semua permintaan pengguna.

varnishlog

Anda akan mendapatkan output berikut:

*   << BeReq    >> 6         
-   Begin          bereq 5 fetch
-   VCL_use        boot
-   Timestamp      Start: 1615604631.507187 0.000000 0.000000
-   BereqMethod    GET
-   BereqURL       /
-   BereqProtocol  HTTP/1.1
-   BereqHeader    Host: 69.87.218.214
-   BereqHeader    Upgrade-Insecure-Requests: 1
-   BereqHeader    User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36
-   BereqHeader    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
-   BereqHeader    Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
-   BereqHeader    X-Forwarded-For: 106.213.193.241
-   BereqHeader    Accept-Encoding: gzip
-   BereqHeader    X-Varnish: 6
-   VCL_call       BACKEND_FETCH
-   VCL_return     fetch
-   BackendOpen    31 boot.default 127.0.0.1 8080 127.0.0.1 58860
-   BackendStart   127.0.0.1 8080
-   Timestamp      Bereq: 1615604631.507458 0.000270 0.000270
-   Timestamp      Beresp: 1615604631.507844 0.000657 0.000386
-   BerespProtocol HTTP/1.1
-   BerespStatus   200
-   BerespReason   OK
-   BerespHeader   Server: nginx/1.14.1
-   BerespHeader   Date: Sat, 13 Mar 2021 03:03:51 GMT
-   BerespHeader   Content-Type: text/html
-   BerespHeader   Content-Length: 4057
-   BerespHeader   Last-Modified: Mon, 07 Oct 2019 21:16:24 GMT

status pernis

Perintah varnishstat memberi Anda informasi tentang statistik dalam memori, penyimpanan, thread yang dibuat, dan objek yang dihapus.

varnishstat

Anda akan melihat layar berikut:

pernis

Perintah varnishtop membaca log memori bersama varnishd dan menyajikan daftar entri log yang paling sering muncul secara terus-menerus diperbarui.

varnishadm

Anda akan melihat layar berikut:

pernis

Varnishhist mem-parsing log pernis dan mencetak n permintaan terakhir dengan pemrosesannya.

varnishadm

Anda akan melihat layar berikut:

Kesimpulan

Dalam panduan di atas, Anda telah mempelajari cara menginstal dan mengonfigurasi cache Varnish dengan server web Apache dan Nginx. Anda sekarang dapat menerapkan cache Varnish di lingkungan produksi dan mempercepat kinerja situs web Anda. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.


Cent OS
  1. Cara Memasang dan Mengatur Varnish Cache 6 dengan Nginx di CentOS 8

  2. Cara Menginstal Cache Pernis di CentOS

  3. Cara Menginstal Varnish Cache 4 di CentOS 7

  1. Cara Menginstal Sertifikat SSL di Apache untuk CentOS 7

  2. Cara Instal Apache Cassandra di CentOS 8

  3. Cara Instal Varnish Cache di CentOS 8

  1. Cara Menginstal Nginx di CentOS 7

  2. Cara Instal Varnish Cache dengan Apache di CentOS 7

  3. Instal Varnish Cache 5.1 untuk Apache di Debian 9 / Ubuntu 16.04