php-fpm 매개 변수 에 대한 깊이 있 는 이해
Sep 21 16:22:19.399162 pid 29715 (pool default)
script_filename = /local/www/stable/www/catalogue.php
[0x00007fff23618120] mysql_query() /srv/stable/common/Database/class.MySQLRequest.php:20
[0x00007fff23618560] getResult() /srv/stable/common/Database/class.Facade.php:106
[0x00007fff23618aa0] query() /srv/stable/common/mysite.com/ORM/class.UsersMapper.php:99
[0x00007fff23618d60] resolveByID() /srv/stable/common/mysite.com/ORM/class.User.php:629
[0x00007fff236193b0] getData() /srv/stable/common/class.DataEntity.php:90
[0x00007fff236195d0] load() /srv/stable/common/mysite.com/ORM/class.User.php:587
[0x00007fff23619a00] getIsHidden() /srv/stable/common/mysite.com/class.User.php:42
[0x00007fff2361a470] getName() /local/www/stable/www/catalogue.php:41
동시에 error.log 에 다음 과 같은 기록 을 저 장 했 습 니 다.Sep 21 16:22:19.399031[WARNING]fpmrequest_check_timed_out(), line 135: child 29715, script '/local/www/stable/www/catalogue.php' (pool default) executing too slow(5.018002 sec),logging 은 다시 예 를 들 어 보 듯 이 스 크 립 트 가 5 초 이상 실행 되 었 으 며,my sql 응답 이 느 려 서 생 긴 것 일 수 있 습 니 다(top backtrace).rlimit_files int 파일 에서 설명 자 를 여 는 rlimit 제한 을 설정 합 니 다.기본 값:시스템 정의 값.rlimitcore int 는 핵심 rlimit 의 최대 제한 값 을 설정 합 니 다.사용 가능 한 값:'unlimited',0 또는 정수 입 니 다.기본 값:시스템 정의 값.chroot string 이 시 작 될 때의 Chroot 디 렉 터 리 입 니 다.정 의 된 디 렉 터 리 는 절대 경로 가 필요 합 니 다.설정 되 어 있 지 않 으 면 chroot 는.chdir string 으로 시작 디 렉 터 리 를 설정 하지 않 습 니 다.시작 할 때 이 디 렉 터 리 로 Chdir 가 자동 으로 이동 합 니 다.정 의 된 디 렉 터 리 는 절대 경로 가 필요 합 니 다.기본 값:현재 디 렉 터 리 또는/디 렉 터 리(chroot 시).catchworkers_output boolean 이 실행 중인 stdout 과 stderr 를 주요 오류 로그 파일 로 재 설정 합 니 다.설정 되 어 있 지 않 으 면 stdout 과 stderr 는 FastCGI 규칙 에 따라/dev/null 로 재 설정 합 니 다.기본 값:비어 있 습 니 다.실행 탱크 에 추가 적 인 환경 변 화 량 을 전달 할 수도 있 습 니 다.또는 PHP 설정 값 을 업데이트 합 니 다.php-fpm.conf 에서 아래 설정 매개 변 수 를 사용 할 수 있 습 니 다:Example\#1 실행 탱크 에 환경 변 수 를 전달 하고 PHP 설정 값 env[HOSTNAME]=$HOSTNAMEenv[PATH]=/usr/local/bin:/usr/bin:/binenv[TMP]=/tmpenv[TMPDIR]=/tmpenv[TEMP]=/tmpphpadmin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f [email protected]_flag[display_errors] = offphp_admin_value[error_log] = /var/log/fpm-php.www.logphp_admin_flag[log_errors] = onphp_admin_value[memory_limit]=32MPHP 설정 치 php 통과value 또는 phpflag 설정,이전 값 을 덮어 씁 니 다.disablefunctions 혹은 disableclasses 가 php.ini 에서 정의 한 값 은 덮어 쓰 지 않 지만,새로운 설정 을 원래 값 뒤에 추가 합 니 다.php 사용 하기admin_value 또는 phpadmin_flag 정의 값,PHP 코드 에 있 는 iniset()덮어 쓰기.FAQ:php-fpm ZendOptimize 와 함께 사용 할 수 있 습 니까?A:충분히 돼 요.Q:php-fpm 는 ZendPlatform,xcache,eAccelerator,APC 등의 최적화 기와 함께 사용 할 수 있 습 니까?A:네.pp-fpm 의 구조 와 고속 opcode 캐 시 에 사용 되 는 공유 메모리 가 모두 적 용 됩 니 다.유일한 제한 은 모든 worker 프로 세 스 는 하나의 캐 시 만 적용 할 수 있 습 니 다.다른 uid/gid 로 실행 되 더 라 도.
Q:왜 내 가 php 에 패 치 를 해 야 합 니까?spawn-fcgi 그 럴 필요 없어!A:php-fpm 의 생 성 은 편리 한 관 리 를 강화 하기 위 한 것 입 니 다.패 치가 없 는 php 는 할 수 없습니다:
php 바 이 너 리 파일 업그레이드 및/또는 확장 을 포함 하여 php 를 부 드 럽 게 다시 시작 합 니 다.다른 uid/gid/chroot 환경 으로 worker 프로 세 스 를 실행 합 니 다.모든 설정 은 부하 동적 요청(TODO)에 따라 phop 요청 에 대한 실시 간 통계 성능(TODO)만 있 습 니 다.
Q:php-fpm 를 루트 로 실행 하 는 이 유 는 무엇 입 니까?이것 은 안전 합 니까?A:루트 로 php-fpm 를 시작 하 는 것 은 다른 uid/gid 의 php 로 요청 을 처리 하려 고 할 때 만 의미 가 있 습 니 다.예 를 들 어 공유 호스트 의 다른 사이트.master 프로 세 스 가 루트 로 실 행 될 때 만 uid/gid 의 하위 프로 세 스 를 만 들 수 있 기 때 문 입 니 다.이것 은 상당히 안전 하 다.master 프로 세 스 는 요청 을 처리 하지 않 습 니 다.어떠한 경우 에 도 php-fpm 는 루트 신분 으로 요청 을 처리 하지 않 습 니 다.
Q:php-fpm 는 php 스 크 립 트 처리 속 도 를 가속 화 할 수 있 습 니까?A:아니요,처리 속도 에 영향 을 주지 않 습 니 다.그러나 특수 한 특성 을 사용한다 면 특정한 요청 에 대해 서 는 성능 을 향상 시 킬 수 있다.
Q:내 가 내 사 이 트 를 mod 에서php 를 php-fpm 로 옮 기 면 성능 이 향상 되 나 요?A:보통 서버 에 남 은 메모리 가 많이 있 을 때 pp-fpm 로 이전 할 수 있 는 성능 이 크게 향상 되 지 않 을 수 있 습 니 다.그러나 메모리 가 충분 하지 않 으 면 성능 향상 이 상당 하 며,어떤 경우 에는 300-500%에 이 를 수 있다.nginx+php-fpm 가 아파 치+mod 보다php 는 더 적은 메모 리 를 사용 합 니 다.그리고 VFS 캐 시 는 더 많은 메모리 로 인해 더욱 효과적으로 작 동 합 니 다.
Q:pp-fpm 는 앞으로 공식 pp 에 포 함 될 까요?A:그 랬 으 면 좋 겠 어 요.현재 php-fpm 코드 의 프로 토 콜 은 GPL 입 니 다.그래서 현재 php-fpm 코드 는 php 프로 토 콜(bsd 유사)과 일치 하지 않 습 니 다.이것 은 임시 적 인 조치 다.이런 선택 은 개발 과정 을 간소화 하기 위 한 것 이다.코드 의 기능 이 완비 되면,예 를 들 어 생 성 서브 프로 세 스 와 다른 것들 에 적응 하면,프로 토 콜 은 일치 하 는 것 으로 바 뀔 것 이다.이후 phop-fpm 는 phop 개발 팀 에 공식 적 으로 발표 되 며 포함 을 권장 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Raspberry Pi OS에 Nginx&PHP를 설치하여 웹 서버를 구축웹 서비스용이 아니고, http 프로토콜 관계의 실험용이므로, 데이터베이스 서버의 인스톨은 하고 있지 않습니다. PHP는 필요 없을지도 모르지만, 일단. LAN 내의 독립 서버를 가정합니다. 그래서 보안이라든지 생각...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.