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 keoff
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!