当前位置: 首页 > news >正文

/var/run/php-fpm.sock = 127.0.0.1:9000?

不,/var/run/php-fpm.sock127.0.0.1:9000
二者是PHP-FPM 与 Web 服务器通信的两种不同传输机制

  • /var/run/php-fpm.sockUnix Domain Socket(UDS)
  • 127.0.0.1:9000TCP Socket

虽然功能相同(传递 FastCGI 请求),但底层实现、性能、安全性有本质差异。


一、本质区别:传输层协议

维度Unix Domain Socket (UDS)TCP Socket
协议栈跳过 TCP/IP,直接内核缓冲区完整 TCP/IP 协议栈
地址形式文件系统路径(如/var/run/php-fpm.sockIP + 端口(如127.0.0.1:9000
通信范围仅限本机进程可跨主机(但本地用127.0.0.1
权限控制POSIX 文件权限(如660防火墙规则(iptables)

💡核心认知
UDS = 本地高速通道,TCP = 通用网络通道


二、性能与安全对比

▶ 1.性能差异
指标UDSTCP (127.0.0.1)
延迟~5–10 μs~15–30 μs
吞吐量↑ 30–50%基准
CPU 开销↓ 20%(无 TCP 校验和/序列号计算)较高
  • 原因
    • UDS 跳过 TCP/IP 协议栈 → 无三次握手、ACK、拥塞控制等开销
    • 数据直接在内核缓冲区传递,无内存拷贝到网卡驱动
▶ 2.安全差异
场景UDSTCP
权限控制精确到文件权限(chown www-data:www-data仅能通过 iptables 限制 IP
监听范围仅本机可能误配为0.0.0.0:9000→ 外网可访问
攻击面极小(需本地文件系统访问)较大(端口扫描风险)

⚠️关键风险
若 PHP-FPM 监听0.0.0.0:9000,攻击者可直接发送 FastCGI 请求执行任意代码!


三、工程配置示例

▶ 1.UDS 配置(推荐)
; /etc/php/8.2/fpm/pool.d/www.conf listen = /var/run/php/php8.2-fpm.sock listen.owner = www-data listen.group = www-data listen.mode = 0660
# Nginx 配置 location ~ \.php$ { fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; }
▶ 2.TCP 配置(调试用)
; /etc/php/8.2/fpm/pool.d/www.conf listen = 127.0.0.1:9000
# Nginx 配置 location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; }
▶ 3.安全加固(TCP 必须)
# 限制仅本地访问sudoiptables -A INPUT -p tcp --dport9000-s127.0.0.1 -j ACCEPTsudoiptables -A INPUT -p tcp --dport9000-j DROP

四、如何选择?

场景推荐方案理由
生产环境✅ UDS性能更高、权限更精细
跨容器通信⚠️ TCPDocker 容器间需网络通信
远程调试⚠️ TCP需从其他机器连接
SELinux 环境✅ UDS避免网络策略复杂性

五、验证方法

▶ 1.检查监听方式
# UDSls-l /var/run/php/php8.2-fpm.sock# srw-rw---- 1 www-data www-data ... /var/run/php/php8.2-fpm.sock# TCPss -tuln|grep9000# LISTEN 0 128 127.0.0.1:9000 0.0.0.0:*
▶ 2.性能测试
# 使用 ab 测试 UDS vs TCPab -n1000-c10http://localhost/udstest.php ab -n1000-c10http://localhost/tcptest.php

六、终极心法

**“sock 不是端口,
而是本地的密道——

  • 当你选择 UDS
    你在拥抱高效安全;
  • 当你暴露 TCP
    你在扩大攻击面;
  • 当你理解协议栈
    你在驾驭通信本质。

真正的工程能力,
始于对传输的敬畏,
成于对细节的精控。”


结语

从今天起:

  1. 生产环境优先 UDS
  2. TCP 必须绑定127.0.0.1+ 防火墙
  3. 定期检查 PHP-FPM 监听地址

因为最好的进程通信,
不是盲目用 TCP,
而是精准选择传输机制。

http://www.jsqmd.com/news/273620/

相关文章:

  • 13.3GB《ArcGIS Pro 地理信息系统应用与实践》配套练习数据
  • 基于springboot的少数民族交流论坛
  • 基于SpringBoot的5种签到打卡设计思路及实现方案
  • 【收藏】提示词工程:大模型应用的核心技术,小白程序员必学的提效秘籍
  • 伊朗离我们的距离,竟然比上海飞深圳还近!
  • WX-0813 AI 降噪回音消除模组
  • 昆明市英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025
  • 免费的考试软件哪个好?实测指南与避坑技巧
  • 全球主流双转盘高内涵成像分析系统品牌有哪些?一文掌握双转盘共聚焦高内涵分析系统怎么选择 - 品牌推荐大师1
  • 广西北部湾,将成为未来最繁忙的航运地!
  • 深度可分离卷积:轻量化模型与FPGA加速的黄金技术
  • 2025年国内知名的防雨柜供应商排行榜,智能控制台/卡口监控杆/控制台定做/室外防雨箱/消防中心控制台厂家排行榜 - 品牌推荐师
  • 医用离心机哪个厂商产品安全性高,安信实验仪器值得关注 - 工业品牌热点
  • 2026年电力服务企业甄选:电力维保 / 设计 / 电气试验 / 检修 / 工程实力榜单 - 深度智识库
  • 秦岭为脊,黄河为脉,陕西是中华文明的根!
  • test 202060120
  • 2026年排名靠前的成人自考培训机构推荐,春华教育 - 工业品牌热点
  • 告别 PPT 熬夜魔咒!宏智树 AI 一键生成学术职场双高分演示文稿
  • 2025年武汉加气块定制领域推荐厂家,国内加气块优选实力品牌 - 品牌推荐师
  • AI在英语口语学习中的应用
  • 国产测试用例管理工具市场格局解析:从功能差异看研发效能提升路径
  • 2026国内最新密封胶生产厂家top5评测,优质制造商及工厂榜单发布,服务覆盖江苏、山东、云南、四川、广东、浙江等地,赋能建筑装饰行业高质量发展 - 品牌推荐2026
  • 初学者的狂喜:当代码第一次呼吸时
  • 读懂《资治通鉴》中的人性规律
  • 课程论文不用愁!宏智树 AI:一键搞定高分作业的智能写作神器
  • Deepoc具身模型:清洁机器人的智能决策引擎
  • WPF MVVM实战系列教程(六、Prism区域导航)
  • 盲盒式设计 VS 精准导航!宏智树 AI 让论文问卷告别 “无效数据” 陷阱
  • 收藏!大模型时代不焦虑,小白程序员轻松破局
  • 从零基础到网络安全专家:全网最全的网络安全学习路线