php CURL请求502

增加 pm.max_children 的值
  • 当前值为 50,如果并发请求较多,可能会耗尽子进程资源,导致 502。
  • 增加到 100 或更高(根据服务器内存和负载能力调整)。
2. 调整 request_terminate_timeout
  • 当前为 100 秒,适合大多数脚本。如果你的应用程序中某些脚本执行时间较长,可以进一步增加到 300 或更高。
3. 增加 listen.backlog
  • 当前值为 8192,通常已经足够高。如果并发流量特别大,可以再增加,例如 16384
4. 检查 pm 模式
  • 你的 pm 模式为 dynamic,适合多数情况。如果流量非常稳定,且波动不大,可以尝试改为 static 模式,设置一个固定数量的子进程(例如 pm.max_children = 100)。
5. 检查 listen 的权限
  • 当前 listen.mode = 0666,确保 Nginx 有权限访问 /tmp/php-cgi-74.sock
  • 如果有权限问题,修改为以下内容:
     

    listen.owner = www listen.group = www listen.mode = 0660

6. 优化日志配置
  • 检查 slowlog 是否有效,确保记录慢请求的日志,便于后续排查:

    request_slowlog_timeout = 10 slowlog = /www/server/php/74/var/log/slow.log

7. 增加 rlimit_filesrlimit_core
  • 允许更多文件描述符:
     

    rlimit_files = 65535 rlimit_core = 0

优化后的配置示例

[global]
pid = /www/server/php/74/var/run/php-fpm.pid
error_log = /www/server/php/74/var/log/php-fpm.log
log_level = notice[www]
listen = /tmp/php-cgi-74.sock
listen.backlog = 16384
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0660
user = www
group = wwwpm = dynamic
pm.max_children = 100        ; 增加最大子进程数量
pm.start_servers = 10        ; 启动时的进程数
pm.min_spare_servers = 10    ; 保持的最小空闲进程数
pm.max_spare_servers = 30    ; 保持的最大空闲进程数pm.status_path = /phpfpm_74_statusrequest_terminate_timeout = 300
request_slowlog_timeout = 10
slowlog = /www/server/php/74/var/log/slow.logrlimit_files = 65535
rlimit_core = 0
 

检查和排查步骤

1. 重启 PHP-FPM 和 Nginx

每次修改配置后重启服务:

 

service php-fpm-74 restart service nginx restart

2. 检查日志
  • PHP-FPM 错误日志

    tail -f /www/server/php/74/var/log/php-fpm.log

  • Nginx 错误日志

    tail -f /var/log/nginx/error.log

  • 慢请求日志: 如果启用了 slowlog,分析慢请求的脚本,优化这些脚本。
3. 测试并发

使用工具如 abwrk 模拟并发请求,测试是否可以正常响应:

ab -n 1000 -c 50 http://your-domain.com/

4. 系统资源监控

监控服务器的内存、CPU 和磁盘 I/O 使用情况,确认是否资源耗尽:

htop free -h

 

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

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

相关文章

微信小程序中会议列表页面的前后端实现

题外话:想通过集成腾讯IM来解决即时聊天的问题,如果含语音视频,腾讯组件一年5万起步,贵了!后面我们改为自己实现这个功能,这里只是个总结而已。 图文会诊需求 首先是个图文列表界面 同个界面可以查看具体…

git(Linux)

1.git 三板斧 基本准备工作: 把远端仓库拉拉取到本地了 .git --> 本地仓库 git在提交的时候,只会提交变化的部分 就可以在当前目录下新增代码了 test.c 并没有被仓库管理起来 怎么添加? 1.1 git add test.c 也不算完全添加到仓库里面&…

【动手学电机驱动】STM32-FOC(8)MCSDK Profiler 电机参数辨识

STM32-FOC(1)STM32 电机控制的软件开发环境 STM32-FOC(2)STM32 导入和创建项目 STM32-FOC(3)STM32 三路互补 PWM 输出 STM32-FOC(4)IHM03 电机控制套件介绍 STM32-FOC(5&…

对于相对速度的重新理解 - 插一句

因为发了太多的公式,系统提示插入图片太频繁,下一个部分稍后再写。 这里要强调一下: 狭义相对论的平方和形式,其实就是因为分不清虚数单位的大小才写成这个样子。或者用物理语言来说,就是认为所有惯性系的“光速”都…

5G NR:带宽与采样率的计算

100M 带宽是122.88Mhz sampling rate这是我们都知道的,那它是怎么来的呢? 采样率 子载波间隔 * 采样长度 38.211中对于Tc的定义, 在LTE是定义了Ts,在NR也就是5G定义了Tc。 定义这个单位会对我们以后工作中的计算至关重要。 就是在…

【湿度数据处理】中国地面气候资料日值数据集(V3.0)(MATLAB全代码)

【湿度数据处理】中国地面气候资料日值数据集 处理1:数据范围筛选处理2:缺测数据筛查处理3:缺测数据插补参考基于此博客完成各要素数据提取后-【数据集处理】中国地面气候资料日值数据集(V3.0)(含MATLAB全代码),进行后续数据筛选及缺测处理,此处以湿度数据为例。 提取到的…

vue2 - 20.json-server

json-server 目标:基于 json-server 工具,准备后端接口服务环境 1. 安装全局工具 json-server (全局工具仅需要安装一次)【官网】 yarn global add json-server 或 npm i json-server -g yarn global add json-server npm i …

MySQL面试-1

InnoDB中ACID的实现 先说一下原子性是怎么实现的。 事务要么失败,要么成功,不能做一半。聪明的InnoDB,在干活儿之前,先将要做的事情记录到一个叫undo log的日志文件中,如果失败了或者主动rollback,就可以通…

大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本

点一下关注吧!!!非常感谢!!持续更新!!! Java篇开始了! 目前开始更新 MyBatis,一起深入浅出! 目前已经更新到了: Hadoop&#xff0…

leetcode_有序数组中的单一元素

540. 有序数组中的单一元素 - 力扣&#xff08;LeetCode&#xff09; 二分查找 使用条件 &#xff1a; 有序 &#xff0c; log n class Solution { public:int singleNonDuplicate(vector<int>& nums) {int left 0, right nums.size() - 1, mid;while (left <…

Python中的简单爬虫

文章目录 一. 基于FastAPI之Web站点开发1. 基于FastAPI搭建Web服务器2. Web服务器和浏览器的通讯流程3. 浏览器访问Web服务器的通讯流程4. 加载图片资源代码 二. 基于Web请求的FastAPI通用配置1. 目前Web服务器存在问题2. 基于Web请求的FastAPI通用配置 三. Python爬虫介绍1. 什…

USRP:B205mini-i

USRP B205mini-i B205mini-i都是采用工业级的FPGA芯片(-I表示industrial-grade)&#xff0c;所以价格贵。 这个工业级会让工作温度从原来 0 – 45 C 变为 -40 – 75 C. 温度的扩宽&#xff0c;会让工作的稳定性变好。但是前提是你需要配合NI的外壳才行&#xff0c;你如果只买一…

React 常见问题解答:设置、安装、用户事件和最佳实践

在本文中&#xff0c;我们将回答您在开始使用 React 时可能会问的 9 个常见问题。 1、开始使用 React 需要哪些技能和知识&#xff1f; 在深入研究 React 之前&#xff0c;您应该对以下内容有深入的了解&#xff1a; HTML、CSS 和 JavaScript &#xff08;ES6&#xff09;&a…

基于Redis内核的热key统计实现方案|得物技术

一、Redis热key介绍 Redis热key问题是指单位时间内&#xff0c;某个特定key的访问量特别高&#xff0c;占用大量的CPU资源&#xff0c;影响其他请求并导致整体性能降低。而且&#xff0c;如果访问热key的命令是时间复杂度较高的命令&#xff0c;会使得CPU消耗变得更加严重&…

鸿蒙安全控件之位置控件简介

位置控件使用直观且易懂的通用标识&#xff0c;让用户明确地知道这是一个获取位置信息的按钮。这满足了授权场景需要匹配用户真实意图的需求。只有当用户主观愿意&#xff0c;并且明确了解使用场景后点击位置控件&#xff0c;应用才会获得临时的授权&#xff0c;获取位置信息并…

鸿蒙主流路由详解

鸿蒙主流路由详解 Navigation Navigation更适合于一次开发,多端部署,也是官方主流推荐的一种路由控制方式,但是,使用起来入侵耦合度高,所以,一般会使用HMRouter,这也是官方主流推荐的路由 Navigation官网地址 个人源码地址 路由跳转 第一步-定义路由栈 Provide(PageInfo) pag…

spring boot有那些优势?

Spring Boot 作为 Spring 框架的一个扩展&#xff0c;旨在简化新 Spring 应用程序的初始搭建以及开发过程。它通过提供一系列默认配置来快速启动基于 Spring 的应用&#xff0c;并且减少了大量的样板代码和配置工作。以下是使用 Spring Boot 的一些主要优势&#xff1a; 简化配…

Jackson库中JsonInclude的使用

简介 JsonInclude是 Jackson 库&#xff08;Java 中用于处理 JSON 数据的流行库&#xff09;中的一个注解。它用于控制在序列化 Java 对象为 JSON 时&#xff0c;哪些属性应该被包含在 JSON 输出中。这个注解提供了多种策略来决定属性的包含与否&#xff0c;帮助减少不必要的数…

JavaFX:简介、使用场景、常见问题及对比其他框架分析

1. JavaFX 简介 1.1 什么是 JavaFX&#xff1f; JavaFX 是一个基于 Java 的 GUI 工具包&#xff0c;支持创建桌面和互联网应用。它通过 Scene Graph&#xff08;场景图&#xff09;模型渲染 UI 元素&#xff0c;并采用声明式编程风格。自 JDK 11 起&#xff0c;JavaFX 被移除…

88页精品PPT | 某电信集团大数据平台建设方案技术交流

这份PPT文档是关于某电信集团大数据平台建设的技术交流方案&#xff0c;内容涵盖了现状分析、规划思路、产品设计、成功案例以及干货附录等多个部分。文档详细介绍了集团大数据平台的建设背景、技术特点、面临的挑战和痛点&#xff0c;以及具体的技术架构和实施策略。还包括了数…