美文网首页
Apache Apisix 网关最新2.1源码构建踩坑指南

Apache Apisix 网关最新2.1源码构建踩坑指南

作者: 山间草夫 | 来源:发表于2020-12-27 14:12 被阅读0次

    笔者系统是 centos 7.8 源码构建, centos 8.x 由于lua 的组件的一些原因, 无法安装, 请使用docker 的方式构建 . 如果组件不确定, 可以先执行( 2. 下载最新的发行版源码包), 执行 make deps 的时候会检查出那些依赖没有安装,可以根据这个安装缺少的组件

    1. Apisix 依赖

    Apisix 依赖于 Openresty, 和 etcd ( nosql 中间件), 并且还要编译依赖 luarocks(lua 包管理工具). 请保证, 系统已经安装好了上述三个组件.

    2. 下载最新的发行版源码包

     mkdir apisix-2.1
     wget https://downloads.apache.org/apisix/2.1/apache-apisix-2.1-src.tgz
     tar zxvf apache-apisix-2.1-src.tgz -C apisix-2.1
     ##  检查是否安装好上述的依赖
     make deps
      ##  查看版本
     ./bin/apisix version
      ## 开启apisix
     ./bin/apisix start
      ## 获取apisix 的常用命令介绍
      ./bin/apisix help
     ## 判断是否能够访问,在命令行中执行 
      curl --location --request GET 'http://localhost:9080'
      获得到结果:  {"error_msg":"404 Route Not Found"}  , 表示你的apisix 已经安装完成
    

    3. 源码构建 apisix-dashboard

    3.1 go环境搭建
        wget https://golang.google.cn/dl/go1.15.6.linux-amd64.tar.gz
        rm -rf  /usr/local/go
        tar -zxf go1.15.6.linux-amd64.tar.gz -C /usr/local/
    
       vim /etc/profile/
       ## 将下面 4行 , 写到文件末尾
       export GO111MODULE=on
       export GOROOT=/usr/local/go
       export GOPATH=/home/gopath
       export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
    

    保存后 执行 source /etc/profile

    3.2 nodejs 和yarn 安装

    直接使用已编译好的包, Node 官网已经把 linux 下载版本更改为已编译好的版本了,我们可以直接下载解压后使用:

    wget https://nodejs.org/dist/v14.15.3/node-v14.15.3-linux-x64.tar.xz   // 下载
    tar xf  node-v10.9.0-linux-x64.tar.xz       // 解压
    cd node-v10.9.0-linux-x64/                  // 进入解压目录
    ./bin/node -v                               // 执行node命令 查看版本
    

    解压文件的 bin 目录底下包含了 node、npm 等命令,我们可以使用 ln 命令来设置软连接:

    ln -s /usr/software/nodejs/bin/npm  /usr/local/bin/ 
    ln -s /usr/software/nodejs/bin/node   /usr/local/bin/
    ## 执行node 是否出现, 版本信息, 如果有安装成功
    node
    
    ## 如果速度慢考虑使用taobao 源
    npm config set registry=http://registry.npm.taobao.org
    ## 升级npm 到最新版本
    npm install -g npm
    ## 安装 yarn
    npm install -g yarn
    
    3.3 编译apisix-dashboard
    ## 请确保环境已经安装了git
    git clone -b v2.2 https://github.com/apache/apisix-dashboard.git
    cd apisix-dashboard
    ## make build 执行很忙, 请耐心等待
    make build
    cd ./output
    ## 启动管理版本, 
    ./manager-api
    ## 如果要后台运行
    nohup ./manager-api &
    ## 查看是否运行, 如果有返回, 说明搭建成功, 端口默认9000
    curl --location --request GET 'http://localhost:9000'
    

    4. 出现的一些问题:

    • 请确保 Apisix 和 Apisix-dashboard 的版本兼容, 目前截至(2020-12-27), Apisix 2.1,对应 Apisix- dashboard 2.2, 版本不对应将造成不可使用的问题
    • Apisix 的端口为什么是9080 , 这个是Apisix 默认监听的端口, 可以通过 apisix 构建包下面的conf/apisix.yaml, 修改 监听端口, node_listen, 并且这里可以修改 etcd 的等相关配置.
    • Apisix-dashboard 在外网不能访问, 这是由于安全问题,apiaix 维护者默认只能本地访问,可以在Apisix-dashboard 的包路径下面的output 路径修改 /output/conf/conf.yaml, 修改允许访问的host, conf.listen.host 修改为0.0.0.0, 如果你要限制为允许某个ip段, 访问也可以写成某个ip端也可以.
    • Apisix-dashboard 的密码可以通过 /output/conf/conf.yaml 里面的authentication.users的配置来修改.

    本文参考资料

    1. Apisix官方仓库 https://github.com/apache/apisix-dashboard
    2. Apisix-dashboard源码构建文档 https://github.com/apache/apisix-dashboard/blob/master/docs/deploy.md
    3. Nodejs 安装 https://www.runoob.com/nodejs/nodejs-install-setup.html
    4. Go语言环境安装 https://golang.google.cn/dl/

    完结撒花, 路过点赞, 月薪10w ! 有问题, 请留言 .

    相关文章

      网友评论

          本文标题:Apache Apisix 网关最新2.1源码构建踩坑指南

          本文链接:https://www.haomeiwen.com/subject/jgjonktx.html