摘要:是用于管理進程池的軟件,用于接收和處理服務(wù)器的請求。這個兩個設(shè)置默認(rèn)是關(guān)閉的,建議開啟,進程池配置中有一個的區(qū)域,意為進程池,通常建議一個應(yīng)用使用一個進程池。配置文件有默認(rèn)名為的配置內(nèi)容??偨Y(jié)沒有固定的配置,要根據(jù)實際情況設(shè)置。
PHP-FPM 是用于管理 PHP 進程池的軟件,用于接收和處理 Web 服務(wù)器的請求。
PHP-FPM 會創(chuàng)建一個主進程,控制何時以及如何把 HTTP 請求轉(zhuǎn)發(fā)給一個或多個子進程處理。
PHP-FPM 的配置很重要,可以參考 PHP手冊相應(yīng)的內(nèi)容
1
emergency_restart_threshold = 60(建議值)
如果子進程在 emergency_restart_interval 設(shè)定的時間內(nèi)收到該參數(shù)設(shè)定次數(shù)的 SIGSEGV 或者 SIGBUS退出信息號,則FPM會重新啟動。
emergency_restart_interval = 1m
用于設(shè)定平滑重啟的間隔時,單位:s(秒),m(分),h(小時)或者 d(天)。默認(rèn)單位:s(秒)。
這個兩個設(shè)置的作用是,如果在指定的一段時間內(nèi)指定的子進程失效了,讓 PHP-FPM 重啟。
這個兩個設(shè)置默認(rèn)是關(guān)閉的,建議開啟,
PHP-FPM 中有一個 Pool Definitions 的區(qū)域,意為進程池,通常建議一個 PHP 應(yīng)用使用一個進程池。
PHP-FPM 配置文件有默認(rèn)名為 www 的配置內(nèi)容。
user = 運行 PHP 的非 root 用戶
子進程運行的用戶。必須設(shè)置。
group = 運行 PHP 的非 root 用戶所屬的用戶組
子進程運行的用戶組。如果沒有設(shè)置,則默認(rèn)用戶的組被使用。
listen = 127.0.0.1:9000 或者 /path/to/unix/socket
設(shè)置接受 FastCGI 請求的地址。
listen.allowed_clients = 127.0.0.1
設(shè)置允許連接到 FastCGI 的服務(wù)器 IP 地址。默認(rèn)情況,這個字段是注釋掉了,建議開啟。
pm = 生產(chǎn)環(huán)境 static
設(shè)置進程管理器如何管理子進程??捎弥担簊tatic,ondemand,dynamic。必須設(shè)置。
static:子進程的數(shù)量是固定的(pm.max_children)。
ondemand:進程在有需求時才產(chǎn)生(當(dāng)請求時,與 dynamic 相反,pm.start_servers 在服務(wù)啟動時即啟動。
dynamic:子進程的數(shù)量在下面配置的基礎(chǔ)上動態(tài)設(shè)置:pm.max_children,pm.start_servers,pm.min_spare_servers,pm.max_spare_servers。
pm.max_children =
設(shè)置 PHP-FPM 進程池中最多能有多少個進程。這個沒有絕對正確值,要根據(jù)實際情況設(shè)置。
假設(shè)每個 PHP 進程使用 20-30M 內(nèi)存,為整個 PHP-FPM 環(huán)境配置了 512 M 內(nèi)存,那么可以設(shè)置為 17-25 中間值。
pm.start_servers =
設(shè)置啟動時創(chuàng)建的子進程數(shù)目。僅在 pm 設(shè)置為 dynamic 時使用。
pm.min_spare_servers =
設(shè)置空閑服務(wù)進程的最低數(shù)目。僅在 pm 設(shè)置為 dynamic 時使用。必須設(shè)置。
pm.max_spare_servers =
設(shè)置空閑服務(wù)進程的最大數(shù)目。僅在 pm 設(shè)置為 dynamic 時使用。必須設(shè)置。
pm.max_requests = 1000
設(shè)置每個子進程重生之前服務(wù)的請求數(shù)。對于可能存在內(nèi)存泄漏的第三方模塊來說是非常有用的。如果設(shè)置為 "0" 則一直接受請求,默認(rèn)值:0。
slowlog =
慢請求的記錄日志。
注意 PHP-FPM 進程所屬的用戶和用戶組必須具有相應(yīng)文件的寫權(quán)限。
request_slowlog_timeout = 5
當(dāng)一個請求該設(shè)置的超時時間后,就會將對應(yīng)的 PHP 調(diào)用堆棧信息完整寫入到慢日志中。
PHP-FPM 沒有固定的配置,要根據(jù)實際情況設(shè)置。
參考:
1、php-fpm的max_chindren的一些誤區(qū)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/21300.html
摘要:閑話少敘,直接開始安裝依賴復(fù)制以下內(nèi)容,回車直接安裝編譯,,所需的依賴創(chuàng)建用戶和組注意此處的組創(chuàng)建和用戶創(chuàng)建在后面編譯安裝中需要,當(dāng)然可以根據(jù)個人習(xí)慣自己命名想要的組名和用戶名編譯安裝根據(jù)個人習(xí)慣去 閑話少敘,直接開始 yum安裝依賴 復(fù)制以下內(nèi)容,回車直接安裝編譯php,nginx,mysql所需的依賴 shyum install -y kenel-devel gcc gcc...
摘要:閑話少敘,直接開始安裝依賴復(fù)制以下內(nèi)容,回車直接安裝編譯,,所需的依賴創(chuàng)建用戶和組注意此處的組創(chuàng)建和用戶創(chuàng)建在后面編譯安裝中需要,當(dāng)然可以根據(jù)個人習(xí)慣自己命名想要的組名和用戶名編譯安裝根據(jù)個人習(xí)慣去 閑話少敘,直接開始 yum安裝依賴 復(fù)制以下內(nèi)容,回車直接安裝編譯php,nginx,mysql所需的依賴 shyum install -y kenel-devel gcc gcc...
摘要:是環(huán)境下的一款程序調(diào)試工具,用來監(jiān)察一個應(yīng)用程序所使用的系統(tǒng)調(diào)用及它所接收的系統(tǒng)信息。追蹤程序運行時的整個生命周期,輸出每一個系統(tǒng)調(diào)用的名字,參數(shù),返回值和執(zhí)行消耗的時間等。設(shè)置打印的字符串最大長度。使用某個用戶或組來運行命令。 strace strace是Linux環(huán)境下的一款程序調(diào)試工具,用來監(jiān)察一個應(yīng)用程序所使用的系統(tǒng)調(diào)用及它所接收的系統(tǒng)信息。追蹤程序運行時的整個生命周期,輸出每...
摘要:在有限的資源下,通過調(diào)整相關(guān)參數(shù),提升性能,是非常廉價的措施參數(shù)優(yōu)化將配置文件中的參數(shù)修改為默認(rèn)是,動態(tài)的這個參數(shù)用來控制進程創(chuàng)建是動態(tài)創(chuàng)建還是在啟動時就創(chuàng)建好修改為的理由是,在啟動時創(chuàng)建,能節(jié)省動態(tài)創(chuàng)建進程的開銷和相關(guān)聯(lián)的參數(shù)有最 在有限的資源下,通過調(diào)整相關(guān)參數(shù),提升性能,是非常廉價的措施 參數(shù)優(yōu)化 將php-fpm配置文件中的參數(shù) pm修改為pm = static 默認(rèn)是d...
閱讀 2668·2021-11-24 10:44
閱讀 1928·2021-11-22 13:53
閱讀 1952·2021-09-30 09:47
閱讀 3713·2021-09-22 16:00
閱讀 2444·2021-09-08 09:36
閱讀 2323·2019-08-30 15:53
閱讀 2798·2019-08-30 15:48
閱讀 996·2019-08-30 15:44