≡ Menu

Microcaching pada NginX (LEMP) + PHP-FPM

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.

nginx logoDi 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 )

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

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

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.

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

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

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

{ 0 comments… add one }

Leave a Comment

*