PHP特性知识点扫盲 - 下篇

概述

在实际的生产环境中遇到了实际需要解决的问题,需要把服务部署的方式梳理出来,在同一个服务器中部署多个PHP环境,架构图如下:

架构方案

在这里插入图片描述

在工作实践中遇到的很多问题的普遍性都是相通的,公司运行的可新项目都是版本比较低的,需要一步一步去升级、优化,也就是一点一点的分步骤优化,有着诸多挑战,技术人的成长就是敢于一步一步抽丝剥茧,最后让架构变的丝滑。

依然使用Nginx作为链接PHP-FPM的Web服务器,分别使用9000、9001、90002端口分别去搭建不同的版本的php-fpm,设置Nginx不同的运行$document_root中,这个是预设方案,在实施过程中需要准备一些准备的知识,谋定而后动。

php-fpm 全局配置

emergency_restart_threshold在指定的一段时间内,如果失效的PHP_FPM子进程数超过这个值,PHP_FPM主进程就优雅重启。

emergency_restart_threshold = 10

设定emergency_restart_interval设置采用的时间跨度。

emergency_restart_interval = 0

配置进程池

下面要详细介绍的是php-fpm的配置:

  • user 拥有这个PHP-FPM进程池中的子进程系统用户,要把这个设置的值设为运行PHP应用的非根用户名户名。

  • group 拥有这个PHP-FPM进程池中的子进程系统用户组。要把这个设置的值设为运行PHP应用的非根用户所属的用户组名。

  • listen PHP-FPM进程池监听的IP地址和端口号,让PHP-FPM只接受Nginx从这里传入的请求。127.0.0.1:9000让指定的PHP-FPM进程池监听从本地端口9000进入的。可以使用任何大于1024且没被其他系统进程占用的端口号。

  • pm.max_children 这个设置设定任何时间点PHP-FPM进程池中最多能有多少个进程。

  • pm.start_servers = 3 PHP-FPM启动时PHP-FPM进程池中立即可用的进程数。

  • pm.min_spare_servers PHP应用空闲时PHP-FPM进程池中可以存在的进程数量最小值。这个值一般比pm.start_servers设置的值一样,用于确保新进入的Http请求无需等待PHP-FPM在进程池中重新初始化进程。

  • pm.max_spare_servers PHP应用空闲时PHP-FPM进程池中可以存在的进程数量最大值。

  • pm.max_requests
    回收进程之前,PHP_FPM进程池中各个进程最多能处理的Http请求数量。这个设置有助于避免PHP扩展库因编写拙劣而导致不断泄露内存。

  • showlog 这个设置的值是一个日志文件在文件系统中的绝对路径。这个日志文件用于记录处理时间超过n秒的Http请求信息,以便找出PHP应用的瓶颈,进行调试,记住,PHP_FPM进程池所属用户和用户组必须有这个文件的写权限。

  • request_showlog_timeout 如果当前Http请求的处理时间超过指定的值,就把请求的回溯信息写入showlog设置指定的日志文件。

user = nobodygroup = nobodylisten = 127.0.0.1:9000  pm.max_children = 51pm.start_servers = 3pm.min_spare_servers = 2pm.max_spare_servers = 4pm.max_requests = 1000showlog = /path/to/showlog.logrequest_showlog_timeout = 5s

有时间在更新同一个服务器上部署多个PHP版本的服务器的内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/590939.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

复盘2023年,让你变强的54句话(句句扎心!)

w关注 ▲晓衡的游戏开发圈▲ 一起共同成长这是晓衡公众号第 525 篇原创分享 罗翔老师说:“我觉得人最大的痛苦,就是无法跨越知道和做到的鸿沟。”最怕问初衷,梦幻成空,年少励志三千里,踌躇百步无寸功,转眼高…

微服务-理论(CAP,一致性协议)

CAP理论 关于CAP理论的介绍可以直接看这篇文章 CAP分别是什么? 一致性(Consistency 一致性包括强一致性,弱一致性,最终一致性。 一致性其实是指数据的一致性,为什么数据会不一致呢? 如上面这张图&…

Redis缓存穿透,缓存击穿,缓存雪崩

文章目录 Redis缓存穿透,缓存击穿,缓存雪崩1. 缓存穿透1.1 解决方案1:缓存空数据1.2 解决方案2:使用布隆过滤器1.2.1 布隆过滤器介绍 2. 缓存击穿2.1 解决方案1:互斥锁2.2 解决方案2:逻辑过期 3. 缓存雪崩3…

【漏洞复现】OpenSSH ProxyCommand命令注入漏洞(CVE-2023-51385)

文章目录 前言一、漏洞背景二、漏洞详情三、影响范围四、漏洞验证 前言 OpenSSH存在命令注入漏洞(CVE-2023-51385),攻击者可利用该漏洞注入恶意Shell字符导致命令注入。 一、漏洞背景 OpenSSH 是 SSH (Secure SHell&#xff09…

Oracle笔记-查看表已使用空间最大空间

目前以Oracle18c为例,主要是查这个表USER_SEGMENTS。 在 Oracle 18c 数据库中,USER_SEGMENTS 是一个系统表,用于存储当前用户(当前会话)拥有的所有段的信息。段是 Oracle 中分配存储空间的逻辑单位,用于存…

HTTP协议编程实战(二)实战二

使用析构函数主要是在里面关闭套接字(socket); waitForReadyRead()里面参数是毫秒,失败返回false; \r\n表示请求头部已经结束了,HTTP/1.1是版本号,200 ok表示请求响应成功 关闭的话就在前面加/

javaScript中的常用事件

文章目录 javaScript中什么是事件?基本原理javaScript中的时间使用1,窗口事件1.1、onblur1.2、onfocus1.3、onload1.4、onresize 2,表单事件2.1、onchange2.2、**oninput**2.3、oninvalid2.4、onselect2.5、onsubmit 3,键盘事件3.…

国科大图像处理2023速通期末——汇总2017-2019

国科大2023.12.28图像处理0854期末重点 图像处理 王伟强 作业 课件 资料 一、填空 一个阴极射线管它的输入与输出满足 s r 2 sr^{2} sr2,这将使得显示系统产生比希望的效果更暗的图像,此时伽马校正通常在信号进入显示器前被进行预处理,令p…

TF-IDF(Term Frequency-Inverse Document Frequency)算法 简介

TF-IDF(Term Frequency-Inverse Document Frequency)是一种用于信息检索和文本挖掘的常用算法。它用于评估一个词对于一个文档集合中某个文档的重要性。 这个算法的基本思想是:如果一个词在一个文档中频繁出现,并且在整个文档集合…

计算机网络第一课

先了解层级: 传输的信息称为协议数据单元(PDU),PDU在每个层次的称呼都不同,见下图:

我的CSDN 512天创作者纪念日总结:高效、高现

文章目录 512天创作者纪念日:2023年的12月31日CSDN的512天消息提醒第一篇文章,最后一篇文章总计847篇文章,每月发文分布512天,各专栏文章统计512天,互动总成绩 512天创作者纪念日:2023年的12月31日 2023年…

我最喜欢的趣味几何书-读书笔记

我最喜欢的趣味几何书-读书笔记 1、利用阴影的长度来测量 公元前6世纪,古希腊哲学家泰勒思为了测量金字塔,想到了这样的方法:选择了一个特殊的时间,在那个时间,他自身的影子长度刚好跟他的身高相等。此时&#xff0c…

【并发设计模式】聊聊Thread-Per-Message与Worker-Thread模式

在并发编程中,核心就是同步、互斥、分工。 同步是多个线程之间按照一定的顺序进行执行,比如A执行完,B在执行。而互斥是多个线程之间对于共享资源的互斥。两个侧重点不一样,同步关注的是执行顺序,互斥关注的是资源的排…

腾讯云轻量应用服务器详细介绍_2024年更新

腾讯云轻量应用服务器开箱即用、运维简单的轻量级云服务器,CPU内存带宽配置高并且价格特别便宜,大带宽,但是限制月流量。轻量2核2G3M带宽62元一年、2核2G4M优惠价118元一年,540元三年、2核4G5M带宽218元一年,756元3年、…

pyqt5用qtdesign设计页面时,去掉页面的空白界面、边框和标题栏

前言 Windows默认的标题栏有时候自己觉得不太美观,就想自己设计一个,然后把默认的去掉,并且把长方形的边框和多余的空表界面去掉,就是下图中圈出来的区域: 去掉之后的效果如图: 这样我们就可以自定义窗…

【排序算法】【二叉树】【滑动窗口】LeetCode220: 存在重复元素 III

作者推荐 【二叉树】【单调双向队列】LeetCode239:滑动窗口最大值 本文涉及的基础知识点 C算法&#xff1a;滑动窗口总结 题目 给你一个整数数组 nums 和两个整数 indexDiff 和 valueDiff 。 找出满足下述条件的下标对 (i, j)&#xff1a; i ! j, abs(i - j) < indexDi…

盾构机数据可视化监控平台 | 图扑数字孪生

2002 年,中国 863 计划把盾构机列为国家关键技术&#xff0c;以国家力量为主导&#xff0c;集中力量进行盾构机专项研究。在 2008 年&#xff0c;中国成功研制出属于自己的国产盾构机——中国中铁一号&#xff0c;同时还打通了天津地铁 1500m 的隧道。此举更彻底地打破了国内盾…

2024-01-01 力扣高频SQL50题目 练习笔记

1. 1661求机器平均运行时间 在做这道题的时候&#xff0c;我遇到了4个问题 # 求平均的问题 如何找到个数? -> 相减对应列值后,直接average 就行。因为avg就是自动确定要除的个数&#xff08;当然要联合正确的group by 分组&#xff09; # 怎么根据machine_id和process_id…

RFC6749-OAuth2.0

前言 最近在项目中需要实现SSO(单点登录)功能,以实现一处注册,即可在任何平台之间登录的功能。我们项目中并没有直接对接第三方认证系统而是通过集成keycloak 完成一系类安全协议的对接工作。如果我们在代码级别自己完成各种安全协议的对接是一项十分大的工程。不仅要走统一的…

摄影-基础知识

光圈&#xff0c;快门&#xff0c;感光度决定了一张相片的受光程度 光圈 瞳孔 快门 约等于 眼皮(但是实际上并不是&#xff0c;更像镜头盖) 感光度 视网膜上的感光能力 光圈越大 景深越大&#xff0c;也就是画面越模糊 快门时间越短&#xff0c;越能抓住某个瞬间 快门时间…