백엔드 개발 PHP 튜토리얼 php-fpm(PHP-FPM是一个PHPFastCGI管理器)

php-fpm(PHP-FPM是一个PHPFastCGI管理器)

Jun 23, 2016 pm 01:55 PM
php-fpm 관리자

简介

PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。

现在我们可以在最新的PHP 5.3.2的源码树里下载得到直接整合了PHP-FPM的分支,据说下个版本会融合进PHP的主分支去。相对Spawn-FCGI,PHP-FPM在CPU和内存方面的控制都更胜一筹,而且前者很容易崩溃,必须用crontab进行监控,而PHP-FPM则没有这种烦恼。

PHP5.3.3已经集成 php-fpm了,不再是第三方的包了。PHP-FPM提供了更好的PHP 进程管理方式,可以有效控制 内存和 进程、可以平滑 重载PHP配置,比spawn-fcgi具有更多优点,所以被PHP官方收录了。在./configure的时候带 ?enable-fpm参数即可开启PHP-FPM。

使用PHP-FPM来控制PHP-CGI的FastCGI进程

/usr/local/ php/sbin/ php-fpm{start|stop|quit|restart|reload| logrotate}

--start 启动 php的 fastcgi进程

--stop 强制终止 php的 fastcgi进程

--quit 平滑终止 php的 fastcgi进程

--restart 重启 php的 fastcgi进程

--reload 重新平滑加载 php的 php.ini

--logrotate 重新启用log文件

特色功能

所有这些特性都是“不打断”的方式实现的。也就是说,如果你不使用它们,它们的存在不会影响 php的功能性??他们都是“透明”的。

Error header

范围: php.ini 选项

分类:便利性

默认情况下,如果被访问的 php脚本包含语法错误,用户会收到一个空的“200 ok”页。这是不方便的。Error header 这个 php.ini 选项允许在这种情况下产生一个 HTTP 错误码,比如“HTTP/1.0 550 Server Made Big Boo”,从而中断web server请求并显示一个正确的错误页。

如果要实现这样的功能,需要在 php.ini 中添加一条 fastcgi.error_header = "HTTP/1.0 550 Server Made Big Boo"

在 php-5.2.4 中添加了类似,但不相同的功能:如果被访问的php脚本包含语法错误,并且 display_errors = off,会立刻返回“HTTP/1.0 500 Internal Server Error”。

如果你需要设定一个 503 错误,或者想要使这个行为独立于 display_errors 的设置,那么可以使用 fastcgi.error_header。如果你在 php-5.2.5 或以上版本上启用 php-fpm,那么 fastcgi.error_header的优先级更高。

优化的上传支持

实质:web server 支持

类型:优化

这个特性正如名字那样,可以加速对大 POST 请求的处理速度,包括文件上传。优化是通过将请求体已写入一个临时文件,然后 fastcgi协议传递文件名而不是请求体到来实现的。目前就我所知,只有 nginx0.5.9 以上才支持这个功能。显然,这种模式只在 php和 web server 在一台机器上的时候才能用。

nginx 样例配置:

location ~ \. php$ {

fastcgi_pass_request_body off;

client_body_in_file_only clean;

fastcgi_param REQUEST_BODY_FILE $request_body_file;

...

fastcgi_pass ...;

}

在 php中不需要配置任何东西。如果 php收到了参数REQUEST_BODY_FILE,就读取其中的请求体,如果没有,就自行从 fastcgi协议中读取请求体。

结合这个特性,可以考虑对 临时文件使用内存文件系统,例如tmpfs(linux):

client_body_temp_path /dev/shm/client_body_temp;

fastcgi_finish_request()

范围: php函数

类型:优化

这个特性可以提高一些 php请求的处理速度。如果有些处理可以在页面生成完后进行,就可以使用这种优化。比如,在 memcached 中保存 session 就可以在页面交给 web server 后进行。 fastcgi_finisth_request() ,这一特性可以结束响应输出,web server 可以立即开始交给等不及的客户端,而此刻, php可以在请求的上下文环境中处理许多事情。比如保存session,转换上传的视频,处理统计等等。

fastcgi_finisth_request() 会触发 shutdown 函数运行。

request_slowlog_timeout

范围: php-fpm.conf 选项

分类: 方便

这个选项能让你跟踪执行缓慢的脚本并把他们连同调用栈一起记录再日志文件中。例如如下设置:

5s

logs/slow.log

正如你再例子中看到的,脚本运行了 5 秒以上,并很可能是由于 mysql 响应慢造成的(top backtrace)。


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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

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

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Windows 11에서 중복 드라이브 문자를 정리하는 방법 Windows 11에서 중복 드라이브 문자를 정리하는 방법 Sep 26, 2023 pm 11:33 PM

Windows 11은 이전 버전에 비해 여전히 중요한 업그레이드이지만 Microsoft가 해결하지 못한 것으로 보이는 몇 가지 문제가 있습니다. 일반적인 문제는 Windows 11에서 동일한 드라이브가 두 번 나열되어 중복 항목을 삭제해야 하는 중복 드라이브 문자입니다. 예를 들어 "이 PC" 아래에 나열된 다음 다시 탐색 창에 이동식 드라이브로 나열됩니다. 이것이 저장 공간 소비 증가로 이어지지는 않지만 확실히 Windows 탐색기를 복잡하게 만들 것입니다. Windows 11에서 내 드라이브가 두 번 표시되는 이유는 무엇입니까? 기본적으로 Windows는 탐색 창에 외부 드라이브를 두 번 표시합니다. 그것이 가는 방식입니다. 그러나 드라이브 문자가 충돌하거나 시스템이 손상되었습니다.

고성능 튜닝을 위해 php-fpm을 사용하는 방법 고성능 튜닝을 위해 php-fpm을 사용하는 방법 Jul 08, 2023 am 11:30 AM

고성능 튜닝을 위해 php-fpm을 사용하는 방법 PHP는 웹 애플리케이션 및 동적 웹 사이트를 개발하는 데 널리 사용되는 매우 널리 사용되는 서버 측 스크립팅 언어입니다. 그러나 트래픽이 증가하면 PHP 애플리케이션의 성능이 저하될 수 있습니다. 이 문제를 해결하기 위해 고성능 튜닝을 위해 php-fpm(FastCGIProcessManager)을 사용할 수 있습니다. 이 기사에서는 php-fpm을 사용하여 PHP 애플리케이션의 성능을 향상시키는 방법을 소개하고 코드 예제를 제공합니다. 하나,

Windows 11에서 Feature Access Manager 서비스의 높은 CPU 사용량 Windows 11에서 Feature Access Manager 서비스의 높은 CPU 사용량 Feb 19, 2024 pm 03:06 PM

일부 PC 사용자 및 게이머는 Windows 11 또는 Windows 10을 사용할 때, 특히 특정 응용 프로그램이나 게임을 실행할 때 비정상적으로 높은 CPU 사용량을 경험할 수 있습니다. 이 문서에서는 사용자가 이 문제를 완화하는 데 도움이 되는 몇 가지 제안 사항을 제공합니다. 영향을 받은 일부 PC 사용자는 이 문제가 발생했을 때 작업 관리자에서 CPU의 0~5%만 사용하는 다른 응용 프로그램을 표시하는 반면 서비스 호스트: 용량 액세스 관리자 서비스에서는 사용량이 80%~100까지 나타나는 것을 확인했습니다. %. 서비스 호스트: Feature Access Manager 서비스란 무엇입니까? Function Access Manager 서비스의 기능은 해당 애플리케이션이 카메라, 마이크에 접근할 수 있는 권한이 있는지 확인하고 필요한 권한을 부여하는 것입니다. UWP 애플리케이션 관리를 용이하게 합니다.

Windows 11에서 PC에 NPU(신경 처리 장치)가 있는지 확인하세요. Windows 11에서 PC에 NPU(신경 처리 장치)가 있는지 확인하세요. Mar 16, 2024 pm 06:34 PM

NPU는 Neural Process Unit의 약어로, 기계 학습 알고리즘 등의 계산을 수행하는 데 특별히 사용되는 프로세서입니다. 간단히 말해서 인공지능과 관련된 작업을 가속화하도록 특별히 설계된 프로세서입니다. 이 문서에서는 Windows 11 PC에 NPU(신경 처리 장치)가 장착되어 있는지 확인하는 방법을 설명합니다. Windows 11에서 PC에 NPU(신경 처리 장치)가 있는지 확인합니다. 다음 방법은 PC에 Windows 11에 NPU(신경 처리 장치)가 설치되어 있는지 확인하는 데 도움이 됩니다. 작업 관리자를 통해 장치 관리자를 통해 아래 공식 웹사이트를 방문하면 이러한 모든 방법을 자세히 설명했습니다. 1] 작업 관리자를 사용하여 Windows 11 PC에서 PC에 NPU가 있는지 확인하세요.

PrestaShop 애플리케이션의 성능을 향상시키기 위해 PHP-FPM 최적화를 사용하는 방법 PrestaShop 애플리케이션의 성능을 향상시키기 위해 PHP-FPM 최적화를 사용하는 방법 Oct 05, 2023 pm 12:33 PM

PrestaShop 애플리케이션의 성능을 향상시키기 위해 PHP-FPM 최적화를 사용하는 방법 전자상거래 산업의 급속한 발전으로 PrestaShop은 많은 판매자가 선택하는 전자상거래 플랫폼이 되었습니다. 그러나 매장 규모가 커지고 방문 횟수가 늘어나면서 PrestaShop 애플리케이션에 성능 병목 현상이 발생할 수 있습니다. PrestaShop 애플리케이션의 성능을 향상시키기 위한 일반적인 방법은 PHP-FPM을 사용하여 애플리케이션의 처리 기능을 최적화하고 향상시키는 것입니다. PHP-FPM(FastCGI

Windows 11에서 폴더 숨기기 및 숨김 해제 방법 [3가지 방법] Windows 11에서 폴더 숨기기 및 숨김 해제 방법 [3가지 방법] Sep 23, 2023 am 08:37 AM

폴더를 숨기는 것은 데스크탑을 정리된 상태로 유지하는 좋은 방법입니다. 개인 파일이나 일부 고객 세부 정보를 엿보는 사람의 눈에 띄지 않게 하고 싶을 수도 있습니다. 그것이 무엇이든, 필요할 때 그것들을 치워두고 숨김을 해제할 수 있는 능력은 큰 절약입니다. 즉, 이러한 숨겨진 파일은 기본 메뉴에 표시되지 않지만 계속 액세스할 수 있습니다. 매우 간단하며 시간이 너무 많이 걸리지 않습니다. Windows 11에서 폴더를 숨기는 방법은 무엇입니까? 1. 파일 탐색기를 사용하고 + 키를 눌러 파일 탐색기를 엽니다. WindowsE 숨기려는 폴더를 찾아 마우스 오른쪽 버튼으로 클릭한 후 속성을 선택하세요. 일반 탭으로 이동하여 숨기기 상자를 선택하고 적용을 클릭한 다음 확인을 클릭합니다. 다음 대화 상자에서 이 폴더, 하위 폴더에 변경 사항 적용을 선택합니다.

Realtek HD 오디오 관리자에서 마이크를 설정하는 방법 Realtek HD 오디오 관리자에서 마이크를 설정하는 방법 Jan 02, 2024 am 09:33 AM

win10 시스템은 다양한 설정과 조정이 가능한 시스템입니다. 오늘은 에디터가 리얼텍 고화질 오디오 매니저에서 마이크 설정 방법에 대한 솔루션을 가져왔습니다! 관심 있으신 분들은 오셔서 구경해보세요. Realtek HD 오디오 관리자에서 마이크를 설정하는 방법: 1. 바탕 화면 왼쪽 하단에 있는 숨겨진 아이콘 표시에서 "realtek HD 오디오 관리자" 아이콘을 찾습니다. 2. 인터페이스로 들어가려면 클릭하세요. 가장 먼저 보이는 것은 "스피커 페이지"입니다. 이 인터페이스에서는 스피커 구성을 통해 스피커 사운드를 조정할 수 있습니다. 3. 다음은 음향 효과입니다. 원하는 음향 효과 환경과 "이퀄라이저, 팝, 록, 클럽" 등을 선택할 수 있습니다. 4. 다음은 실내음질보정입니다. 실내공간보정은 "

PHP-FPM 최적화를 사용하여 WooCommerce 애플리케이션의 성능을 향상시키는 방법 PHP-FPM 최적화를 사용하여 WooCommerce 애플리케이션의 성능을 향상시키는 방법 Oct 05, 2023 am 08:24 AM

PHP-FPM 최적화를 사용하여 WooCommerce 응용 프로그램의 성능을 향상시키는 방법 개요 WooCommerce는 WordPress 웹 사이트에서 온라인 상점을 만들고 관리하기 위한 매우 인기 있는 전자 상거래 플러그인입니다. 그러나 매장이 성장하고 트래픽이 증가하면 WooCommerce 앱이 느려지고 불안정해질 수 있습니다. 이 문제를 해결하기 위해 PHP-FPM을 사용하여 WooCommerce 애플리케이션의 성능을 최적화하고 향상시킬 수 있습니다. PHP-FP 란 무엇입니까?

See all articles