Solving upgrade Nginx dan Php-fpm penyebab error 502 bad gateway

· 1 min read

Selama beberapa hari ini saya mencari penyebab error 502 bad gateway setelah melakukan upgrade Nginx dari versi 1.6.0 ke versi 1.6.1 dan Php-Fpm dari versi 5.3.28-1 ke versi 5.3.29-1.
Ada beberapa solusi :

  • Pertama yaitu jika kita mempergunakan socket untuk Php, maka kita bisa merubahnya memakai tcp
  • Kedua, merubah setingan owner dan group untuk php di konfigurasi Nginx

Contoh konfigurasi untuk Nginx karena saya memakai Minstall2.5.7 dan Debian 6 32bit :

Contoh konfigurasi jika memakai socket :
# nano /etc/nginx/php.d/www-data.conf
location ~ \.php$ {
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	fastcgi_pass unix:/dev/shm/php.socket;
	include fastcgi_params;
	try_files $uri =404;
}
Contoh konfigurasi jika memakai tcp :
# nano /etc/nginx/php.d/www-data.conf
location ~ \.php$ {
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	fastcgi_pass 127.0.0.1:9000;
	include fastcgi_params;
	try_files $uri =404;
}

Contoh konfigurasi untuk Php5-fpm karena saya memakai Minstall2.5.7 dan Debian 6 32bit :

Contoh konfigurasi Php5-Fpm jika memakai socket :
# nano /etc/php5/fpm/pool.d/www-data.conf
[www-data]
listen = /dev/shm/php.socket
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data
pm = ondemand
pm.max_children = 4
pm.max_requests = 500
php_flag[expose_php] = off
php_value[max_execution_time] = 120
php_value[memory_limit] = 64M
Contoh konfigurasi Php5-Fpm jika memakai tcp :
# nano /etc/php5/fpm/pool.d/www-data.conf
[www-data]
listen = 127.0.0.1:9000
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data
pm = ondemand
pm.max_children = 4
pm.max_requests = 500
php_flag[expose_php] = off
php_value[max_execution_time] = 120
php_value[memory_limit] = 64M

Akhirnya, saya hanya mempergunakan konfigurasi untuk Nginx dan Php5-fpm yang memakai socket.
Dan perlu diperhatikan, penyebab munculnya error 502 atau bad gateway adalah karena Php5-fpm tidak dapat berkomunikasi dengan Nginx.
Ada perubahan yang perlu dilakukan di file konfigurasi /etc/php5/fpm/pool.d/www-data.conf yaitu mengenai keterangan listen.owner dan listen.group, dimana pada konfigurasi sebelumnya sebelum melakukan upgrade dipergunakan user = www-data dan group = www-data, dan setelah melakukan upgrade maka dipakai listen.owner = www-data dan listen.group = www-data