# 示例服务配置

> 内置 Axum 服务接受的环境变量。

---

LLMS 索引： [llms.txt](/zh/llms.txt)

---

以下变量配置 `cargo run --example serve`。它们是示例服务约定，不是库的全局配置。

| 变量 | 默认值 | 含义 |
| --- | --- | --- |
| `ASYNC_GEOTIFF_BIND` | `127.0.0.1:8080` | HTTP 服务监听地址。 |
| `ASYNC_GEOTIFF_BLOCK_CACHE_MB` | `512` | 共享解码块缓存容量（MiB），必须为正数。 |
| `ASYNC_GEOTIFF_MAX_DECODE_TASKS` | 可用并行度 | 最大并发解码/拼接 CPU 任务数，必须为正数。 |
| `ASYNC_GEOTIFF_MAX_TILE_TASKS` | 可用并行度 | 最大并发重投影/渲染 CPU 任务数，必须为正数。 |
| `ASYNC_GEOTIFF_PREFETCH_RING` | `1` | 围绕读取范围预取的原生块圈数；`0` 为关闭。 |
| `ASYNC_GEOTIFF_SLOW_TILE_MS` | 未设置 | 超过此正整数毫秒阈值时发出慢瓦片警告。 |
| `ASYNC_GEOTIFF_MOSAIC` | 未设置 | 启动时加载的 MosaicJSON 文件路径。 |
| `ASYNC_GEOTIFF_STAC_URL` | 未设置 | 固定 STAC API URL；需要 `stac` 及后两个变量。 |
| `ASYNC_GEOTIFF_STAC_COLLECTION` | 未设置 | 固定 STAC collection ID。 |
| `ASYNC_GEOTIFF_STAC_ASSET_KEY` | 未设置 | 固定 STAC COG 资产 key。 |
| `ASYNC_GEOTIFF_TOKIO_CONSOLE` | 关闭 | 使用 `tokio-console` 编译时，以 `1`、`true`、`yes` 或 `on` 启用 Tokio Console。 |
| `RUST_LOG` | `async_geotiff=debug,warn` | 示例服务的标准 tracing 过滤器。 |

`ASYNC_GEOTIFF_MOSAIC` 与 STAC 配置互斥；三个 STAC 变量必须一起提供。

解码与瓦片任务变量用于调优单 COG 工作，但不构成一个进程级 CPU 上限：命令行默认
COG 使用独立 limiter；延迟选择的本地数据集共享一个取两者较大值的 limiter；mosaic
拥有自己的 limiter。示例服务没有为 `max_assets_per_tile` 等 `MosaicConfig` 字段
提供环境变量。

## 示例 {#example}

```bash
ASYNC_GEOTIFF_BIND=0.0.0.0:8080 \
ASYNC_GEOTIFF_BLOCK_CACHE_MB=1024 \
ASYNC_GEOTIFF_MAX_DECODE_TASKS=8 \
ASYNC_GEOTIFF_MAX_TILE_TASKS=8 \
ASYNC_GEOTIFF_PREFETCH_RING=0 \
ASYNC_GEOTIFF_SLOW_TILE_MS=500 \
RUST_LOG=async_geotiff=info \
  cargo run --release --example serve -- https://example.com/cog.tif
```

无效数值会使进程在启动时失败，而不会被静默修正。
