范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

PHPFPM学习记录

  什么是FastCGI
  请阅读FastCGI(Fast Common Gateway Interface)的理解
  这里不再赘述什么是(PHP-FPM)PHP5.4之前只是用来管理php-cgi进程的进程管理器,实现了fastCGI协议的程序PHP官方从PHP5.4版本将PHP-FPM集成到了PHP官方发布的包中,这时PHP-FPM同时具备进程管理器及PHP解释器的能力,直接把php解释器的功能集成进PHP-FPM了 PHP-FPM具备哪些功能支持平滑停止/启动的高级进程管理功能
  PHP-FPM进程是由一个master进程和多个work进程配合工作。master进程主要管理事件信号接受和分发。所有的请求都是由work进程处理并将处理结果返回。
  master接收到重启或重载配置文件的信号后,会通知所有的work进程不再接收新的请求。master会另起新的work进程来处理新的请求。然后会通知旧的work进程处理完成正在进行的工作后退出,运用此原理实现平滑停止和启动 可以工作于不同的uid/gid/chroot环境下,并监听不同的端口和使用不同的php.ini配置文件(可取代safe_mode的设置)
  gid为groupid,即组id,用来标识用户组的唯一标识符;uid为userid,即用户id,用来标识每个用户的唯一标示符。用户组:将同一类用户设置为同一组,如可将所有的系统管理员设置为admin组,便于分配权限,将某些重要的文件设置为所有admin组用户可以读写,这样可以进行权限分配,每个用户有一个唯一的用户id,每个用户组都有唯一的组id。charoot为change root,就是改变程序执行时所参考的根目录位置,可以增进系统的安全性,限制使用者能做的事。safe_mode是一种安全模式。 stdout 和 stderr 日志记录
  标准输出和标准错误日志记录 OPcode被意外破坏时紧急重启 文件上传优化支持 支持慢日志记录FastCGI 的增强功能
  例如 fastcgi_finish_request() - 一个特殊的函数来完成请求并刷新所有数据,同时继续做一些耗时的事情(视频转换、统计处理等) PHP-FPM配置说明
  1、php-fpm.conf全局配置说明
  pid:需要配置一个文件路径,用来存储master的进程id;示例:pid = /etc/php-fpm.pid
  error_log:错误日志的存储位置。默认:#INSTALL_PREFIX#/log/php-fpm.log。 如果设置为 "syslog",日志将不会写入本地文件,而是发送到 syslogd。示例:error_log = /var/log/php-fpm/error.log
  log_level:错误级别。可用级别为:alert(必须立即处理),error(错误情况),warning(警告情况),notice(一般重要信息),debug(调试信息)。默认:notice。示例:log_level = notice
  syslog.facility:设置何种程序记录消息,默认值:daemon,记录linux系统日志。示例: syslog.facility = daemon
  syslog.ident:为每条信息添加前缀。 如果在同一台服务器上运行了多个 FPM 实例,可以修改此默认值来满足需求。默认值:php-fpm。示例: syslog.ident = php-fpm
  log_limit:设置日志文件单行字符数上限。如果超出此方向,会进行换行处理。默认是1024字节log_limit = 4096
  log_buffering:日志是否记录缓冲区。默认值true,如果设置为no,会直接写入日志文件log_buffering = no
  emergency_restart_threshold(int):如果子进程在 emergency_restart_interval 设定的时间内收到该参数设定次数的 SIGSEGV 或者 SIGBUS退出信息号,则FPM会重新启动。0 表示"关闭该功能"。默认值:0(关闭)。示例: emergency_restart_threshold = 100
  emergency_restart_interval(mixd):用于设定平滑重启的间隔时间。这么做有助于解决加速器中共享内存的使用问题。可用单位:s(秒),m(分),h(小时)或者 d(天)。默认单位:s(秒)。默认值:0(关闭)。示例: emergency_restart_interval = 60s
  process_control_timeout(mixd):设置子进程接受主进程复用信号的超时时间。可用单位:s(秒),m(分),h(小时)或者 d(天)。默认单位:s(秒)。默认值:0(关闭)。即reload的时候,如果有正在执行的请求进程便会等待该进程设置的时长。而其他进程直接就结束掉。等待正在执行的进程执行完或者是超过了设置的时间后fpm的master进程才开始生成新的fpm worker进程.示例: process_control_timeout = 60s
  process.max(int):Fork 的最大 FPM work进程数。使用动态管理进程数量时,此设计可以控制在一个进程池内的全局进程数量,pm=dynamic模式下生效 。 使用需谨慎。默认值:0,为不限制。示例:process.max = 128
  process.priority (int):
  指定要应用于主进程的nice(2)优先级(仅在设置时)该值可以在-19(最高优先级)到20(最低优先级)之间变化,示例: process.priority = -19
  注意:只有当FPM主进程以root用户身份启动时,它才会工作-除非另有规定,否则池进程将继承主进程优先级
  daemonize (bool):设置 FPM 在后台运行。设置"no"将 FPM 保持在前台运行用于调试。默认值:yes。示例: daemonize = no
  注意:如果是通过dockerfile来启动php-fpm服务,这个就需要设置为no,否则php-fpm无法通过启动容器 同时启动(已踩过此坑)
  rlimit_files (int):设置 master 进程打开文件描述符的 rlimit 数量, 可使用 ulimit -n 查看。默认为系统默认值。示例: rlimit_files = 1024
  rlimit_core :设置核心rlimit最大限制值. 可用值: ‘unlimited’ 、0或者正整数. 默认值: 系统定义值,示例:rlimit_core = 0
  events.mechanism (string):设置 FPM 使用的事件机制。 可用以下选项:select、
  pool、epoll、kqueue (*BSD)、port (Solaris)。 默认值:不设置(自动检测)。示例: events.mechanism = epoll
  systemd_interval (int):使用 systemd 集成的 FPM 时,设置间歇秒数,报告健在通知给 systemd。 设置为 0 表示禁用。默认值:10.示例: systemd_interval = 10
  2、运行配置
  prefix (string):检测路径时使用的前缀。示例: prefix = /path/to/pools/$pool
  user (string):FPM 进程运行的Unix用户。必须设置。示例: user = apache
  group (string):FPM 进程运行的 Unix 用户组。如果不设置,就使用默认用户的用户组,示例: group = apache
  listen (string):设置接受 FastCGI 请求的地址。可用格式为:"ip:port","port","/path/to/unix/socket"。每个进程池都需要设置。示例: listen = [::]:9000
  注意:当web server 与应用服不是同一台(或不是同一个容器时)时,这里不能设置为127.0.0.1:9000,这样时不通的,(已踩坑)
  listen.backlog (int):设置 listen(2) 的 backlog 最大值。"-1"表示无限制。默认值(php7.4):511。示例: listen.backlog = 511
  listen.allowed_clients (string):设置允许连接到 FastCGI 的服务器 IPV4 地址。等同于 PHP FastCGI (5.2.2+) 中的 FCGI_WEB_SERVER_ADDRS 环境变量。仅对 TCP 监听起作用。每个地址是用逗号分隔的,如果没有设置或者为空,则允许任何服务器请求连接。默认值:any。 PHP 5.5.20 和 5.6.4起,开始支持 IPv6 地址。示例: listen.allowed_clients = 127.0.0.1,192.168.2.25
  listen.owner/listen.group/listen.mode(string):如果使用了 Unix 套接字,表示它的权限。在 Linux 中必须设置读/写权限,以便用于 WEB 服务器连接。 在很多 BSD 派生的系统中可以忽略权限允许自由连接。 默认值:运行所使用的用户和组,权限为 0660。示例:listen.owner = user listen.group = usergroup listen.mode = 0660
  listen.acl_users (string):当系统支持 POSIX ACL(Access Control Lists)时,可以设置使用此选项。 当设置了的时候,将会忽略 listen.owner 和 listen.group。 值是逗号分割的用户名列表。 PHP 5.6.5 起可用。示例: listen.acl_users = apache,nginx
  listen.acl_groups (string):作用和listen.acl_users同理,值是逗号分割的用户组名称列表。 PHP 5.6.5 起可用。 listen.acl_groups =apache,nginx
  pm (string):设置进程管理器如何管理子进程。可用值:static,ondemand,dynamic。必须设置。static - 子进程的数量是固定的(通过pm.max_children)。ondemand - 进程在有需求时才产生(当请求时才启动。与 dynamic 相反,在服务启动时 pm.start_servers 就启动了。dynamic - 子进程的数量在下面配置的基础上动态设置:pm.max_children,pm.start_servers,pm.min_spare_servers,pm.max_spare_servers。示例: pm = dynamic
  pm.max_children (int):pm 设置为 static 时表示创建的子进程的数量,pm 设置为 dynamic 时表示最大可创建的子进程的数量。必须设置。示例: pm.max_children = 30
  pm.start_servers (int):设置启动时创建的子进程数目。仅在 pm 设置为 dynamic 时使用。默认值:min_spare_servers + (max_spare_servers - min_spare_servers) / 2。示例:pm.start_servers = 5
  pm.min_spare_servers (int):设置空闲服务进程的最低数目。仅在 pm 设置为 dynamic 时使用。必须设置,示例: pm.min_spare_servers = 5
  pm.max_spare_servers (int):设置空闲服务进程的最大数目。仅在 pm 设置为 dynamic 时使用。必须设置,示例: pm.max_spare_servers = 30
  pm.process_idle_timeout (mixd):秒数,多久之后结束空闲进程。 仅当设置 pm 为 ondemand。 可用单位:s(秒),m(分),h(小时)或者 d(天)。默认单位:10s。示例: pm.process_idle_timeout = 10s
  pm.max_requests (int):设置每个子进程 在处理了多少个请求数量之后就重启。 如果设置为 "0" 则一直接受请求,不重启,等同于 PHP_FCGI_MAX_REQUESTS 环境变量。默认值:0。示例: pm.max_requests = 300
  pm.status_path (string):FPM 状态页面的网址。如果没有设置,则无法访问状态页面,默认值:无。示例: pm.status_path = /fpmStatus
  效果:
  localhost/fpmStatus
  ping.path (string):FPM 监控页面的 ping 网址。如果没有设置,则无法访问 ping 页面。该页面用于外部检测 FPM 是否存活并且可以响应请求。请注意必须以斜线开头(/);示例: ping.path = /fpm_ping
  效果:
  访问localhost/fpm_ping响应示例
  ping.response (string):用于定义 ping 请求的响应返回内容。返回为 HTTP 200 的 text/plain 格式文本。默认值:pong。示例:ping.response = 200
  效果:
  process.priority (int):设置 worker 的 nice(2)优先级(如果设置了的话)。 该值从 -19(最高优先级) 到 20(更低优先级)。 默认值:不设置。示例:process.priority = -19
  access.log (string):Access log 文件。 默认值:不设置  access.log = /var/logs/php-fpm.access.log
  access.format (string):access log 的格式。 默认值: "%R - %u %t "%m %r" %s",示例: access.format = "%R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%"
  slowlog (srting):慢日志文件及路径,示例:slowlog = /var/log/php-fpm/www-slow.log
  request_slowlog_timeout (mixed):记录慢日志的请求时间阀值,当一个请求处理时间超出该配置后,会记录到slowlog中。设置为 "0" 表示 "Off"。可用单位:s(秒),m(分),h(小时)或者 d(天)。默认单位:s(秒)。默认值:0(关闭)。request_slowlog_timeout = 3s
  request_terminate_timeout (mixd):设置单个请求的超时中止时间。该选项可能会对 php.ini 设置中的 "max_execution_time" 因为某些特殊原因没有中止运行的脚本有用。设置为 "0" 表示 "Off"。可用单位:s(秒),m(分),h(小时)或者 d(天)。默认单位:s(秒)。默认值:0(关闭)。示例:request_terminate_timeout = 10s
  chroot  (string):启动时的 Chroot 目录。所定义的目录需要是绝对路径。如果没有设置,则 chroot 不被使用。示例: chroot = /dir
  chdir (string):设置启动目录,启动时会自动 Chdir 到该目录。所定义的目录需要是绝对路径。默认值:当前目录,或者根目录(chroot时)。示例: chdir = /var/www
  catch_workers_output (boolean):重定向运行过程中的 stdout 和 stderr 到主要的错误日志文件中。如果没有设置,stdout 和 stderr 将会根据 FastCGI 的规则被重定向到 /dev/null。默认值:无。示例: catch_workers_output = yes
  clear_env (boolean):为 FPM worker 进程清除环境变量。 在进程池配置文件里设置环境变量前,阻止任意系统的环境变量进入 FPM worker 进程。 自 PHP 5.4.27、 5.5.11 和 5.6.0 起。 默认值: Yes,示例: clear_env = yes
  security.limit_extensions (string):限制 FPM 允许解析的脚本扩展名。 此设置可以预防 web 服务器配置的错误。 应当限制 FPM 仅仅解析 .php 扩展名,阻止恶意用户使用其他扩展名运行 php 代码。 默认值: .php .phar,示例:security.limit_extensions = .php

OPPO为新机开路,天玑120060W闪充跌至1479元,还有120Hz三星屏4月24号下午,预热好几天的OPPOK10系列正式发布了,其中OPPOK10首发联发科天玑8000MAX处理器,售价1999元起,而OPPOK10Pro搭载骁龙888处理器,售价2老婆想要一台华为手机,Mate40和P50纠结很久了,最终选择了P50老婆心心念念想要一台华为手机,在Mate40和P50之间纠结了很久,最终选择入手了华为P50,选它主要有两点原因,一是因为mate50买不到,二是华为p系列一直都是颜控,看着就很喜电脑突然断网怎么办?重启,重启可以解决99的问题查看网卡是否禁用,右键网络图标选择属性或右下角网络图标选择打开网络和共享中心,选择更改适配器设置,查看本地连接是否为灰色,双击启用。Ip地址问题。右键网与刘耕宏一起跳龙拳,康佳智能电视给你沉浸居家健身新体验遍寻不着,犹叹当年小蛮腰。空余恨,一身五花膘!随着露肉季的到来,健身行动迫在眉睫。紧张的工作之余,居家健身成为了目前主流的健身模式。刘畊宏健身直播的爆火,更是将居家健身的热度推向高降维打击,摩托罗拉正面刚红米K50?进入2022年四月份以来,国内手机市场竞争是非常激烈的,特别是2000元到3000元这个价格区间。说句实在话,红米K50刚发布的时候,凭借着自身强悍的配置和超高的性价比,确实是成为iPhone14新消息概念图Pro独享功能真全面屏,信息量很大事关苹果新机的消息,感觉如今的市场中每时每刻都有关于iPhone14系列的新消息,从一块来说的外观设计预测,到后来的硬件参数预测,最后就是细节拍照等方面的预测。不得不承认,一款新机一加Ace和红米K50相比较,如何选择?谁更值得买?一加Ace作为一款颜值与性能并重的手机,外观设计上很时尚,不将就,属于轻薄手机,所以在手感上要比红米K50要好的多。核心配置上,一加ace搭载的是天玑8100Max处理器,性能上和骁龙888Plus512GB存储,跌至2499元,还有5000mAh大电池目前用户对智能手机的主要需求有性能存储续航和拍照等,其中性能是比较重要的,很多用户购买智能手机,都是看性能强不强,因为性能强大,后续体验会更好,当然手机的品质也是至关重要,使用一两一加新机发布,天玑8100Max150W闪充IMX766,到手价仅2499元4月份的手机市场也是相当热闹的,新机一款接着一款发布,包括vivoXFold,vivoXNote,iQOONeo6,真我Q5系列,小米Civi1S,HiNova9SE,一加Ace等红米K60Pro曝光全视一体屏5600mAh电池,妥妥的真香机在手机市场中,性价比高的产品往往能吸引更多的消费者,毕竟很多人更愿意花更少的钱买到性能更强的产品。红米手机是一个大家都耳熟能详的手机品牌,同时极致的产品性价比和产品性能,使得红米手江小涓美团骑手77来自农村,数字平台为农村贫困人群提供更多就业机会美团外卖平台的骑手,77来自农村,约四分之一来自原来的国家贫困县。他们在平台上找工作,进城一两天就到岗。4月21日,全国人大常委全国人大社会建设委员会副主任中国行政管理学会会长江小
旅行时和异性拼房是种怎样的体验?旅行时和异性拼房是种怎样的体验?1拼房完了之后她成了我的女朋友2女神打赌输了跟我拼房结果放着我一个大活人不管,躺在床上跟隔壁房的帅哥聊电话3你们这种跟一个女生拼房的弱爆了我跟两个女男生第一次见女生卸妆的反应男生第一次见女生卸妆的反应白天是白的晚上是黑的真巧原来她的眼睛没那么大睫毛没那么长,皮肤没那么白化妆太神奇了第一次看我卸妆的时候他在旁边眼睛眨都不眨地盯着终于卸完了,可以放心亲了哎阿凡达续集片场照曝光,格蕾丝和夸奇上校确认回归,令人期待近日,著名科幻大片阿凡达续集曝光了片场拍摄照制片人乔恩兰道,演员西格妮韦弗和乔大卫摩尔共同亮相。由西格妮韦弗饰演的格蕾丝奥古斯汀博士是一位植物学家,也是阿凡达计划的首席科学家,但在从破冰行动到猎狐,真实大案改编剧口碑容易爆在播电视剧猎狐以公安部2014年启动的缉捕境外在逃经济犯罪嫌疑人的专项行动猎狐行动为原型创作而成,剧中的对经济犯罪的真实揭露,引发观众关注。不仅是猎狐,近年来以真实案件改编高度还原这部良心剧你根本舍不得快进。他,是狸猫换太子典故里的那个太子他,也是文人才子收割机。宋朝的名人晏殊欧阳修司马光包拯苏洵苏轼苏辙曾巩王安石都是他的贤臣,宋仁宗皇帝生涯要制衡得住这么多才子的口水和墨水当真不易。电误杀里那些隐藏的细节与彩蛋,你都看懂了么?去年误杀的上映,给了国内观众不小的惊喜。充满反转的剧情,紧张刺激的叙事节奏,精彩纷呈的演员表现,让人觉得酣畅淋漓,大呼过瘾,可以说是近些年来难得一见的优秀国产犯罪电影。误杀更加值得比亚迪海豚Vs欧拉好猫,起步价10万元左右的电动车,谁才是王者随着比亚迪海豚紧锣密鼓的上市,又将人们的注意力吸引到高配入门级新能源车市场。而同样作为入门级新能源车,以比亚迪海豚为代表的产品已经将价位推进到了十万元以上。不得不说,在这一价格区间计算机毕业设计之全网最好的Java家教平台系统开发技术SpringMVCSpringJDBCTemplateMySQL创新点1)接入了百度地图web服务API,在发布需求时填写家教地址能够匹配学员用户输入关键词的地点推荐列表,计算机毕业设计之SSM宠物领养救助系统平台功能模块功能图数据库设计ER图开发技术前端bootstrapjsp模板引擎ajaxjQuery百度echarts图表后端ssm框架maventomcat数据库mysql创新点特色数计算机毕业设计SpringBootVue快递代取小程序简介基于微信小程序的校园快递代取平台在小程序端具有注册登录发单接单查看全部订单查看我的发单查看我的接单用户留言平台公告等功能,通过web端进行后台管理,包括用户管理,订单管理留言管计算机毕业设计SSMMUI高校后勤服务平台appweb系统介绍高校后勤服务平台有APP端(webapp)和WEB端(PC)前端使用技术muivueueditor百度echarts后端使用技术springspringmvcmybatis