基于 go 语言的开源网关 Goku API Gateway CE 部署指南

2019-11-14 11:31:13 +08:00
 vocalman

这次分享一个基于 go 语言的开源网关 Goku API Gateway CE 部署指南,详情如下:

项目地址

https://github.com/eolinker/goku-api-gateway

环境要求

Docker 安装

1.控制台 docker:https://hub.docker.com/r/eolinker/goku-api-gateway-ce-console

2.网关节点 docker:https://hub.docker.com/r/eolinker/goku-api-gateway-ce-node

Docker 安装教程请查看 Docker 下的 Overview 页面

非 Docker 安装

一、控制台安装

1.安装:

  mkdir -p {install dir}
  mv console-{version}.tar.gz {tmp}/
  cd {tmp}/
  tar -xzf console-{version}.tar.gz
  cd console-{version} && ./install.sh {install dir}
  cd {install dir}

2.首次安装进入{install dir}/console/config 文件夹,编辑配置文件内容,配置语法参照 yaml

goku.conf 如下:

admin_bind: 绑定节点获取配置的地址,形如 IP:Port,填写内网地址或本机地址
listen_port: 管理后台监听端口,可以开放给外网访问
db_type: sqlite
db_path: sqlite db 的文件路径

3.进入{install dir}/console 文件夹,运行 run.sh 文件以启动控制台

首次运行:

./run.sh start {config file} 管理员账号 管理员密码

示例:

./run.sh start config/goku.conf admin 123456

非首次运行:

./run.sh start|restart

4.在浏览器输入服务器 IP+程序监听端口号,进入管理后台页面

注:程序监听端口号为 goku.conf 的配置项 listen_port 的值

至此控制台已安装完成,在控制台新建节点后,需要通过命令行启动节点。

二、节点安装

1.安装:

  mkdir -p {install dir}
  mv goku-node-{version}.tar.gz {tmp}/
  cd {tmp}/
  tar -xzf goku-node-{version}.tar.gz
  cd goku-node-{version} && ./install.sh {install dir}
  cd {install dir}

2.在管理后台新建节点

( 1 )登录控制台,一级菜单选择 网关节点,创建集群:

( 2 )进入相应的集群,为不同集群 添加节点:

( 3 )点击 新增节点 按钮,填写节点信息后点击 确定

监听地址:用于监听节点程序;监听的端口号用于节点做请求转发

管理地址:用于监控组件获取监控数据和对节点做健康检查等

3.启动节点程序:

命令:

{install dir}/run.sh {start|stop|reload|restart|force-reload} [admin url] {nodeKey}

示例:

 {install dir}/run.sh start 127.0.0.1:7005 6d345cafc22c1b411ed54dc5201c816a

4.检查节点是否正常运行:

进入节点管理页面,若节点的状态显示为运行中,则节点正常启动:

相关链接

项目地址:https://github.com/eolinker/goku-api-gateway

官网地址:https://www.eolinker.com

教程地址:https://help.eolinker.com/#/tutorial/?groupID=c-376&productID=19

2992 次点击
所在节点    分享创造
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/619461

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX