Fedora - Nginx PHP-FPM - 지속적으로 FPM 소켓을 루트로 변경

Fedora - Nginx PHP-FPM - 지속적으로 FPM 소켓을 루트로 변경

내 용어가 동등하지 않은 경우 미리 사과드립니다.

그래서 Nginx 및 여러 PHP 버전(Remi Collet의 소프트웨어 컬렉션 사용)을 사용하여 Fedora Workstation에서 작업 개발 시스템을 성공적으로 설정했습니다. 포트 9056에서 수신 대기 중인 PHP-5.6.30과 포트 9070에서 수신 대기 중인 PHP-7.0.19가 있습니다. 이것은 완벽하게 작동합니다.

오늘 아침 저는 FPM 소켓을 사용하여 두 PHP 인스턴스를 모두 실행해 보기로 결정했습니다. 처음에는 PHP-FPM 서비스를 다시 시작할 때까지 작동했습니다.502 잘못된 게이트웨이브라우저에서(13) 허가 거부nginx error.log의 오류).

php56-php-fpm예를 들어 PHP5.6을 사용하면 ... 을 생성하는 서비스를 처음 시작할 때 /opt/remi/php56/root/var/run/php-fpm/www.sock생성된 www.sock파일의 사용자와 그룹을 nginx:nginx. 다시 php56-php-fpm시작한 후 . 이제 FPM을 지속적으로 다시 시작하지는 않겠지만 파일에 일부 기본값을 설정할 수 있는 방법이 있어야 겠죠 ?? 내 fpm conf 파일은 다음과 같습니다.www.sockroot:root.sock

제가 단지 지역 발전을 위해 이 일을 하고 있다는 점을 고려하면, 이것이 올바르게 작동하는 것이 고통스럽다는 것을 깨달았습니다.그리고포트 9056 및 9070을 사용하여 이 모든 것이 올바르게 작동하도록 했습니다. 그러나 소켓과 TCP를 사용하면 속도상의 이점이 있으며 로컬 개발 환경의 속도를 높이는 모든 것은 노력할 가치가 있다는 것을 읽었습니다.

내 질문은 다음과 같습니다.

  1. root:root해당 FPM 서비스를 다시 시작한 후 www.sock이 재설정되도록 하는 내 구성의 잘못된 부분은 무엇입니까 ?
  2. 소켓을 선호하여 포트에서 멀어지는 것이 정말로 가치가 있습니까?
  3. [약간 벗어난 주제]: Remi Collet의 소프트웨어 컬렉션을 사용하면 2개의 PHP 패키지가 서로 다른 위치에 설치되는 것을 볼 수 있습니다. /opt/remi/php56그리고 /etc/opt/remi/php70... 일관성을 위해 이들 중 하나를 더 일반적인 위치로 이동하는 것을 고려해야 합니까?

감사합니다

답변1

확인해야 할 몇 가지 사항...

1) 기본적으로 CentOS PHP에서는 디렉터리에 구성 파일이 포함되어 있지 않으므로 파일 에 구성 파일 php-fpm.d이 있는지 확인하세요 .include=/opt/remi/php56/root/etc/php-fpm.d/*.confphp-fpm.conf

2) php-fpm 풀 구성에서 소켓 소유권을 설정해야 합니다. 예를 들면 다음과 같습니다.

[www]
listen       = /opt/remi/php56/root/var/run/php-fpm/$pool.sock
listen.owner = someuser
listen.group = somegroup
listen.mode  = 0600

답변2

내 경우에는 remi의 변수를 내 웹 서버의 사용자로 php80-php-fpm변경해야 했습니다 . 예를 들어:listen.acl_users../php-fpm.d/www.conf

;comment: replace mywebserveruser with your own user 
listen.acl_users = mywebserveruser

관련 정보