nginx + php는 다른 사용자 ID로 실행됩니다.

nginx + php는 다른 사용자 ID로 실행됩니다.

이전 공유 서버 시스템에서는 내 사용자 이름이 A였습니다. 내 사이트의 각 PHP 스크립트는 내 사용자 이름으로 실행되었습니다.

$puser = posix_getpwuid(posix_geteuid())['name']; // = $puser = "A";

이제 nginx를 실행하는 자체 VPS를 실행하고 사용자 이름/그룹은 nginx입니다.

그러나 나는 사용자 이름 B로 친구의 계정을 만들었고 그가 만든 각 PHP 스크립트가 nginx가 아닌 사용자 B로 실행되기를 원합니다. 기본적으로 나는 각 PHP 스크립트가 그것을 생성한 동일한 사용자의 UID로 실행되기를 원합니다.

nginx로 가능합니까?

답변1

베어 nginx를 사용하면 파일 소유권만으로는 이를 수행할 수 없습니다.

PHP-FPM은 nginx와 함께 사용되는 스크립트 실행 엔진입니다.

PHP-FPM에는 다양한 포트에 설정할 수 있는 PHP 작업자 풀이 있습니다. 각 PHP-FPM 작업자에는 해당 풀에 대한 스크립트를 실행하는 데 사용되는 사용자가 있을 수 있습니다.

그런 다음 nginx 측에서 어떤 요청에 PHP-FPM 백엔드가 사용되는지 규칙을 구성합니다. 일반적인 구성은 nginx의 각 가상 호스트가 자체 PHP-FPM 작업자 풀을 사용하는 것입니다.

베어 nginx를 사용하면 해당 정보로 백엔드 위치를 선택할 수 있도록 파일 소유권을 확인할 수 없습니다. 하지만 nginx lua모듈을 이 목적으로 사용할 수 있습니다.

관련 정보