gongxiangp2/frpc-processes-analysis.md
chenpei 0ce59be34e 备份:组织架构设计方案讨论前的代码快照
- 包含所有当前修改和新功能
- 准备开始组织架构优化实施方案
2025-12-30 13:20:26 +08:00

5.7 KiB
Raw Blame History

FRPC 进程分析报告

检查时间: 2025-12-29
服务器: 192.168.58.20 (正式环境)


🔍 两个 FRPC 进程的用途分析

进程 1: PID 4747 (Systemd 管理) ✅

用途: 代理 3D素材系统和其他NAS服务

详细信息:

  • 进程: /root/gongxiangp2/frp_0.52.3_linux_amd64/frpc -c /etc/frp/frpc.toml
  • 管理方式: Systemd 服务 (frpc.service)
  • 配置文件: /etc/frp/frpc.toml
  • FRPS 服务器: 180.97.221.140:7000
  • Token: LiuYunKu_NAS_2024_SecureToken
  • 日志文件: /root/frp/frpc.log

代理的服务:

  1. youyidian-3d (TCP)

    • 本地: 127.0.0.1:4320
    • 远程: 2320
    • 这是导致502错误的服务!
  2. nas_smb (TCP)

    • 本地: 192.168.58.20:445
    • 远程: 445
    • 状态: ❌ port not allowed (frps配置问题)
  3. nas_netbios (TCP)

    • 本地: 192.168.58.20:139
    • 远程: 139
    • 状态: ❌ port not allowed (frps配置问题)

连接状态: ✅ 已建立连接

192.168.58.20:48772 → 180.97.221.140:7000 ESTABLISHED

进程 2: PID 9990 ⚠️ 配置错误

预期用途: 代理 MinIO 服务

详细信息:

  • 进程: /usr/bin/frpc -c /etc/frp/frpc.toml
  • 管理方式: 未知(可能是手动启动或另一个服务)
  • 配置文件: /etc/frp/frpc.toml ❌ 错误!应该使用 /mnt/tank/apps/frp-minio/frpc.toml
  • FRPS 服务器: 应该连接到 103.118.245.6:7001,但实际使用了错误的配置
  • Token: 应该使用 MinIO_FRP_2025_SecureToken_For_Storage,但实际使用了错误的token

应该代理的服务 (根据 /mnt/tank/apps/frp-minio/frpc.toml):

  1. minio-api (HTTP)

    • 本地: 172.17.0.1:9000
    • 域名: s3.yydd.ai
    • 用于 MinIO API 访问
  2. minio-console (TCP)

    • 本地: 172.17.0.1:9001
    • 远程: 2901
    • 用于 MinIO 控制台访问

连接状态: ❌ 没有建立连接

  • 应该连接到 103.118.245.6:7001,但没有连接
  • 因为使用了错误的配置文件,尝试连接到 180.97.221.140:7000(与进程1冲突)

🔴 问题分析

问题 1: PID 9990 使用了错误的配置文件

当前状态:

  • PID 9990 使用: /etc/frp/frpc.toml (3D素材系统的配置)
  • 应该使用: /mnt/tank/apps/frp-minio/frpc.toml (MinIO的配置)

影响:

  1. ❌ PID 9990 尝试连接到错误的 frps 服务器 (180.97.221.140:7000)
  2. ❌ 与 PID 4747 使用相同的配置,导致资源竞争
  3. ❌ MinIO 服务无法通过 frp 访问
  4. ❌ 可能影响 youyidian-3d 的工作连接建立

问题 2: 两个进程的冲突

虽然两个进程有不同的用途,但它们都使用了 /etc/frp/frpc.toml,导致:

  • 都尝试连接到同一个 frps 服务器
  • 都尝试使用相同的代理名称(如果有冲突)
  • 资源竞争可能导致工作连接失败

✅ 正确的配置应该是

进程 1 (PID 4747) - 3D素材系统

  • ✅ 配置文件: /etc/frp/frpc.toml
  • ✅ FRPS: 180.97.221.140:7000
  • ✅ 代理: youyidian-3d (4320 → 2320)

进程 2 (PID 9990) - MinIO

  • ❌ 当前: /etc/frp/frpc.toml (错误)
  • ✅ 应该: /mnt/tank/apps/frp-minio/frpc.toml
  • ❌ 当前: FRPS 180.97.221.140:7000 (错误)
  • ✅ 应该: FRPS 103.118.245.6:7001
  • ✅ 代理: minio-api (9000 → s3.yydd.ai), minio-console (9001 → 2901)

🛠️ 解决方案

方案 1: 修复 PID 9990 的配置(推荐)

步骤:

  1. 停止当前的 PID 9990 进程:
kill 9990
  1. 使用正确的配置文件启动 MinIO FRPC:
# 方法1: 使用启动脚本(推荐)
cd /mnt/tank/apps/frp-minio
./start-frpc.sh

# 方法2: 手动启动(如果脚本不可用)
/usr/bin/frpc -c /mnt/tank/apps/frp-minio/frpc.toml
  1. 或者使用 Docker 容器(根据启动脚本):
docker run -d --name frpc-minio --restart=always \
  -v /mnt/tank/apps/frp-minio/frpc.toml:/etc/frp/frpc.toml \
  snowdreamtech/frpc:latest

方案 2: 检查是否有 systemd 服务管理 MinIO FRPC

systemctl list-units | grep -i minio
systemctl list-units | grep -i frpc

如果有服务,检查并修复服务配置。


📊 当前状态总结

进程 用途 配置文件 FRPS服务器 连接状态 状态
PID 4747 3D素材系统 /etc/frp/frpc.toml ✅ 180.97.221.140:7000 ✅ ✅ 已连接 ✅ 正常
PID 9990 MinIO /etc/frp/frpc.toml ❌ 180.97.221.140:7000 ❌ ❌ 未连接 ❌ 配置错误

✅ 重要发现

PID 9990 实际上是 Docker 容器内的进程!

详细信息:

  • 容器名称: frpc-minio
  • 容器PID: 9990 (在宿主机上的PID)
  • 配置文件: 容器内 /etc/frp/frpc.toml = 宿主机 /mnt/tank/apps/frp-minio/frpc.toml ✅
  • 配置内容: ✅ 正确(MinIO配置,连接到 103.118.245.6:7001)

结论: PID 9990 的配置实际上是正确的!它使用的是 MinIO 的配置文件,连接到不同的 frps 服务器。


🎯 最终结论

  1. ✅ PID 4747 配置正确,用于 3D素材系统,连接到 180.97.221.140:7000
  2. ✅ PID 9990 (Docker容器) 配置正确,用于 MinIO,连接到 103.118.245.6:7001
  3. ✅ 两个进程使用不同的配置文件和不同的 frps 服务器,不会冲突

那么问题在哪里?

既然两个进程配置都正确,且连接到不同的服务器,那么 502 错误的原因可能是:

  1. PID 4747 的工作连接问题(之前分析的 frps 日志中的超时)
  2. 网络问题导致工作连接无法建立
  3. frps 服务器端的配置或资源问题

建议: 继续排查 PID 4747 的工作连接问题,两个进程本身没有冲突。