php如何經過php-fpm和nginx一塊兒協調愉快的工做

nginx 是一個代理服務器,其做用是把客戶端請求轉發給服務,而後直接輸出服務的響應內容。
php 做爲很是通用的web   服務端腳本語言,具備很是高性能的處理速度。

如今最流行的web服務器搭建環境  採用的是 linux 操做系統 ,配置一臺nginx 代理服務器,而後代理服務器把客戶端請求 轉發到 php 。php 程序運行後把結果返回給nginx 輸出給客戶端。

當 然,nginx 代理服務器 要和php 配合工做,中間須要一個 php-fpm ,php-fpm是 一個php 的 fastcgi進程管理器。fastCGI 能高效管理php-CGI的內存和進程網問題,而php-CGI是 php實現 CGI全部功能的一個模塊。實現了CGI 功能的程序,都能提供 web服務。因此,php能做爲web服務端語言。

php- fpm既然 是一個 進程管理器,   負責php的多線程工做。  自己php 語言是單線程,或者是沒有線程這一說法。 php-fpm能夠 同時管理多個php運行實例,這樣就能有效提升了服務器的處理性能,處理大訪問量的時候,就能夠同時發起多個php實例來處理客戶端的請求。

php-fpm是負責管理線程的,因此要進行性能優化的時候,主要從它同時開啓多少個線程等參數有關。

nginx 是負責轉發請求的,因此要從 緩存方面進行優化。當nginx 從php-CGI獲取到 數據後,能夠進行緩存,讓進行一樣請求的數據,直接從緩存讀取,而不用再去請求 php-CGI 從新執行程序產生數據,這樣就能夠有效的減小cpu的處理量,提升性能。php

相關文章
相關標籤/搜索