Cara Mengatur Nginx FastCGI Cache di Ubuntu

Nginx FastCGI Cache meningkatkan kinerja situs web Anda dengan mengurangi beban pada server Ubuntu Anda. Ini sangat efektif untuk konten dinamis, memungkinkan Nginx menyajikan konten cache secara langsung tanpa menggunakan prosesor PHP. Ini mempercepat waktu respons dan menurunkan penggunaan sumber daya. Berikut adalah fitur dan manfaat utama Nginx FastCGI Cache untuk infrastruktur web Anda:

  • Pengiriman Konten yang Efisien: Nginx FastCGI Cache menyimpan keluaran konten dinamis, memungkinkan akses dan distribusi lebih cepat.
  • Mengurangi Beban Server: Menyajikan konten cache meminimalkan jumlah panggilan PHP, sehingga meringankan beban server.
  • Skalabilitas: Nginx FastCGI Cache membantu mengelola peningkatan lalu lintas tanpa mengurangi kecepatan seiring pertumbuhan situs web Anda.
  • Caching yang Dapat Disesuaikan: Opsi ini menawarkan fleksibilitas dalam mengatur kedaluwarsa cache, melewati, dan memperbarui kondisi agar sesuai dengan kebutuhan Anda.
  • Peningkatan Pengalaman Pengguna: Waktu muat situs web yang lebih cepat meningkatkan pengalaman pengguna, berdampak positif pada retensi pengunjung dan peringkat SEO.
  • Optimasi Sumber Daya: Mengoptimalkan pemanfaatan sumber daya server, sehingga menghasilkan penanganan permintaan bersamaan yang lebih efisien.
  • Proses Debug yang Mudah: Menyediakan mekanisme sederhana untuk melakukan debug dan memvalidasi konten cache, memastikan kelancaran pengoperasian.
  • Kesesuaian: Bekerja secara lancar dengan platform CMS populer, meningkatkan kinerjanya tanpa konfigurasi ekstensif.

Saat kita beralih ke cara teknis, ingatlah bahwa menerapkan Nginx FastCGI Cache adalah cara strategis untuk meningkatkan efisiensi situs Anda dan kepuasan pengguna. Mari mulai tingkatkan performa website Anda dengan Nginx FastCGI Cache.

Siapkan Cache Nginx FastCGI

Edit File Konfigurasi Nginx untuk FastCGI Cache

Buka File Konfigurasi

Pertama, Anda perlu membuka nginx.conf mengajukan. Kami akan menggunakan editor teks nano, tetapi Anda dapat menggunakan editor teks apa pun yang Anda sukai. Masukkan perintah ini:

sudo nano /etc/nginx/nginx.conf

Konfigurasikan Parameter FastCGI

Di dalam file, cari blok HTTP dan tambahkan baris berikut:

fastcgi_cache_path /var/nginx/fastcgi_cache levels=1:2 keys_zone=fcgicache:150m max_size=20g inactive=60m use_temp_path=off;
fastcgi_cache_key "$scheme$request_method$host$request_uri";

Setelah memasukkan garis, tekan CTRL + O, jenis Y, lalu tekan CTRL + X untuk keluar.

Pahami Parameter FastCGI

  • fastcgi_cache_path: Parameter ini menetapkan lokasi untuk menyimpan cache FastCGI (/var/nginx/fastcgi_cache). Ini penting karena menentukan di mana konten yang di-cache akan berada.
  • levels=1:2: Ini menciptakan hierarki direktori dua tingkat di bawah lokasi cache Anda. Desain ini membantu menyebarkan file ke dua direktori, yang pada gilirannya mengurangi risiko kemacetan I/O disk.
  • keys_zone: Ini menentukan nama zona memori bersama (fcgicache) dan ukurannya (150M). Zona memori bersama sangat penting untuk menyimpan kunci cache dan metadata.
  • max_size: Ini menentukan ukuran maksimum cache (dalam contoh ini, 20GB). Ketika batas ini tercapai, file terlama akan dihapus untuk memberi ruang bagi file baru.
  • inactive: Ini menentukan durasi setelah data yang tidak diakses akan dihapus dari cache. Dalam contoh ini, disetel ke 60 menit.
  • use_temp_path: Menyetel ini ke off memerintahkan Nginx untuk menulis file langsung ke folder cache yang ditentukan, melewati penggunaan tempat penyimpanan sementara.
  • fastcgi_cache_key: Ini digunakan untuk menentukan kunci pencarian cache. Nginx membuat hash MD5 dari kunci ini untuk digunakan sebagai nama file cache.

Konfigurasikan Blok Server Nginx untuk FastCGI Cache

Edit File Blok Server

Selanjutnya, Anda perlu mengedit file blok server Anda. Untuk contoh ini, kita asumsikan file tersebut diberi nama example.com.conf. Buka dengan perintah berikut:

sudo nano /etc/nginx/sites-available/example.com.conf

Masukkan Petunjuk Cache FastCGI

Dengan asumsi Anda telah menginstal LEMP, masukkan baris berikut ke dalam blok lokasi untuk file PHP:

fastcgi_cache fcgicache;
fastcgi_cache_valid 200 60m;
fastcgi_cache_use_stale error timeout updating invalid_header http_500 http_503;
fastcgi_cache_min_uses 1;
fastcgi_cache_lock on;
add_header X-FastCGI-Cache $upstream_cache_status;

Pahami Petunjuk Cache FastCGI

  • fastcgi_cache: Mengaktifkan caching dan menentukan zona memori bersama yang telah ditentukan sebelumnya.
  • fastcgi_cache_valid: Menentukan durasi cache untuk kode status HTTP tertentu.
  • fastcgi_cache_use_stale: Menetapkan kondisi di mana Nginx dapat menggunakan respons cache yang sudah basi.
  • fastcgi_cache_min_uses: Menentukan seberapa sering respons harus diminta sebelum di-cache.
  • fastcgi_cache_lock: Memastikan bahwa hanya satu permintaan pada satu waktu yang mengisi elemen cache baru, mencegah 'penyerbuan cache'.
  • add_header: Menambahkan tajuk khusus (X-FastCGI-Cache) ke respons HTTP, yang menunjukkan apakah respons diberikan dari cache.

Konfigurasikan Pembersihan Cache FastCGI di Nginx

Menyiapkan Pembersihan Cache

Pembersihan cache memungkinkan Anda menghapus konten dari cache sebelum habis masa berlakunya. Untuk mengonfigurasi pembersihan cache, buat perintah pembersihan cache dengan memasukkan baris berikut ke file blok server Anda:

location ~ /purge(/.*) {
    # Uncomment the following two lines to allow purge only from the webserver
    allow 127.0.0.1;
    deny all;
    fastcgi_cache_purge fcgicache "$scheme$request_method$host$1";
}

Tekan CTRL + O, jenis Y, lalu tekan CTRL + X untuk keluar dari editor teks.

Pendekatan Alternatif untuk Masalah Pembersihan Cache

Jika Anda menghadapi masalah dengan pembersihan cache, Anda dapat menyesuaikan waktu kedaluwarsa cache. Untuk situs web dengan lalu lintas menengah hingga tinggi, menetapkan tingkat masa berlaku yang lebih rendah, misalnya 2 jam tidak aktif dan 4 jam untuk masa berlaku keseluruhan, sering kali lebih efisien.

Uji dan Mulai Ulang Server Nginx

Uji Konfigurasi

Sangat penting untuk memvalidasi konfigurasi Nginx untuk menghindari kesalahan sintaksis atau kesalahan konfigurasi. Gunakan perintah berikut:

sudo nginx -t

Anda akan melihat keluaran berikut jika semuanya sudah benar:

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

Mulai ulang Server Nginx

Terakhir, restart server Nginx untuk menerapkan perubahan yang Anda buat:

sudo systemctl restart nginx

Buat dan Optimalkan Direktori Cache Nginx FastCGI

Buat Direktori Cache FastCGI

Sekarang mari kita buat direktori tempat Nginx akan menyimpan file cache. Jalur ini telah ditentukan sebelumnya di nginx.conf mengajukan:

sudo mkdir -p /var/nginx/fastcgi_cache

Optimalkan Direktori Cache dengan tmpfs (Opsional)

Jika sistem Anda memiliki RAM yang cukup, Anda dapat memilih untuk menggunakannya tmpfs untuk menyimpan cache di memori. Hal ini dapat mengakibatkan waktu akses lebih cepat dibandingkan dengan penyimpanan disk. Namun berhati-hatilah, karena menyimpan dalam RAM dapat menghabiskan banyak sumber daya memori. Inilah cara Anda memasang direktori cache sebagai tmpfs:

Sunting /etc/fstab mengajukan:

sudo nano /etc/fstab

Tambahkan baris berikut di akhir file:

tmpfs   /var/nginx/fastcgi_cache   tmpfs   defaults,size=512M   0 0

Ini mengalokasikan 512MB RAM Anda untuk cache. Anda dapat menyesuaikan ukurannya berdasarkan sumber daya sistem Anda.

Pasang tmpfs:

sudo mount -a

Konfigurasi ini memastikan cache FastCGI disimpan di memori, menawarkan kinerja lebih cepat dengan mengorbankan penggunaan RAM.

Validasi Fungsi Cache Nginx FastCGI

Uji FastCGI Cache dengan curl

Anda dapat memvalidasi bahwa FastCGI Cache berfungsi dengan benar dengan menggunakan curl memerintah. Bergantung pada pengaturan cache, Anda mungkin perlu menjalankan perintah beberapa kali sebelum Anda melihat cache ditemukan:

curl -I http://www.your-domain.com

Jika Anda tidak punya curl terinstal, Anda dapat menginstalnya dengan:

sudo apt install curl -y

Di output, cari X-FastCGI-Cache: HIT tajuk:

~$ curl -I https://www.example.com/
HTTP/1.1 200 OK
...
X-FastCGI-Cache: HIT
...

Ini menunjukkan bahwa permintaan dilayani dari cache.

Konfigurasikan Pengecualian Cache

Elemen situs web seperti halaman admin WordPress, bagian komentar, dan peta situs tidak boleh di-cache. Untuk mengonfigurasi Nginx agar tidak melakukan cache ini, tambahkan kode berikut di atas location (~\.php$) baris di file blok server Anda:

# Cache by default
set $skip_cache 0;

# Don't cache URIs containing the following
if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-..php|^/feed/|/tag/./feed/|index.php|/.sitemap..(xml|xsl)") {
    set $skip_cache 1;
}

# Don't cache for logged-in users or comment authors
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
    set $skip_cache 1;
}

# POST requests and URIs with a query string should bypass the cache
if ($request_method = POST) {
    set $skip_cache 1;
}

if ($query_string != "") {
    set $skip_cache 1;
}

Men-debug Pengecualian Cache (Opsional)

Jika Anda ingin menambahkan catatan untuk tujuan debugging, Anda dapat menyertakan catatan khusus di bawah masing-masing catatan set $skip_cache 1; pernyataan seperti ini:

set $skip_reason "your custom note";

Hal ini berguna untuk memahami mengapa konten tertentu tidak di-cache selama pemecahan masalah.

Setelah melakukan konfigurasi ini, pastikan untuk menguji konfigurasi dan restart Nginx:

sudo nginx -t
sudo systemctl restart nginx

Praktik Terbaik dan Pertimbangan dengan Nginx FastCGI Cache

Meskipun caching FastCGI dapat menawarkan manfaat kinerja yang signifikan, penting untuk memastikan bahwa konfigurasi dioptimalkan untuk kasus penggunaan spesifik dan sumber daya server Anda:

  • Evaluasi jumlah RAM yang tersedia sebelum memilih tmpfs untuk cache. Pastikan server Anda memiliki cukup memori untuk proses penting lainnya.
  • Sesuaikan pengecualian cache agar sesuai dengan aplikasi Anda. Contoh yang diberikan khusus untuk WordPress, namun Anda mungkin memerlukan pengecualian berbeda untuk jenis aplikasi lainnya.
  • Pantau penggunaan dan kinerja cache secara teratur. Jika cache menghabiskan terlalu banyak ruang disk atau tidak meningkatkan kinerja seperti yang diharapkan, pertimbangkan untuk menyesuaikan jalur, ukuran, atau pengaturan cache.

Kesimpulan

Nah, itu dia! Kami telah mempelajari langkah-langkah untuk menginstal Nginx FastCGI Cache di server Ubuntu Anda, menawarkan peningkatan kinerja situs web Anda dengan menangani konten dinamis secara efisien. Ingat, menjaga pengaturan cache agar sesuai dengan kebutuhan situs Anda adalah kunci untuk memaksimalkan manfaatnya. Jangan menghindar dari mengubah pengaturan untuk menemukan sweet spot itu. Baik Anda seorang profesional berpengalaman atau baru dalam manajemen server, kami harap panduan ini dapat menjadi pendamping yang berguna dalam mengoptimalkan keberadaan web Anda. Tetap sederhana, tetap konsisten, dan inilah pengalaman situs web yang lebih cepat dan lancar untuk Anda dan pengunjung Anda!

Joshua James
Ikuti aku
Postingan terbaru oleh Joshua James (Lihat semua)

Tinggalkan komentar