Ini melanjutkan panduan lama saya soal Nginx FastCGI Cache yang dapat benar-benar meringankan beban kerja VPS dan mempercepat akses websitenya pun. Secara keseluruhan kerjanya bagus tapi agak rewel pada urusan cookie dan sesi pengunjung, sering tak dikenali jadi susah bikin login atau logout akun apabila ada. Namun kalau konten sahabat bersifat statis dan tak berharap adanya interaksi pengunjung selain membaca karenanya ini solusi yang pas.
Yak, intronya lumayan. ? Nah… kalau sahabat pernah gunakan microcache ini atau sedang mencari bagaimana caranya agar Nginx benar – benar mengcache semuanya. Jadi url yang terdapat query string akan diproses oleh PHP-FPM. Kalau isinya sama persis karenanya dilayankan dari cache saja sekalian kan? ?
Saya contohkan dulu dengan adanya url servernesia.com/url-konten-disini
dan servernesia.com/url-konten-disini?223
itu dianggap hal yang berbeda oleh Nginx dan tak dicache yang terdapat query stringnya. Mudahnya kalau ada tanda tanya (?
) pada format urlnya karenanya itu yakni yang dinamakan query string.
Solusi pertama-tama yakni dengan membangun aturan baru yang memaksanya tetap dicache. Misal query string yang diaplikasikan yakni ?nama_qs=123abc
karenanya silahkan menej nginx.conf
dan masukkan pada blok location .php$ {}
:
if ($nama_qs != ){
set $tanpa_cache 0;
}
Dimana nama_qs
ini yakni variabel query string yang akan kita abaikan. Jadi gantikan namanya pun dengan sesuai yang sahabat gunakan.
Alternatifnya dengan mengedit konfigurasi Nginx (nginx.conf
) dan letakkan kode berikut pada blok http{}
:
map $request_uri $request_path {
(?[^?]*) $captured_path;
}
Ini akan menangkap url konten aslinya tanpa query string, akan dikerjakan petanya oleh Nginx.
Kemudian pada blok location .php$ {}
menej seperti ini
fastcgi_cache_key $scheme$host$request_path$request_method;
Akhirnya kalau telah mengikuti diantara karenanya reload Nginx:
service nginx reload
Dan silahkan dites lagi apakah benar dicache segala atau tak kontennya. Dapat dengan curl
seperti di panduan pengaturan FastCGI cache sebelumnya atau coba saja dimatikan mesin PHPnya. ?
Sumber https://servernesia.com