国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
您可能感興趣的文章:
首頁(yè) 後端開(kāi)發(fā) php教程 linux下的php-fpm參數(shù)配置介紹與參數(shù)最佳化說(shuō)明詳解

linux下的php-fpm參數(shù)配置介紹與參數(shù)最佳化說(shuō)明詳解

Jul 07, 2018 pm 05:53 PM

本文主要講解了在linux下php-fpm一些重要參數(shù)的中文詳細(xì)說(shuō)明,並詳細(xì)介紹了php-fpm關(guān)於性能方面的參數(shù)優(yōu)化介紹

php-fpm .conf重要參數(shù)詳解

pid = run/php-fpm.pid
#pid設(shè)置,預(yù)設(shè)在安裝目錄中的var/run/php -fpm.pid,建議開(kāi)啟

error_log = log/php-fpm.log
#錯(cuò)誤日誌,預(yù)設(shè)在安裝目錄中的var/log/php-fpm.log

log_level = notice
#錯(cuò)誤等級(jí). 可用等級(jí)為: alert(必須立即處理), error(錯(cuò)誤情況), warning(警告情況), notice(一般重要訊息), debug(調(diào)試資訊). 預(yù)設(shè): notice.

emergency_restart_threshold = 60
emergency_restart_interval = 60s

#表示在emergency_restart_interval所設(shè)值或內(nèi)部出現(xiàn)SIGSEGVSIGBGB的錯(cuò)誤php-cgi進(jìn)程數(shù)如果超過(guò)emergency_restart_threshold個(gè),php-fpm就會(huì)優(yōu)雅重啟。這兩個(gè)選項(xiàng)一般保持預(yù)設(shè)值。

process_control_timeout = 0
#設(shè)定子程序接受主程序復(fù)用訊號(hào)的逾時(shí)時(shí)間. 可用單位: s(秒), m(分), h(小時(shí)),或d(天) 預(yù)設(shè)單位: s(秒). 預(yù)設(shè)值: 0.

#daemonize = yes
#後臺(tái)執(zhí)行fpm,預(yù)設(shè)值為yes,如果為了除錯(cuò)可以改為no。在FPM中,可以使用不同的設(shè)定來(lái)執(zhí)行多個(gè)進(jìn)程池。這些設(shè)定可以針對(duì)每個(gè)進(jìn)程池單獨(dú)設(shè)定。

listen = 127.0.0.1:9000
#fpm監(jiān)聽(tīng)端口,即nginx中php處理的位址,一般預(yù)設(shè)值即可??捎酶袷綖? 'ip:port', 'port', '/path/to/unix/socket'. 每個(gè)進(jìn)程池都需要設(shè)定.

listen.backlog = -1
#backlog數(shù),-1表示無(wú)限制,由作業(yè)系統(tǒng)決定,此行註解掉就行。

listen.allowed_clients = 127.0.0.1
#允許存取FastCGI進(jìn)程的IP,設(shè)定any為不限制IP,如果要設(shè)定其他主機(jī)的nginx也能存取這臺(tái)FPM進(jìn)程,listen處要設(shè)定成本地可被存取的IP。預(yù)設(shè)值是any。每個(gè)位址是用逗號(hào)分隔. 如果沒(méi)有設(shè)定或?yàn)榭?,則允許任何伺服器請(qǐng)求連接

listen.owner = www
listen.group = www
listen.mode = 0666

#unix socket設(shè)定選項(xiàng),如果使用tcp方式訪(fǎng)問(wèn),這裡註釋即可。

user = www
group = www

# 啟動(dòng)進(jìn)程的帳戶(hù)和群組

pm = dynamic
#對(duì)於專(zhuān)用伺服器,pm可以設(shè)定為static。
#如何控制子進(jìn)程,選項(xiàng)有static和dynamic。如果選擇static,則由pm.max_children指定固定的子程序數(shù)。如果選擇dynamic,則由下開(kāi)參數(shù)決定:
pm.max_children #,子進(jìn)程最大數(shù)
pm.start_servers #,啟動(dòng)時(shí)的進(jìn)程數(shù)
pm.min_spare_servers #,保證空閒行程數(shù)最小值,如果空閒行程小於此值,則建立新的子行程
##pm.max_spare_servers #,保證空閒行程數(shù)最大值,如果空閒進(jìn)程大於此值,此進(jìn)行清理

pm.max_requests = 1000#設(shè)定每個(gè)子進(jìn)程重生之前服務(wù)的請(qǐng)求數(shù). 對(duì)於可能存在記憶體洩漏的第三方模組來(lái)說(shuō)是非常有用的. 如果設(shè)定為'0' 則一直接受請(qǐng)求. 等同於PHP_FCGI_MAX_REQUESTS 環(huán)境變數(shù). 預(yù)設(shè)值: 0.

#pm.status_path = /status#FPM狀態(tài)頁(yè)面的網(wǎng)址. 如果沒(méi)有設(shè)定, 則無(wú)法存取狀態(tài)頁(yè)面. 預(yù)設(shè)值: none. munin監(jiān)控會(huì)使用到

##ping.path = /ping

##FPM監(jiān)控頁(yè)面的ping網(wǎng)址. 如果沒(méi)有設(shè)定, 則無(wú)法訪(fǎng)問(wèn)ping頁(yè)面. 該頁(yè)面用於外部檢測(cè)FPM是否存活並且可以回應(yīng)請(qǐng)求. 請(qǐng)注意必須以斜線(xiàn)開(kāi)頭(/)。

ping.response = pong

#用於定義ping請(qǐng)求的回傳對(duì)應(yīng). 傳回為HTTP 200 的text/plain 格式文字.預(yù)設(shè)值: pong.

request_terminate_timeout = 0

#設(shè)定單一請(qǐng)求的超時(shí)中止時(shí)間。這個(gè)選項(xiàng)可能會(huì)對(duì)php.ini設(shè)定中的 'max_execution_time'因?yàn)槟承┨厥庠驔](méi)有中止執(zhí)行的腳本有用. 設(shè)定為'0' 表示'Off'.當(dāng)經(jīng)常出現(xiàn)502錯(cuò)誤時(shí)可以嘗試更改此選項(xiàng)。

request_slowlog_timeout = 10s

#當(dāng)一個(gè)請(qǐng)求該設(shè)定的逾時(shí)時(shí)間後,就會(huì)將對(duì)應(yīng)的PHP呼叫堆疊資訊完整寫(xiě)入到慢日誌中. 設(shè)定為'0 ' 表示'Off'

slowlog = log/$pool.log.slow
#慢請(qǐng)求的記錄日誌,配合request_slowlog_timeout使用

rlimit_files = 1024
#設(shè)定檔開(kāi)啟描述符的rlimit限制. 預(yù)設(shè)值: 系統(tǒng)定義值預(yù)設(shè)可開(kāi)啟句柄是1024,可使用ulimit -n查看,ulimit -n 2048修改。

rlimit_core = 0
#設(shè)定核心rlimit最大限制值.可用值: 'unlimited' 、0或正整數(shù). 預(yù)設(shè)值: 系統(tǒng)定義值.

chroot =
#啟動(dòng)時(shí)的Chroot目錄. 所定義的目錄需要是絕對(duì)路徑. 如果沒(méi)有設(shè)定, 則chroot不被使用.

chdir =
#設(shè)定啟動(dòng)目錄,啟動(dòng)時(shí)會(huì)自動(dòng)Chdir到該目錄. 所定義的目錄需要是絕對(duì)路徑. 預(yù)設(shè)值: 目前目錄,或/目錄(chroot時(shí))

catch_workers_output = yes
#重定向運(yùn)行過(guò)程中的stdout和stderr到主要的錯(cuò)誤日誌檔案中. 如果沒(méi)有設(shè)定, stdout 和stderr 將會(huì)根據(jù)FastCGI的規(guī)則被重定向到/dev/null . 預(yù)設(shè)值: 空.

?

php-fpm參數(shù)調(diào)優(yōu)

pm = dynamic;

表示使用哪一個(gè)行程數(shù)量管理方式

dynamic表示php-fpm行程數(shù)是動(dòng)態(tài)的,最開(kāi)始是pm.start_servers指定的數(shù)量,如果要求較多,則會(huì)自動(dòng)增加,保證空閒的行程數(shù)不小於pm.min_spare_servers,如果行程數(shù)較多,也會(huì)進(jìn)行對(duì)應(yīng)清理,保證多餘的行程數(shù)不多於pm.max_spare_servers

static表示php-fpm進(jìn)程數(shù)是靜態(tài)的, 進(jìn)程數(shù)自始至終都是pm.max_children指定的數(shù)量,不再增加或減少

pm.max_children = 300; 靜態(tài)方式下開(kāi)啟的php-fpm程序數(shù)量
pm.start_servers = 20; 動(dòng)態(tài)方式下的起始php-fpm程序數(shù)量
pm.min_spare_servers = 5; 動(dòng)態(tài)方式下的最小php-fpm進(jìn)程數(shù)量
pm.max_spare_servers = 35; 動(dòng)態(tài)方式下的最大php-fpm進(jìn)程數(shù)量

如果pm為static, 那麼其實(shí)只有pm.max_children這個(gè)參數(shù)生效。系統(tǒng)會(huì)開(kāi)啟設(shè)定數(shù)量的php-fpm進(jìn)程

如果pm為dynamic, 那麼pm.max_children參數(shù)失效,後面3個(gè)參數(shù)生效。系統(tǒng)會(huì)在php-fpm運(yùn)行開(kāi)始的時(shí)候啟動(dòng)pm.start_servers個(gè)php-fpm進(jìn)程,然後根據(jù)系統(tǒng)的需求動(dòng)態(tài)在pm.min_spare_servers和pm.max_spare_servers之間調(diào)整php-fpm進(jìn)程數(shù)

那麼,對(duì)於我們的伺服器,選擇哪種pm方式比較好呢?事實(shí)上,跟Apache一樣,運(yùn)行的PHP程式在執(zhí)行完成後,或多或少會(huì)有記憶體外洩的問(wèn)題。這也是為什麼開(kāi)始的時(shí)候一個(gè)php-fpm進(jìn)程只佔(zhàn)用3M左右內(nèi)存,運(yùn)行一段時(shí)間後就會(huì)上升到20-30M的原因了。

對(duì)於記憶體大的伺服器(例如8G以上)來(lái)說(shuō),指定靜態(tài)的max_children實(shí)際上更為妥當(dāng),因?yàn)檫@樣不需要進(jìn)行額外的進(jìn)程數(shù)目控制,會(huì)提高效率。因?yàn)轭l繁開(kāi)關(guān)php-fpm程序也會(huì)有時(shí)滯,所以記憶體夠大的情況下開(kāi)靜態(tài)效果會(huì)更好。數(shù)量也可以根據(jù) 記憶體/30M 得到,例如8GB記憶體可以設(shè)定為100,那麼php-fpm耗費(fèi)的記憶體就能控制在 2G-3G的樣子。如果記憶體稍微小點(diǎn),例如1G,那麼指定靜態(tài)的進(jìn)程數(shù)量就更有利於伺服器的穩(wěn)定。這樣可以保證php-fpm只取得夠用的內(nèi)存,將不多的內(nèi)存分配給其他應(yīng)用去使用,會(huì)使系統(tǒng)的運(yùn)作更加暢通。

對(duì)於小內(nèi)存的伺服器來(lái)說(shuō),例如256M內(nèi)存的VPS,即使按照一個(gè)20M的內(nèi)存量來(lái)算,10個(gè)php-cgi進(jìn)程就將耗掉200M內(nèi)存,那系統(tǒng)的崩潰就應(yīng)該很正常了。因此應(yīng)該盡量控制php-fpm進(jìn)程的數(shù)量,大體明確其他應(yīng)用佔(zhàn)用的記憶體後,給它指定一個(gè)靜態(tài)的小數(shù)量,會(huì)讓系統(tǒng)更加平穩(wěn)一些?;蛘呤褂脛?dòng)態(tài)方式,因?yàn)閯?dòng)態(tài)方式會(huì)結(jié)束掉多餘的進(jìn)程,可以回收釋放一些內(nèi)存,所以建議在內(nèi)存較少的伺服器或VPS上使用。具體最大數(shù)量根據(jù) 記憶體/20M 得到。比如說(shuō)512M的VPS,建議pm.max_spare_servers設(shè)定為20。至於pm.min_spare_servers,則建議根據(jù)伺服器的負(fù)載情況來(lái)設(shè)置,比較合適的值在5~10之間。

在4G記憶體的伺服器上200就可以(我的1G測(cè)試機(jī),開(kāi)64個(gè)是最好的,建議使用壓力測(cè)試取得最佳值)

pm. max_requests = 10240;

nginx php-fpm配置過(guò)程中最大問(wèn)題是內(nèi)洩漏出問(wèn)題:伺服器的負(fù)載不大,但是記憶體佔(zhàn)用迅速增加,很快吃掉記憶體接著開(kāi)始吃交換分區(qū),系統(tǒng)很快掛掉!其實(shí)根據(jù)官方的介紹,php-cgi不存在內(nèi)存洩漏,每個(gè)請(qǐng)求完成後php-cgi會(huì)回收內(nèi)存,但是不會(huì)釋放給操作系統(tǒng),這樣就會(huì)導(dǎo)致大量?jī)?nèi)存被php-cgi佔(zhàn)用。

官方的解決方法是降低PHP_FCGI_MAX_REQUESTS的值,如果用的是php-fpm,對(duì)應(yīng)的php-fpm.conf中的就是max_requests,該值的意思是發(fā)送多少個(gè)請(qǐng)求後會(huì)重啟該線(xiàn)程,我們需要適當(dāng)?shù)亟档瓦@個(gè)值,用以讓php-fpm自動(dòng)的釋放內(nèi)存,不是大部分網(wǎng)上說(shuō)的51200等等,實(shí)際上還有另一個(gè)跟它有關(guān)聯(lián)的值max_children,這個(gè)是每次php-fpm會(huì)建立多少個(gè)進(jìn)程,這樣實(shí)際上的內(nèi)存消耗是max_children*max_requests*每個(gè)請(qǐng)求使用內(nèi)存,根據(jù)這個(gè)我們可以預(yù)估一下內(nèi)存的使用情況,就不用再寫(xiě)腳本去kill了。

request_terminate_timeout = 30;

#最大執(zhí)行時(shí)間, 在php.ini中也可以進(jìn)行設(shè)定(max_execution_time)

#request_slowlog_timeout = 2 ; 開(kāi)啟慢速日誌
slowlog = log/$pool.log.slow; 慢日誌路徑

rlimit_files = 1024; 增加php-fpm打開(kāi)檔案描述子的限制

php-fpm.conf的參數(shù)明說(shuō)大家只要多看幾遍應(yīng)該就可能記住了,至於php-fpm效能方案應(yīng)該根據(jù)實(shí)際情況而定,多測(cè)試幾次得出最佳配置方案

您可能感興趣的文章:

Laravel中資料遷移與資料填充的詳細(xì)步驟詳解

PHP 閉包取得外部變數(shù)與global關(guān)鍵字宣告變數(shù)的差異解說(shuō)

用好anyproxy提高公眾號(hào)文章擷取效率詳解

以上是linux下的php-fpm參數(shù)配置介紹與參數(shù)最佳化說(shuō)明詳解的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線(xiàn)上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話(huà)題

Laravel 教程
1597
29
PHP教程
1488
72
PHP變量範(fàn)圍解釋了 PHP變量範(fàn)圍解釋了 Jul 17, 2025 am 04:16 AM

PHP變量作用域常見(jiàn)問(wèn)題及解決方法包括:1.函數(shù)內(nèi)部無(wú)法訪(fǎng)問(wèn)全局變量,需使用global關(guān)鍵字或參數(shù)傳入;2.靜態(tài)變量用static聲明,只初始化一次並在多次調(diào)用間保持值;3.超全局變量如$_GET、$_POST可在任何作用域直接使用,但需注意安全過(guò)濾;4.匿名函數(shù)需通過(guò)use關(guān)鍵字引入父作用域變量,修改外部變量則需傳遞引用。掌握這些規(guī)則有助於避免錯(cuò)誤並提升代碼穩(wěn)定性。

如何在PHP中牢固地處理文件上傳? 如何在PHP中牢固地處理文件上傳? Jul 08, 2025 am 02:37 AM

要安全處理PHP文件上傳需驗(yàn)證來(lái)源與類(lèi)型、控製文件名與路徑、設(shè)置服務(wù)器限制並二次處理媒體文件。 1.驗(yàn)證上傳來(lái)源通過(guò)token防止CSRF並通過(guò)finfo_file檢測(cè)真實(shí)MIME類(lèi)型使用白名單控制;2.重命名文件為隨機(jī)字符串並根據(jù)檢測(cè)類(lèi)型決定擴(kuò)展名存儲(chǔ)至非Web目錄;3.PHP配置限制上傳大小及臨時(shí)目錄Nginx/Apache禁止訪(fǎng)問(wèn)上傳目錄;4.GD庫(kù)重新保存圖片清除潛在惡意數(shù)據(jù)。

在PHP中評(píng)論代碼 在PHP中評(píng)論代碼 Jul 18, 2025 am 04:57 AM

PHP註釋代碼常用方法有三種:1.單行註釋用//或#屏蔽一行代碼,推薦使用//;2.多行註釋用/.../包裹代碼塊,不可嵌套但可跨行;3.組合技巧註釋如用/if(){}/控制邏輯塊,或配合編輯器快捷鍵提升效率,使用時(shí)需注意閉合符號(hào)和避免嵌套。

發(fā)電機(jī)如何在PHP中工作? 發(fā)電機(jī)如何在PHP中工作? Jul 11, 2025 am 03:12 AM

AgeneratorinPHPisamemory-efficientwaytoiterateoverlargedatasetsbyyieldingvaluesoneatatimeinsteadofreturningthemallatonce.1.Generatorsusetheyieldkeywordtoproducevaluesondemand,reducingmemoryusage.2.Theyareusefulforhandlingbigloops,readinglargefiles,or

撰寫(xiě)PHP評(píng)論的提示 撰寫(xiě)PHP評(píng)論的提示 Jul 18, 2025 am 04:51 AM

寫(xiě)好PHP註釋的關(guān)鍵在於明確目的與規(guī)範(fàn),註釋?xiě)?yīng)解釋“為什麼”而非“做了什麼”,避免冗餘或過(guò)於簡(jiǎn)單。 1.使用統(tǒng)一格式,如docblock(/*/)用於類(lèi)、方法說(shuō)明,提升可讀性與工具兼容性;2.強(qiáng)調(diào)邏輯背後的原因,如說(shuō)明為何需手動(dòng)輸出JS跳轉(zhuǎn);3.在復(fù)雜代碼前添加總覽性說(shuō)明,分步驟描述流程,幫助理解整體思路;4.合理使用TODO和FIXME標(biāo)記待辦事項(xiàng)與問(wèn)題,便於後續(xù)追蹤與協(xié)作。好的註釋能降低溝通成本,提升代碼維護(hù)效率。

快速PHP安裝教程 快速PHP安裝教程 Jul 18, 2025 am 04:52 AM

ToinstallPHPquickly,useXAMPPonWindowsorHomebrewonmacOS.1.OnWindows,downloadandinstallXAMPP,selectcomponents,startApache,andplacefilesinhtdocs.2.Alternatively,manuallyinstallPHPfromphp.netandsetupaserverlikeApache.3.OnmacOS,installHomebrew,thenrun'bre

如何通過(guò)php中的索引訪(fǎng)問(wèn)字符串中的字符 如何通過(guò)php中的索引訪(fǎng)問(wèn)字符串中的字符 Jul 12, 2025 am 03:15 AM

在PHP中獲取字符串特定索引字符可用方括號(hào)或花括號(hào),但推薦方括號(hào);索引從0開(kāi)始,超出範(fàn)圍訪(fǎng)問(wèn)返回空值,不可賦值;處理多字節(jié)字符需用mb_substr。例如:$str="hello";echo$str[0];輸出h;而中文等字符需用mb_substr($str,1,1)獲取正確結(jié)果;實(shí)際應(yīng)用中循環(huán)訪(fǎng)問(wèn)前應(yīng)檢查字符串長(zhǎng)度,動(dòng)態(tài)字符串需驗(yàn)證有效性,多語(yǔ)言項(xiàng)目建議統(tǒng)一使用多字節(jié)安全函數(shù)。

學(xué)習(xí)PHP:初學(xué)者指南 學(xué)習(xí)PHP:初學(xué)者指南 Jul 18, 2025 am 04:54 AM

易於效率,啟動(dòng)啟動(dòng)tingupalocalserverenverenvirestoolslikexamppandacodeeditorlikevscode.1)installxamppforapache,mysql,andphp.2)uscodeeditorforsyntaxssupport.3)

See all articles