nginx, php-fpm, mysql 등의 권한 구분을 정리하고 요약합니다.
이 글은 PHP의 기본 지식에 대해 이야기하고 nginx, php-fpm 및 mysql의 사용자 권한에 대한 심층적인 이해를 제공할 것입니다. 모든 사람에게 도움이 되기를 바랍니다!
일반적으로 우리가 웹 애플리케이션을 실행하는 서버에는 CentOS, Ubuntu, Debian 등과 같은 Linux 배포판이 포함됩니다. 이때 서비스 아키텍처를 형성하는 데 필요한 Nginx, PHP, MySQL 및 기타 애플리케이션의 권한 제어는 매우 중요합니다. 각 서비스는 코드 디렉토리에 대한 권한 요구 사항이 다릅니다. 읽기, 쓰기 또는 실행이 불가능합니다. 권한 요구 사항을 낮추면 해킹 및 수정될 위험이 있습니다. 여기에서는 nginx, php-fpm, mysql과 같은 서비스의 권한 구분을 요약합니다.
1. 웹 서버 Nginx 권한
PHP의 운영 프레임워크는 일반적으로 Nginx와 결합하여 LNMP를 구성하거나 Apache와 결합하여 LAMP 아키텍처를 구성합니다. 여기서는 Nginx를 예로 들어 Nginx 서비스를 실행하는 데 필요한 권한을 설명합니다.
우리는 Nginx 자체가 PHP 구문을 구문 분석할 수 없다는 것을 알고 있으므로 Nginx는 정적 파일(예: HTML 등)에 대해 직접 구문 분석하고 결과를 반환하지만, PHP 파일의 경우 Nginx는 처리를 위해 이를 PHP 인터프리터 php-fpm으로 전송합니다. . 완료 후 클라이언트 브라우저에 응답을 반환합니다 .
따라서 Nginx 및 PHP 서비스에 필요한 권한을 code 디렉터리에 통합해야 합니다.
① 루트 사용자를 일률적으로 사용하는 경우 일반 게스트 계정은 애플리케이션에 접근할 수 없습니다. nginx를 루트로 실행하도록 구성하면 일단 공격을 받으면 루트 ID를 획득하게 됩니다. 시스템에서 모든 작업을 수행합니다.
② 모든 코드 디렉터리 권한이 rwxrwxrwx로 설정된 경우 사용자가 브라우저를 통해 코드 디렉터리를 직접 수정할 수 있는 숨겨진 위험이 있습니다.
따라서 가장 좋은 방법은 새로운 사용자 그룹으로 분류하고 Nginx 및 PHP를 실행하는 데 필요한 권한을 사용자 그룹에 할당하여 웹 애플리케이션에 대한 권한 디렉터리 관리를 달성하는 것입니다. 일반적으로 많은 팀에서는 이 사용자 그룹에 www라는 이름을 지정하고 www 사용자는 코드 디렉터리 권한을 균일하게 관리합니다.
Nginx 구성 파일nginix.conf
에 구분된 실행 권한이 www 사용자 아래에 구성되어 있는 것을 볼 수 있으므로 Nginx 하위 프로세스도 www 사용자에 의해 실행되며, 이는 www 사용자에 의해 실행될 수 있습니다. ps aux | grep nginx
보기: nginix.conf
里面划分的运行权限就是配置到了www用户下,因此Nginx的子进程也是由www用户执行,可以通过ps aux | grep nginx
来查看:
可以看到nginx的主进程是root,其余子进程均是www的用户
nginx.conf的配置:
二、php的权限配置
同样的,php的运行方式也是由主进程root运行,在子进程池(pool)里面配置由www用户执行,具体配置在php根目录下的<span style="color: rgb(192, 0, 0);">etcphp-fpm.conf</span>
下,添加两行:
user = www group = www
即可,同样用ps aux | grep php
可以查看进程使用的用户身份:
三、MySQL服务的权限配置
通过ps aux | grep mysql
nginx의 주요 프로세스는 루트이고 다른 하위 프로세스는 모두 www
두 번째, PHP 권한 구성
마찬가지로 PHP 실행 모드도 기본 프로세스 루트에서 실행되며, www 사용자가 실행하도록 하위 프로세스 풀(풀)에서 구성됩니다. 구체적인 구성은 </p>etcphp-fpm에 있습니다. php 루트 디렉터리에 conf<p>
두 줄을 추가하세요.
user www www;
ps aux | grep php
를 사용하여 프로세스에서 사용하는 사용자 ID를 볼 수도 있습니다. 
의 권한 구성은 ps aux | grep mysql code>을 통해
user = www group = www
drwxr-xr-x 就是755
위 내용은 nginx, php-fpm, mysql 등의 권한 구분을 정리하고 요약합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP는 동적 웹 사이트를 구축하는 데 사용되며 해당 핵심 기능에는 다음이 포함됩니다. 1. 데이터베이스와 연결하여 동적 컨텐츠를 생성하고 웹 페이지를 실시간으로 생성합니다. 2. 사용자 상호 작용 및 양식 제출을 처리하고 입력을 확인하고 작업에 응답합니다. 3. 개인화 된 경험을 제공하기 위해 세션 및 사용자 인증을 관리합니다. 4. 성능을 최적화하고 모범 사례를 따라 웹 사이트 효율성 및 보안을 개선하십시오.

PHP는 동적 웹 개발 및 서버 측 응용 프로그램에 사용되는 서버 측 스크립팅 언어입니다. 1.PHP는 편집이 필요하지 않으며 빠른 발전에 적합한 해석 된 언어입니다. 2. PHP 코드는 HTML에 포함되어 웹 페이지를 쉽게 개발할 수 있습니다. 3. PHP는 서버 측 로직을 처리하고 HTML 출력을 생성하며 사용자 상호 작용 및 데이터 처리를 지원합니다. 4. PHP는 데이터베이스와 상호 작용하고 프로세스 양식 제출 및 서버 측 작업을 실행할 수 있습니다.

PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

단계를 따르면 Docker 컨테이너 이름을 쿼리 할 수 있습니다. 모든 컨테이너 (Docker PS)를 나열하십시오. 컨테이너 목록을 필터링합니다 (GREP 명령 사용). 컨테이너 이름 ( "이름"열에 위치)을 가져옵니다.

PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

Docker에서 MySQL을 시작하는 프로세스는 다음 단계로 구성됩니다. MySQL 이미지를 가져와 컨테이너를 작성하고 시작하고 루트 사용자 암호를 설정하고 포트 확인 연결을 매핑하고 데이터베이스를 작성하고 사용자는 데이터베이스에 모든 권한을 부여합니다.

PHP는 웹 개발 및 컨텐츠 관리 시스템에 적합하며 Python은 데이터 과학, 기계 학습 및 자동화 스크립트에 적합합니다. 1.PHP는 빠르고 확장 가능한 웹 사이트 및 응용 프로그램을 구축하는 데 잘 작동하며 WordPress와 같은 CMS에서 일반적으로 사용됩니다. 2. Python은 Numpy 및 Tensorflow와 같은 풍부한 라이브러리를 통해 데이터 과학 및 기계 학습 분야에서 뛰어난 공연을했습니다.

PHP의 핵심 이점에는 학습 용이성, 강력한 웹 개발 지원, 풍부한 라이브러리 및 프레임 워크, 고성능 및 확장 성, 크로스 플랫폼 호환성 및 비용 효율성이 포함됩니다. 1) 배우고 사용하기 쉽고 초보자에게 적합합니다. 2) 웹 서버와 우수한 통합 및 여러 데이터베이스를 지원합니다. 3) Laravel과 같은 강력한 프레임 워크가 있습니다. 4) 최적화를 통해 고성능을 달성 할 수 있습니다. 5) 여러 운영 체제 지원; 6) 개발 비용을 줄이기위한 오픈 소스.
