>백엔드 개발 >PHP 튜토리얼 >PHP-FPM이란 무엇입니까? PHP-FPM 관리 및 구성 소개

PHP-FPM이란 무엇입니까? PHP-FPM 관리 및 구성 소개

不言
不言앞으로
2019-02-18 13:18:082940검색

이 글의 내용은 PHP-FPM이 무엇인지에 관한 것입니다. PHP-FPM 관리 및 구성에 대한 소개에는 특정 참조 가치가 있습니다. 도움이 필요한 친구가 참조할 수 있기를 바랍니다.

PHP-FPM이란 무엇인가요?

PHP-FPM은 FastCGI의 프로세스 관리자입니다.

PHP-FPM의 기능

  • 부드러운 중지 및 시작의 고급 프로세스 관리 기능 지원

  • 동적 및 정적 하위 프로세스 생성

  • 스크립트 실행으로 인한 비정상적인 속도를 기록하는 느린 로그

  • 다른 포트를 수신하고 다른 php.ini를 사용할 수 있습니다

PHP-FPM 관리 및 구성

PHP-FPM 관리

마스터 마스터 프로세스는 다음 신호를 이해합니다:

  • INT, TERM 즉시 종료

  • QUIT 원활한 종료

  • USR1 로그 파일 다시 열기

  • USR2 모든 작업자 프로세스를 원활하게 다시 로드하고 구성 및 바이너리 모듈을 다시 로드합니다.

# 查看 php-fpm 用户
ps aux | grep php-fpm

# 查看 php-fpm 进程 pid
ps -ef | grep php-fpm

# 启动 php-fpm
php-fpm -D

# 关闭 php-fpm
kill -INT [pid]

# 重启 php-fpm
kill -USR2 [pid]

ps은 현재 프로세스를 보여주는 스냅샷입니다.

PHP-FPM 구성

/etc/php-fpm.d 이 폴더에는 모든 프로세스 풀의 구성이 포함되어 있습니다. 기본 구성 파일 /etc/php-fpm.conf에 다음 줄이 있습니다.

include=/etc/php-fpm.d/*.conf
php-fpm.conf의 기본 구성 파일에는 전역 구성이 포함되어 있으며 하위 구성은 www와 같은 다양한 프로세스 풀의 구성입니다.

전역 구성
# s 秒,m 分,h 小时,d 天

# 子进程在 emergency_restart_interval 设定的时间内收到该参数设定次数的 SIGSEGV 或者 SIGBUS退出信息号,则FPM会重新启动
emergency_restart_threshold 10
# 平滑重启的间隔时间:
emergency_restart_interval 1m
# 子进程接受主进程复用信号的超时时间
process_control_timeout 10s
프로세스 풀 구성
# 接收 FastCGI 请求的地址
listen: 'ip:port', '/path/to/unix/socket'

# 设置进程管理器如何管理子进程
pm: static 固定数量, ondemand 进程在有需求时才产生, dynamic 动态设置
정적 및 동적 구성
메모리가 비교적 작고 동시성이 낮은 애플리케이션의 경우 php-fpm에서 소비하는 총 메모리를 제어할 수 있는 동적 방법 사용을 고려할 수 있습니다.

동시성이 높거나 트래픽 변동이 큰 경우 동시성이 높을 때 정적을 사용하면 동적보다 더 빠른 응답을 얻을 수 있습니다.

구성 가능한 프로세스 수 = php-fpm 구성 가능한 메모리 / (php-fpm 하위 프로세스의 메모리 공간 * 1.2)

위 내용은 PHP-FPM이란 무엇입니까? PHP-FPM 관리 및 구성 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제