php配置学习

重要的以粗体+斜体进行展示

php-fpm.conf

emergency_restart_threshold = 10  :  在指定时间内,如果失效的php-fpm子进程数超过这个数值,php-fpm主进程进行优雅重启

emergency_restart_interval = 1m    :  设定emergency_restart_threshold设置采用的时间跨度

Pool Definitions

include=/usr/local/php72/etc/php-fpm.d/*.conf  :  一个名为Pool Definitions的区域,这个区域里的配置用于设置每个php-fpm进程池.php-fpm进程池中是一系列相关的php子进程.include=是引入进程池定义文件.在/usr/local/php72/etc/php-fpm.d/中有个www.conf就是进程池的配置文件

www.conf

[www]  ====>www是进程池的名称

user = nginx 拥有这个php-fpm进程池中子进程的系统用户

group = nginx 拥有这个php-fpm进程池中子进程的系统用户组

listen = 127.0.0.1:9000  php-fpm进程池监听的IP和端口,让php-fpm只接受nginx从这里传入的请求

listen.allowed_clients = 127.0.0.1  可以向这个php-fpm进程池发送请求的ip地址.127.0.0.1的设置.说明了只有当前设备能把请求转发给php-fpm进程池

pm.max_children = 51    设定php-fpm进程池最多有多少子进程.我们可以根据设备进行设置.比如你给php分配了512MB内存,然后每个php进程大概是5-15mb内存.512/10(平均单个进程内存) = 51 个子进程

分配可以参考如下方式  1.一共能给php分配多少内存?2.单个php进程平均消耗多少内存?可以用top命令查看,也可以在php代码最后调用memory_get_peak_usage()返回分配给 PHP 内存的峰值(字节数)3.获得能负担得起多少个php-fpm进程, 总内存/平均单个内存=php-fpm进程数

pm.start_servers = 2   php-fpm启动时进程池中立即可用的进程数.

pm.min_spare_servers = 1   php应用空闲的时候php-fpm进程池中存的进程数的最小值

pm.max_spare_servers = 3   php应用空闲的时候php-fpm进程池中存的进程数的最大值

pm.max_requests = 500     回收进程前,php进程最多处理的http请求数.这个设置有助于避免内存泄漏

slowlog = log/$pool.log.slow    这个日志文件用于记录处理时间超过request_slowlog_timeout的http请求信息

request_slowlog_timeout = 5    关联slowlog使用,超过这个时间就进行记录


php.ini

memory_limit = 128M    设置单个php进程可以使用的系统内存最大值

Zend OPcache扩展----用于缓存操作码

HTTP请求流程

客户端 ===> nginx ===>  转发给php-fpm  ===> 把请求交给php子进程处理 ==> 找到对应的代码==>  读取代码===>   将代码编译为操作码(字节码)===>   执行操作码===>  生成响应===>  发给nginx===>   客户端

缓存之后我们可以从缓存中直接读取并执行预先编译好的操作码,不用每次处理http请求的时候都查找,读取和编译

下面是关于这个zend  OPcache的配置,从php5.5就已经内置了Zend OPcahce扩展(我的是php7.2),下面的配置可以参考但别照抄应该根据自己的系统配置

开启

zend_extension=opcache.so

opcache.enable=1

opchache.memory_consumption=128   为操作码缓存分配多少内存量(MB)

opcache.interned_strings_buffer=8  用来存储驻留字符串的内存量(mb)

驻留字符串解释

php解释器在会找到相同字符串的多个实例,把这个字符串保存到内存中,如果再次使用相同的字符串,php解释器会使用指针,这么做能节省内存.在默认情况下,php驻留的字符串会隔离在各个php进程中.而opcache.interned_strings_buffer这个配置能将所有进程的驻留字符串保存到共享的缓冲区中.这样多个进程之间就可以使用这个驻留字符串.从而节省更多内存

opcache.max_accelerated_files=10000    操作码缓存中最多缓存多少个php脚本.这个值一定要比你php应用的文件数量大.但是也要在200----100000(不通php版本可能不一样,100000是我从Modern PHP看的)

opcache.revalidate_freq=2    设置多长时间检查一次php脚本是否有更新(单位:秒)

opcache.validate_timestamps=1   1:经过一段时间(revalidate_freq)php会检查php脚本的内容是否有变化.   0:不自动检查,需要自己手动清除缓存的操作码.(建议开发环境设为1,正式环境设为0).手动的方式是调用opcache_reset()这个php方法刷新

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,009评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,808评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,891评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,283评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,285评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,409评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,809评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,487评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,680评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,499评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,548评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,268评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,815评论 3 304
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,872评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,102评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,683评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,253评论 2 341

推荐阅读更多精彩内容

  • 1. Nginx的模块与工作原理 Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单...
    rosekissyou阅读 10,180评论 5 124
  • 一、安装依赖包。 [root@study~]# yum -y install gcc gcc++ gcc-c++ ...
    简言简语_wade阅读 1,034评论 0 1
  • 这篇是Nginx安装配置PHP(FastCGI)环境的教程。Nginx不支持对外部程序的直接调用或者解析,所有的外...
    SkTj阅读 3,083评论 2 20
  • 更改ip和dnsVi /etc/sysconfig/network-scripts/ifcfg-eth0vi /...
    Xwei_阅读 1,794评论 0 3
  • 昨天询问并约好时间再次前往Weplay,特别想学钢琴,时隔一年,朋友说只要通过不断的练习就会越来越好,兴趣也许来了...
    LittleNduo阅读 251评论 0 0