您好,登錄后才能下訂單哦!
如何配置PHP7中的php.ini、php-fpm和www.conf文件?相信很多新手小白還沒學會這個技能,通過這篇文章的總結(jié),希望你能學會這個技能。以下資料是實現(xiàn)的步驟。
extension_dir=""
expose_php = Off
display_errors = Off
log_errors = On
zend_extension=opcache.so extension=mysqli.so extension=pdo_mysql.so
date.timezone = PRC
opcache.enable=1
open_basedir = /usr/share/nginx/html;
error_log = /usr/local/php/logs/php-fpm.log
include=/usr/local/php7/etc/php-fpm.d/*.conf
pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = notice
emergency_restart_threshold = 60
emergency_restart_interval = 60s
process_control_timeout = 0
daemonize = yes
listen = 127.0.0.1:9000
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www listen.group = www listen.mode = 0666
user = www group = www
php-fpm 進程池優(yōu)化方法
pm = dynamic
pm.max_children
pm.start_servers
pm.min_spare_servers
pm.max_spare_servers
pm.max_requests = 1000
pm.status_path = /status
ping.path = /ping
ping.response = pong
request_terminate_timeout = 0
request_slowlog_timeout = 10s
slowlog = log/$pool.log.slow
rlimit_files = 1024
rlimit_core = 0
chroot =
chdir =
catch_workers_output = yes
clear_env = no
??????????
variables_order參數(shù)詳解在另一篇文章 url: juejin.im/post/5c4eea…
max_requests參數(shù)配置不當,可能會引起間歇性502錯誤:pm.max_requests = 1000
設(shè)置每個子進程重生之前服務(wù)的請求數(shù). 對于可能存在內(nèi)存泄漏的第三方模塊來說是非常有用的. 如果設(shè)置為 '0' 則一直接受請求. 等同于 PHP_FCGI_MAX_REQUESTS 環(huán)境變量. 默認值: 0. 這段配置的意思是,當一個 PHP-CGI 進程處理的請求數(shù)累積到 500 個后,自動重啟該進程。
但是為什么要重啟進程呢?
一般在項目中,我們多多少少都會用到一些 PHP 的第三方庫,這些第三方庫經(jīng)常存在內(nèi)存泄漏問題,如果不定期重啟 PHP-CGI 進程,勢必造成內(nèi)存使用量不斷增長。因此 PHP-FPM 作為 PHP-CGI 的管理器,提供了這么一項監(jiān)控功能,對請求達到指定次數(shù)的 PHP-CGI 進程進行重啟,保證內(nèi)存使用量不增長。
request_slowlog_timeout設(shè)置一個超時的參數(shù),slowlog設(shè)置慢日志的存放位置,tail -f /var/log/www.slow.log即可看到執(zhí)行過慢的php過程。 大家可以看到經(jīng)常出現(xiàn)的網(wǎng)絡(luò)讀取超過、Mysql查詢過慢的問題,根據(jù)提示信息再排查問題就有很明確的方向了。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。