# php-fpm
******
PHP-FPM(FastCGI 進程管理器)用于替換 PHP FastCGI 的大部分附加功能,對于高負載網站是非常有用的。
它的功能包括:
* 支持平滑停止/啟動的高級進程管理功能;
* 可以工作于不同的 uid/gid/chroot 環境下,并監聽不同的端口和使用不同的 php.ini 配置文件(可取代 safe_mode 的設置);
* stdout 和 stderr 日志記錄;
* 文件上傳優化支持
* “慢日志” - 記錄腳本(不僅僅記錄文件名,還記錄 PHP backtrace 信息,可以使用 ptrace 或者類似工具讀取和分析遠程進程的運行數據)運行所導致的異常緩慢;
* fastcgi\_finish\_request() - 特殊功能:用于在請求完成和刷新數據后,繼續在后臺執行耗時的工作(錄入視頻轉換、統計處理等);
* 動態 / 靜態子進程產生;
* 基本 SAPI 運行狀態信息(類似 Apache 的 mod_status);
* 基于 php.ini 的配置文件。
<br />
## 工作原理
它的工作原理大概為:
php-fpm 啟動--->生成 n 個 fast-cgi 協議處理進程--->監聽一個端口等待任務
用戶請求--->web 服務器接收請求--->請求轉發給 php-fpm--->php-fpm 交給一個空閑進程處理--->進程處理完成--->php-fpm返回給web服務器--->web服務器接收數據--->返回給用戶
> nginx + php-fpm 就是的以上的方法
- 引言
- Introduction
- 運行模式
- php-fpm
- php-cli
- 基礎介紹
- 網絡協議
- ip
- tcp
- tcp
- http
- webSocket
- udp
- port端口
- 會話管理
- cookie
- session
- api/token
- linux基礎
- lnmp安裝
- 命令
- 進程管理
- 擴展安裝
- 端口監控
- 防火墻說明
- php7.0
- 部分新特性
- php回調/閉包
- 回調事件
- 閉包/匿名函數
- php多進程
- 多進程開啟
- 進程通信
- 進程信號
- 僵尸進程
- 孤兒進程
- 守護進程
- 同步/異步
- 阻塞/非阻塞
- 協程
- Swoole
- 初始Swoole
- 運行機制
- 生命周期
- composer使用
- EasySwoole
- 設計理念
- 組件說明
- 運行過程
- demo
- 提問的藝術