我是靠谱客的博主 聪明百合,最近开发中收集的这篇文章主要介绍apisix安装常见问题归纳,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文为自己安装中所遇到的一些常见问题,保持长期更新,欢迎c友们批评指正,或者将自己遇到的问题私信给我,我会即时总结更新出来。

目录

      • 1.0 如果安装依赖访问github出现连接失败或者拒绝连接。
      • 2.0 安装etcd3.4后,依旧无法开启apisix,提示etcd问题
      • 3.0 unknown directive 问题
      • 4.0 加解密不能使用
      • 5.0 make 等命令错误
          • (1)
          • (2)、启动、关闭网关服务(启动服务前需要先启动etcd: service etcd start):
          • (3)若make reload 时出现如下报错,直接把logs/ 目录下的nginx.pid 文件删除,重新 make run 即可。![在这里插入图片描述](https://file2.kaopuke.com:8081/files_image/2023060300/20201214112817659.png)
          • (4)、注意点
          • (5)、在修改/apisix/conf中的config.yaml 配置文件后,需要make init 重新初始化数据, 在make run 或make reload 。
      • 6.0 访问控制台问题
          • 403问题:
          • 网关信息配置说明
      • 7.0 apisix-dashboard make build错误
      • 8.0 lua依赖安装问题
      • 9.0克隆dashboard后无法正常运行

1.0 如果安装依赖访问github出现连接失败或者拒绝连接。

解决方法:

1   vim(vi) /etc/hosts

打开后会发现类似如下ip,现全部删除,
在这里插入图片描述
只需要新插入: 140.82.112.3 github.com 即可;这是github ip地址更换原因。

在这里插入图片描述

2.0 安装etcd3.4后,依旧无法开启apisix,提示etcd问题

在这里插入图片描述
这里需要检查自己的etcd版本,如果有其他项目需要etcd v2协议,那只能安装apisix1.5以下版本;(1.5和2.0版本为分水岭,一定需要统一etcd版本)
首先查看自己开启的版本是否为3.4(v3)

[root@localhost /]# etcd --version
etcd Version: 3.4.13
Git SHA: ae9734ed2
Go Version: go1.12.17
Go OS/Arch: linux/amd64

如果不是3.4那么需要卸载重新开启etcd
查看是否为rpm包安装

rpm -qa |grep etcd

如果是:

rpm -e --nodeps etcd-3.3xxx #卸载刚才的版本号
kill -9 端口 #同时杀死正在进行的etcd

确认全部杀死不同版本后后再重新启动即可。

3.0 unknown directive 问题

推荐使用centos7的方式进行安装依赖环境,如果不是上面的方式安装的依赖,启动网关时openresty可能会报unknown directive 问题,这是因为编译的openresty的时候,没有指定–with-http_realip_module 等模块,需将该模块加入重新编译安装openresty。

4.0 加解密不能使用

如果加解密不能使用,则需要使用 luarocks命令安装RSA加解密库,安装命令: luarocks install lua-resty-rsa ;

5.0 make 等命令错误

(1)

在这里插入图片描述如果出现如上图的错误,是由于 luarocks 命令的版本过老导致,使用yum安装最新
版本即可:yum install -y luarocks 。
如果还是出现安装依赖失败(Failed installing dependency……),那么多重复运行 make deps命令就可以安装成功。

(2)、启动、关闭网关服务(启动服务前需要先启动etcd: service etcd start):
make init初始化etcd和nginx 配置文件
make run启动api网关服务
make stop停止网关服务
make reload重启网关服务
make verify校验网关nginx.conf配置文件
make helpmake 命令详细信息

以上的make命令只能在api-gateway目录下执行,否则无效:
在这里插入图片描述在其他目录执行报错:
在这里插入图片描述
一个完整的启动过程:

#初始化配置
make init
#出现以下信息表示完成
#./bin/apisix init
#./bin/apisix init_etcd

#启动服务
make run
#出现以下信息代表示启动成功
#mkdir -p logs
#mkdir -p /tmp/apisix_cores/
#/usr/local/bin/openresty -p $PWD/ -c $PWD/conf/nginx.conf
(3)若make reload 时出现如下报错,直接把logs/ 目录下的nginx.pid 文件删除,重新 make run 即可。在这里插入图片描述
(4)、注意点

在部署api网关前,需要检查 “api-gateway/logs/”目录下是否有nginx.pid 文件,若有该文件需要把该文件删除。 否则在执行make run 命令是没有报错,但是网关服务不可用。
在这里插入图片描述

(5)、在修改/apisix/conf中的config.yaml 配置文件后,需要make init 重新初始化数据, 在make run 或make reload 。

如果 make 命令出现如下图问题:
在这里插入图片描述
是由于apisix/bin/ 目录下的apisix文件权限不够,给该文件增加执行权限即可,运行命令: chmod +x apisix 。

(apisix网关可以在同一服务器上部署多套,只需保证监听端口号不同即可。网关项目可以放任意目录下。)

6.0 访问控制台问题

403问题:

Api网关启动后,使用浏览器打开 http://IP:9080/dashboard/ 地址,例如:http://192.168.60.128:9080/dashboard/ (默认9080端口,可在apisix/conf/config.yaml 文件中进行自定义端口号),用户名:admin ,密码:123456。
如果访问控制台出现403问题,如下图:
在这里插入图片描述是该终端没有权限访问,只需在apisix/conf/config.yaml 文件中的allow_admin处增加允许访问终端IP,执行make init 初始化数据, make reload 重启即可。(2.1版本信息在,config-default.yaml文件中,可以在config.yaml文件里面添加会默认优先读取覆盖掉config-default.yaml文件,也可以直接在config-default.yaml文件中更改)
在这里插入图片描述

网关信息配置说明

网关配置信息基本上是在conf/config.yaml进行配置,配置文件在修改后,需要make init 才能生效。下面大概说明几个关键地方:
allow_admin: 表示允许访问控制台dashboard的IP地址;
node_listen : 网关监听的端口默认9080,可根据需要进行更改端口;
allow_admin: 允许访问控制台的IP白名单,将其注释表示允许所有IP访问。
etcd host 配置etcd的地址,默认本机(etcd集群配置也是在这里);

7.0 apisix-dashboard make build错误

问题描述:go版本正常,可是make build出错没有manager-api文件夹;
问题原因:查看自己是否安装了vim全家桶,或者其他插件(这些插件默认下载go依赖,版本偏低,需要卸载)只能保留需要版本,重新构建后即可。

8.0 lua依赖安装问题

安装方法:
依次执行以下命令:

curl -R -O http://www.lua.org/ftp/lua-5.3.1.tar.gz
tar zxf lua-5.3.1.tar.gz
cd lua-5.3.1
make linux test

可能出现的问题:

gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lua.o lua.c
lua.c:80:31: 致命错误:readline/readline.h:没有那个文件或目录
 #include <readline/readline.h>
                               ^
编译中断。
make[2]: *** [lua.o] 错误 1
make[2]: 离开目录“/home/jason/tools/lua-5.3.1/src”
make[1]: *** [linux] 错误 2
make[1]: 离开目录“/home/jason/tools/lua-5.3.1/src”
make: *** [linux] 错误 2

解决办法:
安装: libtermcap-devel ncurses-devel libevent-devel readline-devel
执行如下命令即可:

yum install libtermcap-devel ncurses-devel libevent-devel readline-devel

执行lua,查看是否安装成功:

[root@localhost lua-5.3.1]# lua
Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio
> 

9.0克隆dashboard后无法正常运行

问题:克隆命令:

git clone -b v2.0 https://github.com/apache/apisix-dashboard.git

一定需要确认官方版本,github上确认apisix版本相对应的dashboard版本,不支持向上或向下兼容。版本必须一一对应。

最后

以上就是聪明百合为你收集整理的apisix安装常见问题归纳的全部内容,希望文章能够帮你解决apisix安装常见问题归纳所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部