首页/网络/常用端口速查/9000 PHP-FPM / ClickHouse native

9000 PHP-FPM / ClickHouse native

多面手注册端口:PHP-FPM 的 TCP 监听(与 Nginx 对接)、ClickHouse 原生协议(9000)、SonarQube 历史默认口、Hadoop 旧 NameNode RPC——具体看部署。

常用端口速查网络更新于 2026-10-13

9000 是谁的端口

9000 是一个没有唯一归属的注册端口:PHP-FPM 用它提供 TCP 监听给 Nginx 转发 FastCGI 请求、ClickHouse 的原生协议默认监听它、SonarQube 的 Web 服务在 7.x 之前也以 9000 为默认端口,Hadoop 旧版本的 NameNode RPC 同样占用过它。判断它到底是谁,只能靠监听进程、响应特征与配置文件,不能凭端口号推断服务。

基本信息

服务PHP-FPM / ClickHouse native / SonarQube(历史默认)/ Hadoop(旧版)
协议TCP 9000(PHP-FPM 为 FastCGI)
相邻端口8123 ClickHouse HTTP、9009 副本同步、9001 Hadoop
权限要求按服务定,PHP-FPM 通常以 Web 运行用户身份
安全等级按服务定,PHP-FPM 建议仅 Unix socket

典型使用场景

  • 网站 502 排障:Nginx 反代到 9000 却连不上 PHP-FPM,先看进程再谈配置
  • 列式数据库访问:用命令行客户端连接 ClickHouse 原生协议
  • 代码质量平台:确认 SonarQube 的实际版本与监听端口,历史默认值需要核对
  • 端口盘点:主机上出现 9000 监听时,先确认归属再评估暴露面
  • 容器编排:同一台机器多服务时统一规划 9000 给谁用

归属确认

归属确认
ss -lntp | grep :9000                       # 先看进程
# PHP-FPM 池配置
grep -E '^listen' /etc/php/*/fpm/pool.d/www.conf
# ClickHouse 原生协议
clickhouse-client --host 127.0.0.1 --port 9000 --query 'SELECT version()'
curl -s 'http://127.0.0.1:8123/' --data-binary 'SELECT 1'   # HTTP 接口对照

占用身份识别

服务判定线索对照端口
PHP-FPM站点 502 且 Nginx upstream 指向 9000pool.d 里的 listen 配置
ClickHouse客户端默认连 9000,HTTP 在 8123副本同步常用 9009
SonarQubeWeb 界面直接打开版本越新越倾向独立端口规划
Hadoop NameNode旧版模式,新版多已调整按发行版文档核对

连通与进程确认

连通与进程确认
nc -vz 127.0.0.1 9000
systemctl status 'php*-fpm' | head -10      # 502 时先确认进程
curl -sI http://127.0.0.1:9000/ | head -3   # 若是 Web 服务会有响应头
docker ps --format '{{.Names}} {{.Ports}}' | grep 9000
生产环境中的 PHP 站点建议走 Unix socket 而不是 TCP 9000:既减少暴露面,也省掉一次回环网络开销;改用 socket 后要同步调整 Nginx 的 fastcgi_pass 与 PHP-FPM 池配置,两侧必须一致。
PHP-FPM 监听在所有地址且没有访问控制时,外部主机可以直连 FastCGI 接口,配合构造的请求参数可能执行任意已存在的脚本;对外开放的机器应只允许本机或反代地址访问该端口。

加固与运维建议

  • 生产 PHP 站点改用 Unix socket,减少暴露面与回环开销
  • 站点报 502 时按进程、套接字或端口、上游配置三步排查
  • 列式库的原生与 HTTP 接口按需开放,不整段暴露给业务网
  • 同机多服务时把 9000 的归属写进部署文档
版本差异提示:这类多功能端口的默认值随版本变化,核对暴露面时应以实际监听端口与配置文件为准,不要直接沿用旧文档里的默认值。

易错点

  • PHP-FPM 监听 0.0.0.0:9000 且无白名单:别人可直连 FastCGI 接口执行脚本
  • 502 时只重启 Nginx:真正的根因常在 PHP-FPM 进程或池配置里
  • 把 9000 当成固定归属:同机混布多个服务时容易改错对象
  • 从 Unix socket 改成 TCP 后忘记同步改 Nginx 配置:站点直接 502

数据来源与参考

  • PHP-FPM 文档(listen 配置)
  • ClickHouse 官方文档(native 9000)
  • Hadoop 历史默认端口

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌