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; }
wah keren, terimakasih bantuannya bos. mantap