Microcaching merupakan sebuah metode untuk melakukan cache pada hasil proses fastcgi (PHP) dengan memamfaatkan fastcgi_cache yang dimiliki oleh nginX. Sehingga dengan melakukan cache pada hasil proses fastcgi akan membuat website menjadi lebih responsif dan sangat bermamfaat untuk sebuah website yang memiliki banyak concurrent user.
Di sini saya coba untuk menjelaskan bagai mana cara membuat sebuah microcaching pada nginx (LEMP) + php-fpm
Hal pertama lakukan instalasi standard Nginx , MySql dan PHP (Untuk auto installer LEMP + WordPress pada ubuntu atau debian bisa menggunakan script ini )
1 2 3 4 |
apt-get update apt-get -y install nginx apt-get -y install mysql-server mysql-client apt-get install -y php5-mysql php5-fpm php5-gd php5-cli |
Lalu kita ubah configurasi php.ini dan www.conf serta mengubah user dan group pada www.conf dengan menjalan perintah berikut
1 2 3 4 |
sed -i "s/^;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php5/fpm/php.ini sed -i "s/^;listen.owner = www-data/listen.owner = www-data/" /etc/php5/fpm/pool.d/www.conf sed -i "s/^;listen.group = www-data/listen.group = www-data/" /etc/php5/fpm/pool.d/www.conf sed -i "s/^;listen.mode = 0660/listen.mode = 0660/" /etc/php5/fpm/pool.d/www.conf |
Buat folder untuk cache hasil proses fastcgi
1 |
mkdir /usr/share/nginx/cache |
Ubah konfigurasi default virtualhost nginx pada /etc/nginx/sites-available/default dan sesuaikan isinya dengan yang berikut, dan jangan lupa untuk menambahkan index.php pada bagian index.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_cache microcache; fastcgi_cache_key $scheme$host$request_uri$request_method; fastcgi_cache_valid 200 301 302 30s; fastcgi_cache_use_stale updating error timeout invalid_header http_500; fastcgi_pass_header Set-Cookie; fastcgi_pass_header Cookie; fastcgi_ignore_headers Cache-Control Expires Set-Cookie; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } |
Setelah itu, buka file /etc/nginx/nginx.conf dan tambahkan baris berikut ini sebelum http{} untuk membuat fastcgi_cache
1 |
fastcgi_cache_path /usr/share/nginx/cache/fcgi levels=1:2 keys_zone=microcache:10m max_size=1024m inactive=1h; |
Restart nginx dan php5-fpm
1 2 |
service nginx restart service php5-fpm restart |
Demikian pembahasan mengenai microcache atau microcaching pada NginX (LEMP) + php-fpm
Selamat mencoba, semoga bermamfaat.
ref: www.reviewsignal.com