>  기사  >  백엔드 개발  >  PHP + nginx 권한에 대한 자세한 설명

PHP + nginx 권한에 대한 자세한 설명

巴扎黑
巴扎黑원래의
2017-08-13 11:25:121809검색

이 글은 주로 php + nginx 프로젝트의 권한에 대한 관련 정보를 소개합니다. 이 글은 매우 상세하며 필요한 모든 사람을 위한 특정 참고 자료와 학습 가치가 있습니다.

이 기사에서는 php + nginx 프로젝트 권한에 대한 관련 내용을 소개하고 참고 및 학습을 위해 공유합니다. 자세한 소개를 살펴보겠습니다.

nginx/php-fpm

프로세스 권한

  • 주 프로세스 사용자는 프로세스를 시작한 사용자입니다

  • 하위 프로세스

1 nginx의 사용자는 nginx.conf

2에 구성된 사용자입니다. php-fpm의 php-fpm은 conf

에 구성된 사용자입니다. 예를 들어 nginx를 시작한 사용자는 루트이고, nginx에서 구성된 사용자는 nginx이며, 기본 프로세스는 루트이고 하위 프로세스는 다음과 같습니다. nginx

처리 방법

다음 액세스는 모두 nginx 하위 프로세스로 수행됩니다.

정적 파일

  • 을 만드는 단계: nginx가 /index.html에 액세스하면 nginx가 해당 파일에 직접 액세스합니다. 요청한 클라이언트에게 콘텐츠를 반환합니다.

  • 권한 상황: 현재 nginx에만 index.html 파일에 대한 권한이 필요합니다.

php 스크립트 파일

단계:

  • nginx가 /index.php에 액세스할 때 nginx가 올바른 스크립트 처리 결과를 클라이언트에 반환하려면 nginx에게 알리도록 구성해야 합니다. .php는 비정적 파일이며 콘텐츠가 반환되기 전에 PHP 스크립트 파서에서 처리되어야 합니다.

  • 일반적으로, fastcgi_pass unix:/var/run/php5-fpm.sock;와 같은 구성 항목은 nginx가 스크립트 파일에 액세스할 때 어디로 가야 하는지를 나타내기 위해 nginx 구성에 추가됩니다. 이 파일에 액세스하면 요청이 php-fpm으로 전달됩니다.

  • 실제 PHP 스크립트 파일은 php-fpm으로 접근하고, 결과는 nginx로 반환되고, nginx는 그 결과를 클라이언트로 반환합니다.

권한 상태:

  • nginx에는 /var/run/php5-fpm.sock 파일 권한이 필요합니다.

  • php-fpm에는 /index.php 파일 권한이 필요합니다.

  • 사용자 구성 위치

nginx 사용자는 nginx.conf

php-fpm 사용자의 첫 번째 줄에 설정됩니다. php-fpm.conf

listen.owner = xxx; 소켓 사용자
  • user = xxx 설정 프로세스 시작 사용자

참고:

위 두 구성 파일의 파일 이름은 운영 체제에 따라 약간 다릅니다. 자신의 판단에 따라 스스로 판단하십시오. 설치상황. nginx는 /var/run/php5-fpm.sock뿐만 아니라 php-fpm.conf의 구성을 통해 xxx.xxx.xxx:9000 등으로 콘텐츠를 php-fpm에 전달합니다.

; The address on which to accept FastCGI requests.
; Valid syntaxes are:
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on
;       a specific port;
; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
;       a specific port;
; 'port'     - to listen on a TCP socket to all IPv4 addresses on a
;       specific port;
; '[::]:port'   - to listen on a TCP socket to all addresses
;       (IPv6 and IPv4-mapped) on a specific port;
; '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = /var/run/php5-fpm.sock


Others

특별한 점은 일반적으로 nginx가 루트 사용자로 시작된다는 것입니다(포트 80 권한을 얻기 위해). 로컬 개발 nginx가 일반 사용자로 다시 시작되면 기본 프로세스와 하위 프로세스가 현재 사용자여야 합니다. nginx.conf의 구성이 더 이상 적용되지 않습니다. 이유는 아직 명확하지 않습니다.

위 내용은 PHP + nginx 권한에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.