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

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

红米K50SPro曝光,搭载骁龙8处理器,K50Pro还值得买吗?去年下半年,米粉都在等待一款搭载高素质的LCD次旗舰,可惜红米K40S没有如约而至。今年跟随K50系列一起亮相,可惜少了一个LCD。于是乎红米Note11T补上了这个遗憾,该机将会暴雪员工成立美游戏业首个工会遭反对鞭牛士5月24日消息,据外媒消息,动视暴雪的电子游戏测试人员周一投票决定与美国通信工作者工会(CWA)组建工会,这是在美国上市的游戏公司首次组建工会。据美国国家劳工关系委员会(NL影像成手机厂商必争之地北京商报讯(记者金朝力王柱力)5月23日,小米与徕卡宣布达成战略影像合作。双方联合研制的第一款影像旗舰手机将于今年7月正式面世。同日,OPPO也正式发布双芯人像科技OPPOReno神U天玑8100顶级LCD屏组合,RedmiNote11TPro首销特惠价1699元起小熊在线讯5月24日,小米集团旗下品牌Redmi举办发布会,正式发布RedmiNote11TProRedmiNote11TPro两款新机,不断突破中端安卓手机的性能天花板。两款新机汇聚全球资源创新发展在第四次工业革命的背景下,智能技术和数字经济加速发展,带动创新资源流动和重聚。继土地人力资本管理和技术之后,数据成为新的生产要素,形成新的创新模式。各国纷纷加快建设国际科技创新中心中信证券拥抱中国数字新机遇不断做强做优做大数字经济是高质量发展的必然要求。在规范健康发展的政策基调下,中国数字经济将迎来全新发展机遇1)以东数西算为代表的数字新基建,将以更高的市场参与度强化战略布局2)通过599元百元机红米9A300万销售量到底值不值?我在头条搞创作畅聊数码新品4GB64GB是599元,4GB128GB是799,6GB256GB是899元,在整个手机市场上可以说是几乎价廉的手机了,还以小米为背书让其更叫让人信赖,vivo新机系列发布会大家好,我是小温。vivo近期上架s系列新机s15,上一期为大家介绍了s15,这一期来介绍s15的大杯版s15Pro。vivos15Pro首先用上了60度的微曲面,让握感感受微妙的不输钱学森的爱国科学家,世界却欠他一个诺贝尔奖1998年,一位96岁的高龄老人平静地离开这个世界了,整个中国几乎没有什么人关注到这则令人悲痛的新闻,自然也没有人因此觉得悲伤。赵忠尧但是在世界顶级的科技圈里,因为这个老人的离世而地球上有没有天然碳化硅,碳化硅为什么被称为莫桑石莫桑钻碳化硅材料的起源(天然篇)碳化硅材料具有优异的理化性能,这也使得它被人们发现的历程别具一格,慧眼的科学家最终在陨石中发现了它,可是碳化硅材料却也常常被人们称为人工晶体。这是为什么?起薪200万元!这个行业火了!随着毕业季的临近,人才争夺又一次成了热门话题,尤其是新兴产业的高科技人才,更是成为各大企业争抢的对象。博士毕业生被多家企业同时争抢张慧识是北京交通大学的一名博士毕业生,在今年的毕业
人工智能出发站,这才刚刚开始!什么是人工智能?你可能会说,阿尔法狗,机器人呗。反正不明觉厉,但看起来似乎好像应该是跟我们没有半毛钱的关系。嘿,终端侧AI是的,有一种AI,叫终端侧AI。顾名思义,终端侧AI是相对马云已经卸任,马化腾李彦宏还远么?我人生中最大的错误,就是创立了阿里巴巴。讲这句话的马云,一年后就要退休了。马云退休,一个时代的结束5年前马云卸任阿里CEO率先开始了中国互联网公司CEO交接的时代。明年的教师节卸任刘强东事件又出现了转折?事实到底是什么?一hr这个十一不平静!外媒的一篇报道,把刘强东再次推向深渊!路透社发出了刘强东性侵案的新细节,包括女生的微信求助内容,里面声称被灌醉,并想自杀,且保留了床单!微博网友简要翻译如下1马斯克如果你不能打败AI,就加入AI正视一下马斯克。上周,马斯克在由喜剧演员JoeRogan主持的TheJoeRoganExperience节目中,抽烟喝酒玩大宝剑,可谓扯足了眼球。实际上,在那场两个半小时的播客里面人工智能转战餐饮赛场?餐桌智媒体展现强大功能!就在昨天,创新工场董事长兼CEO人工智能科学家李开复博士在公开场合断言,AI和自动化可以在15年内取代4050岗位。想象一下,如果你走进了这座未来之城,进入了餐厅,与你对话的服务员居家清洁不用愁,小洁扫地机器人,省时省心又省力在结束了一天的繁忙工作之后,我们回到家中都想拥有一个干净舒适的环境。太累了不想自己动手?而扫地机器人正好可以解决这一问题。那么智能扫地机器人哪个牌子好?在众多品牌中,深受广大消费者家里有了一款智能小洁扫地机器人,你会有多幸福?家里有了一款智能的扫地机器人,你会有多幸福。就是当你拖着疲惫的身躯回到家时,进门看到干净整洁地面,心情也会变得舒畅不少吧。前段时间,我入手了一款这款SEGOO小洁M2扫地机器人,有儿媳甘拜下风,老阿姨卖这个月入过万,竟成家中老大老人开网店的独特优势。文吴鹤鸣编辑范婷婷亲,有什么需要的吗?对所有电商平台客服来说,这是一句再简单不过的开场白,熟练到成为了一种本能反应。但是对退休阿姨刘琳来说,这句话她践行了7年奥运冠军张家齐想要的娃娃,被他们做出了圈鸽子是个大三学生,但她已经有四个孩子了。她的孩子,是四个bjd娃娃(BallJointDoll,球形关节人形),三个男娃一个女娃。2019年夏天,她在微博上看到喜欢的画手太太在画娃古代纳凉神器赢了空调?河南大爷砸20多万住地下室,爆卖2000个夏天的命是竹夫人给的。文姜雪芬编辑范婷婷这几天热到想飞上天和太阳肩并肩,看谁能熬过谁。在地球上,开空调头晕,开风扇头疼。但是夏天又不能没有它们。然而有人居然撂下狠话,说这个夏天不用每月卖10000朵云,4个人治愈40000人从2013年开始,卢沧龙迷上了拍摄天空,云朵晚霞新月都是他镜头里的常客。六年后,他辞去工作创业,开始设计生产与天空相关的周边,并开了一家名为天空市集的网店。他在热爱与工作中找到了自