php-fpm 사용할때 nginx에서 사이트가 안뜰때(*404에러) 그래서 로그 확인시 아래와같은 에러가 발생했을때 해결방법입니다.
[crit] 2122#2122: *1 connect() to unix:/var/run/php/php7.2-fpm.sock failed (13: Permission denied) while connecting to upstream
내용에 보시면 13:Permission denied라고 되어있습니다.
이말은 nginx에서 php-fpm을 이용해서 php 파일을 컴파일해야하는데 권한이없다는 말입니다.
그래서 nginx의 권한과 일치시켜주면 문제가 해결됩니다.
해결방법
먼저 nginx의 권한을 확인해줍니다. 보통 www-data (구버전) or nginx (신버전)입니다ps -ef | grep nginx
로 확인
그리고 php-fpm의 설정에 한번 들어가보겠습니다.
vi /etc/php/7.2/fpm/pool.d/www.conf
오류가 날때에는 아래처럼 nginx와 권한이 다른걸 확인할 수 있습니다.
여기에 www-data 를 모두 nginx로 바꿔줍니다.
수정 후 service nginx restart와 service php7.2-fpm restart를 해줍니다.
다시 php 테스트 페이지를 출력해보면 잘되는걸 확인할 수 있습니다.