feat: bundle multi-arch nginx for native fnOS stage 2
This commit is contained in:
@@ -11,22 +11,35 @@
|
||||
|
||||
构建过程不再引用 `F:\Fonu-main\havline`。
|
||||
|
||||
阶段一范围:
|
||||
阶段二范围:
|
||||
|
||||
- Go 主程序原生运行
|
||||
- 统一网关 `/app/havline`
|
||||
- Unix Socket `app.sock`
|
||||
- `cmd/main` 启动、停止和状态检查
|
||||
- amd64 与 arm64 双架构二进制
|
||||
- Nginx amd64 与 arm64 双架构二进制
|
||||
- Nginx 依赖库与 `mime.types`
|
||||
- HTTP 18080 与 HTTPS 9443
|
||||
|
||||
当前不包含:
|
||||
|
||||
- Nginx 二进制
|
||||
- frpc
|
||||
- cloudflared
|
||||
|
||||
这些依赖将在后续阶段加入。
|
||||
|
||||
## 构建前置条件
|
||||
|
||||
构建脚本需要本地存在用于提取 Nginx 的 Havline 镜像:
|
||||
|
||||
```text
|
||||
jayhub.top/mrlee/havline:1.9.0 amd64
|
||||
havline:1.9.0 arm64
|
||||
```
|
||||
|
||||
如果本地没有对应架构镜像,先加载 amd64 与 arm64 镜像归档。
|
||||
|
||||
## 构建
|
||||
|
||||
```powershell
|
||||
@@ -43,5 +56,17 @@ dist/havline-native-1.9.0.fpk
|
||||
构建脚本会:
|
||||
|
||||
1. 使用 `VITE_BASE_PATH=/app/havline/` 构建前端;
|
||||
2. 交叉编译 amd64 与 arm64 Go 二进制;
|
||||
3. 调用 `fnpack build` 打包。
|
||||
2. 从本地镜像提取 amd64 与 arm64 Nginx 及依赖库;
|
||||
3. 交叉编译 amd64 与 arm64 Go 二进制;
|
||||
4. 调用 `fnpack build` 打包。
|
||||
|
||||
## 真机注意
|
||||
|
||||
当前 Nginx 来自 Debian 12,依赖目标系统 glibc。飞牛设备建议满足:
|
||||
|
||||
```text
|
||||
glibc >= 2.36
|
||||
```
|
||||
|
||||
如果目标设备 glibc 版本较低,需要改为静态编译 Nginx 或打包完整
|
||||
loader 与 libc。
|
||||
|
||||
Reference in New Issue
Block a user