apache apisix 官方不提供 apt/rpm 包,因其强依赖定制版 openresty 和 etcd 配置中心,系统包版本过旧或缺失模块(如 lua-resty-core)会导致安装失败;etcd 必须提前启动并监听正确地址(如 http://127.0.0.1:2379),apisix 启动时会健康检查,连不上则超时退出;web 控制台(apisix-dashboard)为独立服务,需单独部署且与 apisix 网络互通,配置 apisix_base_url 指向其 admin api 地址。

Apache APISIX 在 Linux 上能直接跑起来,但默认不带 Web 控制台,且依赖 OpenResty 和 etcd —— 这两点是安装失败最常见的根源。
为什么不能直接 apt install apisix
APISIX 官方不提供系统级包(deb/rpm),它依赖定制版 OpenResty(含 LuaRocks、luajit 等),而 Ubuntu/Debian 自带的 openresty 包通常版本过旧或缺失模块。直接用系统包管理器装 apisix 会报错:lua-resty-core not found 或 failed to load resty.etcd。
- 必须用官方推荐方式:通过
apisix-build-tools构建,或下载预编译二进制包 - etcd 不是可选依赖——它是 APISIX 的配置中心和运行时数据源,必须提前部署并可达
- 控制台(
apisix-dashboard)是独立服务,需单独拉起,端口默认9000,不与网关共用9080
etcd 必须先启动且配置正确
APISIX 启动时会连接 etcd 做健康检查;若连不上,会卡在 waiting for etcd 并最终超时退出,日志里只显示 etcd endpoint http://127.0.0.1:2379 is not ready,不提示具体原因。
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
- etcd 必须监听
http://127.0.0.1:2379(或你配置的地址),不能只绑localhost或 IPv6 地址 - 确认
etcd已启用 v3 API:ETCD_ENABLE_V2=false是安全的,APISIX 只用 v3 - 如果用 systemd 管理 etcd,确保
systemctl status etcd显示 active (running),且curl -s http://127.0.0.1:2379/health | jq .返回{"health":"true"} - APISIX 配置文件
conf/config.yaml中的etcd.endpoints必须写成数组形式:["http://127.0.0.1:2379"],不能是字符串
启动后 9080 没响应?检查这三处
APISIX 默认监听 9080(HTTP)和 9443(HTTPS),但启动成功不等于路由就通——它默认不加载任何路由规则,是“空网关”状态。
- 执行
curl http://127.0.0.1:9080/apisix/admin/routes -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1',应返回空数组[];如果报401 Unauthorized,说明 admin key 没配或被覆盖 -
conf/config.yaml中的admin_key必须显式配置,否则默认禁用 admin API;生产环境务必改掉默认值edd1c9f034335f136f87ad84b625c8f1 - 首次启动后,要手动加一条测试路由才能看到流量转发效果,例如用 admin API 注册一个 echo 路由:
curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: your-key' -X PUT -d '{"uri":"/hello","upstream":{"type":"roundrobin","nodes":{"127.0.0.1:8080":1}}}'
dashboard 单独部署且端口不互通
apisix-dashboard 是 Node.js 应用,和 APISIX 进程完全分离;它通过 HTTP 调用 APISIX 的 admin API 获取数据,因此两者网络必须连通,且 dashboard 配置里的 APISIX_BASE_URL 必须指向 APISIX admin 地址(默认 http://127.0.0.1:9080/apisix/admin)。
- 不要把 dashboard 和 APISIX 装在不同机器上再用 localhost 互访——这是新手最常犯的错
- dashboard 的
.env文件中APISIX_BASE_URL若写成http://localhost:9080/...,在容器或远程访问时会请求 dashboard 所在机器的 9080 端口,而非 APISIX 所在机器 - dashboard 默认前端端口
9000,但它的后端代理(proxy)默认也走localhost:9080;若 APISIX 在另一台机器,必须改proxy.conf.json并重启 dashboard - dashboard 登录账号密码在首次启动时生成,查看日志里类似
username: admin, password: 24a5e...的行,不是固定 admin/admin
真正麻烦的从来不是装上,而是 etcd 连通性、admin key 权限、以及 dashboard 和 APISIX 之间的网络视角是否一致——这三个点对齐了,后续加插件、配 TLS、接 Prometheus 就只是配置项堆叠。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










