一、问题背景
在部署 FRP(Fast Reverse Proxy) 时,官方 Release 页面通常提供大量二进制版本,例如:
linux_amd64
linux_arm
linux_arm64
linux_arm_hf
linux_mips
linux_riscv64
windows_amd64
darwin_arm64
...
对于使用单板计算机、软路由或服务器设备的环境,选择错误架构是最常见的启动失败原因之一。
本文对常见 Linux 设备架构与 FRP 版本进行统一对照总结。
二、Linux CPU 架构判定方法
在目标设备执行:
uname -m
或:
getconf LONG_BIT
即可确定系统架构。
三、FRP 架构对应关系(核心对照表)
uname -m 输出 | CPU 架构 | 系统类型 | 应下载 FRP |
|---|---|---|---|
x86_64 | AMD64 / x86_64 | PC / 服务器 / VPS | linux_amd64 |
aarch64 | ARM64 ✅ | ARM 64 位设备 | linux_arm64 |
armv7l | ARM32 (hard float) | 老款 SBC / 路由 | linux_arm_hf |
armv6l | ARM32 | 早期设备 | linux_arm |
mips | MIPS | 部分传统路由器 | linux_mips |
mips64 | MIPS64 | 企业级设备 | linux_mips64 |
riscv64 | RISC-V | 新架构设备 | linux_riscv64 |
四、ARM 设备的关键区别(最容易混淆)
1️⃣ ARM64(推荐)
典型特征:
uname -m → aarch64
代表:
- ARMv8-A
- 64 位系统
- 当前主流 SBC 与软路由平台
常见设备类型:
- 新一代单板计算机
- ARM 软路由
- ARM 云服务器
应选择:
linux_arm64
2️⃣ ARM32(历史兼容)
典型输出:
armv7l
特点:
- 32 位系统
- 内存寻址受限
- 多见于旧系统或精简 OpenWrt
应选择:
linux_arm_hf
五、为什么 ARM64 已成为默认选择
现代 ARM 设备几乎全部具备:
- 64 位 CPU
- 更高寄存器数量
- 更好网络与加密性能
- 更长期的软件支持
因此:
若系统返回
aarch64,直接选择linux_arm64即可。
六、常见错误现象
错误架构运行表现
| 现象 | 原因 |
|---|---|
Exec format error | CPU 架构不匹配 |
| 程序无法启动 | 32/64 位错误 |
| 无输出直接退出 | ABI 不兼容 |
七、通用判断原则(长期适用)
可使用以下快速规则:
x86服务器 → amd64
ARM设备(aarch64) → arm64
老ARM设备 → arm_hf
传统路由器 → mips
八、部署前推荐流程
建议始终遵循:
uname -m
↓
确认架构
↓
下载对应 FRP 二进制
↓
解压运行
避免通过设备型号猜测架构。
九、结论
FRP 多架构发布的本质,是为了适配当前高度碎片化的计算平台生态。
正确理解:
- CPU 指令集
- 系统位数
- Linux 架构标识
即可一次性避免绝大多数部署问题。
核心结论:
当系统架构为
aarch64时,应选择frp_linux_arm64版本。