Saat menggunakan nginx dan php-fpm error yang sering muncul adalah

2016/12/05 12:01:05 [crit] 20397#20397: *3 connect() to unix:/run/php/php7.0-fpm.pid failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1, server: localhost, request: “GET /info.php HTTP/1.1”, upstream: “fastcgi://unix:/run/php/php7.0-fpm.pid:”, host: “localhost”

Bila anda menggunakan PHP 5 biasanya socketnya berada di /var/run/php5-fpm.sock.

Solusi

Error unix:/run/php/php7.0-fpm.pid failed (13: Permission denied) while connecting to upstream bisa disebabkan oleh salah user/group nginx, php-fpm atau root location di server block (virtualhost) nginx.
Sebagai solusinya kita akan menjalankan nginx sebagai www-data, bisa juga diganti dengan nginx, apache dan lain sebagainya.

1. User Group

Pastikan user/group www-data tersebut sudah ada

$ id www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data)

ganti www-data dengan user yang ingin di cek.

2. User nginx

Buka file /etc/nginx/nginx.conf, ubah bagian

user  nginx;

menjadi

user  www-data;

lalu restart nginx

service nginx restart

3. User php-fpm

PHP 7
buka file /etc/php/7.0/fpm/pool.d/www.conf, sesuaikan dengan nilai dibawah ini

user = www-data
group = www-data
listen = /run/php/php7.0-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

PHP 5
buka file /etc/php5/fpm/pool.d/www.conf, sesuaikan dengan nilai dibawah ini

user = www-data
group = www-data
listen = /var/run/php5-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

lalu restart php-fpm

# php 7.0
service php7.0-fpm restart
# php5
service php5-fpm restart

4. Server Block alias Virtualhost

Sesuaikan alamat socket php-fpm, contoh di server block nginx
PHP 7

  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

PHP 5

  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

Join the Conversation

1 Comment

Your email address will not be published. Required fields are marked *