php fpm,簡稱PHP FastCGI進程管理器,是一種針對FastCGI的PHP管理器,常用于Nginx與PHP的配合使用中。
在Nginx與PHP的組合中,nginx負責處理網絡請求、靜態資源的處理與緩存,而PHP則負責處理動態的請求。為了確保動態請求被正確地路由到PHP的處理程序,PHP-FPM通過監聽socket或者TCP端口,接收請求并將其分配給對應的PHP處理程序執行。
PHP FPM默認監聽端口是9000,但是在多個網站同時運行時,我們需要為每個網站建立不同的端口,以確保它們不會互相干擾。
如下所示是建立端口的示例代碼:
```
# 指定監聽IP與端口
listen = 127.0.0.1:9001
# 可以設置監聽Unix Socket,優先級高于TCP監聽
listen = /run/php5-fpm.sock
# 指定監聽隊列的長度
listen.backlog = -1
# 設置執行用戶和組
user = www-data
group = www-data
```
在上述示例中,我們可以看到listen指令是用于設置FPM監聽的IP與端口或監聽Unix Socket,backlog指令用于設置連接隊列最大長度,而user與group指令則是用來設置FPM使用的執行用戶和組。
同時,為了增加安全性,我們還可以將PHP FPM服務監聽的端口號隨機分配,以增加安全性。我們可以通過更改配置文件的方式來設置端口隨機分配,示例如下:
```
# 讓PHP FPM服務隨機分配端口號
listen = [::]:0
```
隨機設置端口號的優點是保證了服務器的安全性,但同時由于端口的隨機,會導致需要對資源進行動態分配時無法準確獲取端口,因此我們需要使用Unix Socket的方式來監聽端口。
總結而言,在使用PHP FPM的過程中,我們需要注意配置不同網站的端口與監聽方式,這樣才能確保PHP FPM可以正常分配動態請求,并實現高效的網絡響應。
上一篇ajax 去除標簽事件
下一篇php fmp 文檔