91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php-fpm參數的示例分析

發布時間:2021-10-13 11:00:03 來源:億速云 閱讀:114 作者:小新 欄目:開發技術

小編給大家分享一下php-fpm參數的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

ps aux |grep php-fpm |more
查看php-fpm總數
php-fpm.conf 配置
pid string
PID文件的位置. 默認為空.
error_log string
錯誤日志的位置. 默認: 安裝路徑#INSTALL_PREFIX#/log/php-fpm.log.
log_level string
錯誤級別. 可用級別為: alert(必須立即處理), error(錯誤情況), warning(警告情況), notice(一般重要信息), debug(調試信息). 默認: notice.
emergency_restart_threshold int
如果子進程在emergency_restart_interval設定的時間內收到該參數設定次數的SIGSEGV 或者 SIGBUS退出信息號,則FPM會重新啟動。 0 表示 ‘關閉該功能'. 默認值: 0 (關閉).
emergency_restart_interval mixed
emergency_restart_interval用于設定平滑重啟的間隔時間. 這么做有助于解決加速器中共享內存的使用問題. 可用單位: s(秒), m(分), h(小時), 或者 d(天). 默認單位: s(秒). 默認值: 0 (關閉).
process_control_timeout mixed
設置子進程接受主進程復用信號的超時時間. 可用單位: s(秒), m(分), h(小時), 或者 d(天) 默認單位: s(秒). 默認值: 0.
daemonize boolean
設置FPM在后臺運行. 設置 ‘no' 將 FPM 保持在前臺運行用于調試. 默認值: yes.
運行配置區段
在FPM中,可以使用不同的設置來運行多個進程池。 這些設置可以針對每個進程池單獨設置。
listen string
設置接受FastCGI請求的地址. 可用格式為: ‘ip:port', ‘port', ‘/path/to/unix/socket'. 每個進程池都需要設置.
listen.backlog int
設置 listen(2) 的半連接隊列長度. ‘-1′ 表示無限制. 默認值: -1.
listen.allowed_clients string
設置允許連接到FastCGI的服務器IPV4地址. 等同于PHP FastCGI (5.2.2+)中的 FCGI_WEB_SERVER_ADDRS環境變量. 僅對TCP監聽起作用. 每個地址是用逗號分隔. 如果沒有設置或者為空,則允許任何服務器請求連接. 默認值: any.
listen.owner string
如果使用,表示設置Unix套接字的權限. 在Linux中,讀寫權限必須設置,以便用于WEB服務器連接. 在很多BSD派生的系統中可以忽略權限允許自由連接. 默認值: 運行所使用的用戶合租, 權限為0666.
listen.group string
參見 listen.owner.
listen.mode string
參見 listen.owner.
user string
FPM 進程運行的Unix用戶. 必須設置.
group string
FPM 進程運行的Unix用戶組. 如果沒有設置,則默認用戶的組被使用.
pm string
設置進程管理器如何管理子進程. 可用值: static, dynamic. 必須設置.
static – 子進程的數量是固定的 (pm.max_children).
dynamic – 子進程的數量在下面配置的基礎上動態設置: pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.
pm.max_children int
子進程的數量,pm 設置為 static 時表示創建的, pm 設置為 dynamic 時表示最大可創建的. 必須設置.
該選項設置可以同時提供服務的請求數限制. 類似 Apache 的 mpm_prefork 中 MaxClients 的設置和 普通PHP FastCGI中的 PHP_FCGI_CHILDREN 環境變量.
pm.start_servers in
設置啟動時創建的子進程數目. 僅在 pm 設置為 dynamic 時使用. 默認值: min_spare_servers + (max_spare_servers – min_spare_servers) / 2.
pm.min_spare_servers int
設置空閑服務進程的最低數目. 僅在 pm 設置為 dynamic 時使用. 必須設置.
pm.max_spare_servers int
設置空閑服務進程的最大數目. 僅在 pm 設置為 dynamic 時使用. 必須設置.
pm.max_requests int
設置每個子進程重生之前服務的請求數. 對于可能存在內存泄漏的第三方模塊來說是非常有用的. 如果設置為 '0′ 則一直接受請求. 等同于 PHP_FCGI_MAX_REQUESTS 環境變量. 默認值: 0.
pm.status_path string
FPM狀態頁面的網址. 如果沒有設置, 則無法訪問狀態頁面. 默認值: none.
ping.path string
FPM監控頁面的ping網址. 如果沒有設置, 則無法訪問ping頁面. 該頁面用于外部檢測FPM是否存活并且可以響應請求. 請注意必須以斜線開頭 (/).
ping.response string
用于定義ping請求的返回相應. 返回為 HTTP 200 的 text/plain 格式文本. 默認值: pong.
request_terminate_timeout mixed
設置單個請求的超時中止時間. 該選項可能會對php.ini設置中的'max_execution_time'因為某些特殊原因沒有中止運行的腳本有用. 設置為 '0′ 表示 ‘Off'. Available units: s(econds)(default), m(inutes), h(ours), or d(ays). Default value: 0.
request_slowlog_timeout mixed
當一個請求該設置的超時時間后,就會將對應的PHP調用堆棧信息完整寫入到慢日志中. 設置為 '0′ 表示 ‘Off'. 可用單位: s(秒)(默認), m(分), h(小時), 或者 d(天). 默認值: 0.
slowlog string
慢請求的記錄日志. 默認值: #INSTALL_PREFIX#/log/php-fpm.log.slow.
request_slowlog_timeout
范圍: php-fpm.conf 選項
分類: 方便
這個選項能讓你跟蹤執行緩慢的腳本并把他們連同調用棧一起記錄再日志文件中。例如如下設置:
<value name="request_slowlog_timeout">5s</value>
<value name="slowlog">logs/slow.log</value>
記錄的 slow.log 可能是這個樣子:

復制代碼 代碼如下:


Sep 21 16:22:19.399162 pid 29715 (pool default)
script_filename =  /local/www/stable/www/catalogue.php
[0x00007fff23618120] mysql_query()  /srv/stable/common/Database/class.MySQLRequest.php:20
[0x00007fff23618560]  getResult() /srv/stable/common/Database/class.Facade.php:106
[0x00007fff23618aa0] query()  /srv/stable/common/mysite.com/ORM/class.UsersMapper.php:99
[0x00007fff23618d60] resolveByID()  /srv/stable/common/mysite.com/ORM/class.User.php:629
[0x00007fff236193b0]  getData() /srv/stable/common/class.DataEntity.php:90
[0x00007fff236195d0]  load() /srv/stable/common/mysite.com/ORM/class.User.php:587
[0x00007fff23619a00] getIsHidden()  /srv/stable/common/mysite.com/class.User.php:42
[0x00007fff2361a470]  getName() /local/www/stable/www/catalogue.php:41


同時,在 error.log 中保存了如下記錄:
Sep 21 16:22:19.399031 [WARNING] fpm_request_check_timed_out(), line 135:  child 29715, script '/local/www/stable/www/catalogue.php' (pool default)  executing too slow (5.018002 sec), logging
正如你再例子中看到的,腳本運行了 5 秒以上,并很可能是由于 mysql 響應慢造成的(top backtrace)。
rlimit_files int
設置文件打開描述符的rlimit限制. 默認值: 系統定義值.
rlimit_core int
設置核心rlimit最大限制值. 可用值: ‘unlimited' 、0或者正整數. 默認值: 系統定義值.
chroot string
啟動時的Chroot目錄. 所定義的目錄需要是絕對路徑. 如果沒有設置, 則chroot不被使用.
chdir string
設置啟動目錄,啟動時會自動Chdir到該目錄. 所定義的目錄需要是絕對路徑. 默認值: 當前目錄,或者/目錄(chroot時).
catch_workers_output boolean
重定向運行過程中的stdout和stderr到主要的錯誤日志文件中. 如果沒有設置, stdout 和 stderr 將會根據FastCGI的規則被重定向到 /dev/null . 默認值: 空.
你還可以在為一個運行池傳遞附加的環境變量,或者更新PHP的配置值. 你可以在 php-fpm.conf 中下如下面的配置參數來做到:
Example #1 給運行池傳遞環境變量和設置PHP的配置值
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 32M
PHP配置值通過 php_value 或者 php_flag 設置,并且會覆蓋以前的值. 請注意 disable_functions 或者 disable_classes 在 php.ini 之中定義的值不會被覆蓋掉, 但是會將新的設置附加在原有值的后面.
使用 php_admin_value 或者 php_admin_flag 定義的值,不能被PHP代碼中的 ini_set() 覆蓋.
FAQ
Q:php-fpm 可以和 ZendOptimize 一起用嗎?
A:完全可以。

Q:php-fpm 可以和 ZendPlatform、xcache、eAccelerator、APC 等的優化器一起用嗎?
A:是的。php-fpm 的架構和任何一種用于高速 opcode 緩存的共享內存都適用。唯一的限制是:所有的 worker 進程只能適用一個緩存,即使它們用不同的 uid/gid 運行

Q:為什么我要給 php 打補丁呢?spawn-fcgi 不需要這樣!
A:php-fpm 的創建是為了增強方便管理。沒有打過補丁的 php 不能做到:

平滑重啟 php 而不丟失請求,包括升級 php 二進制文件 以及/或者 擴展。
用不同的 uid / gid / chroot 環境運行 worker 進程
所有的設置只有一個配置文件
根據負載動態請求 (TODO)
對 php 請求實時統計性能 (TODO)

Q:為什么要用 root 運行 php-fpm 呢?這安全嗎?
A:用 root 啟動 php-fpm 只有在你打算用不同 uid/gid 的 php 來處理請求時才有意義。比如,在共享主機上的不同站點。因為只有在 master 進程用 root 運行的時候,才可以建立不同 uid/gid 的子進程。這是相當安全的。master 進程自己從來不會去處理請求。
在任何情況下,php- fpm 都不會用 root 身份來處理請求。

Q:php-fpm 可以加速 php 腳本處理速度嗎?
A:不,它不會影響處理速度。不過,如果你使用一些特殊特性,對于一些特定的請求還是可以有性能提升的。

Q:如果我把我的網站從 mod_php 遷移到 php-fpm ,我會得到性能提升嗎?
A:通常,當有服務器上有大量空閑內存可用時,能從遷移到 php-fpm 中得到的性能提升可能不大。但是如果內存并不充裕,性能提升還是很可觀的,在某些情況下可以達到 300-500%。這可能是由于 nginx + php-fpm 一般會比 Apache + mod_php 使用更少的內存。而且 VFS 緩存會由于更多的空余內存而更有效地工作。

Q:php- fpm 將來會被官方的 php 包含嗎?
A:我希望如此。目前,php-fpm 代碼的協議是 GPL 。所以現在 php-fpm 的代碼與 php 協議(類似 bsd)并不匹配。這是臨時性措施。這樣的選擇是為了簡化開發過程。一旦代碼的功能完備,比如自適應生成子進程和其他一些東西,協議會改為一個相匹配的。之后,php-fpm 會正式發布給 php 開發團隊,并被建議包含。

以上是“php-fpm參數的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

塘沽区| 阿图什市| 靖宇县| 罗平县| 桃园县| 福泉市| 自治县| 阿图什市| 易门县| 浏阳市| 庄河市| 吉木乃县| 汕尾市| 时尚| 长兴县| 罗江县| 元氏县| 阳泉市| 修水县| 高州市| 淳化县| 农安县| 九台市| 和龙市| 瓦房店市| 扎兰屯市| 灵丘县| 临沧市| 宜都市| 长汀县| 龙井市| 响水县| 西吉县| 枣阳市| 呼和浩特市| 手游| 贵溪市| 延边| 吉首市| 商都县| 湘潭市|