KONGUI
项目说明
本项目是基于KONGAPI,制作的管理控制台。
前端项目目录为web,使用Angular10版本的ng-alain框架开发。
后端项目目录为api使用Typescript语言的egg框架开发。
数据库使用Mysql,db目录下的kong.sql为数据库的初始化脚本。
用户登陆的初始用户名为:admin,密码为:kongui。
注:本项目为个人开发项目,非KONG官方项目。
项目支持多站点管理,站点信息保存在数据库中。
除站点管理外,还包括新增代理(一次性同时增加服务及关联服务的路由)、路由,服务,用户,证书,插件,上游,及目标的管理。
注:插件部分功能只做了访问IP限制,后续会根据反馈意见加入一些常用插件的管理。
示例网站
示例地址:https://kongui.marbleqi.top/
注:各个用户之间管理的站点做了逻辑隔离,只能看到自己管理的站点。
初始用户下,已有一个示例站点,该示例站点并未实际提供对外代理服务,搭建可随意配置管理。
界面右上角有个人设置,可以修改登录名和密码。
修改用户名和密码后,可以添加自行使用的真实KONGAPI地址试用。 注:真实的API地址会被我看到,所以建议获取源码后,私有化部署。
| 初始登陆名 | 初始密码 |
|---|---|
| admin | kongui |
| konguiuser2 | kongui |
| konguiuser3 | kongui |
| konguiuser4 | kongui |
| konguiuser5 | kongui |
| konguiuser6 | kongui |
| konguiuser7 | kongui |
| konguiuser8 | kongui |
| konguiuser9 | kongui |
| konguiuser10 | kongui |
项目运行
拉取项目
git clone https://github.com/marbleqi/kongui.git
环境配置
- 安装docker环境(以下以Linux操作系统为例)
# 下载安装包
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.2.el7.x86_64.rpm
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-19.03.12-3.el7.x86_64.rpm
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-19.03.12-3.el7.x86_64.rpm
# 安装docker
yum -y install containerd.io-1.2.13-3.2.el7.x86_64.rpm
yum -y install docker-ce-cli-19.03.12-3.el7.x86_64.rpm
yum -y install docker-ce-19.03.12-3.el7.x86_64.rpm
# 启动docker服务
systemctl start docker
- 安装nodejs环境(以下以Linux操作系统为例)
# 获取12版本系列最新安装配置
curl --silent --location https://rpm.nodesource.com/setup_12.x | bash
# 安装指定12版本的最新子版本nodejs
yum install -y nodejs
# 调整npm包源为淘宝源(国内服务器可考虑使用该配置)
npm config set registry https://registry.npm.taobao.org
npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
# 升级npm包到最新版本
npm -g i npm
-
准备Mysql数据库,并创建数据库,并配置用户名密码等权限,使用db目录下脚本初始化数据库。
-
配置后端项目中的数据库连接参数,配置文件路径/api/config/config.prod.ts
config.keys = appInfo.name + 'cookie签名密钥,请自行修改';
config.mysql = {
clients: {
kong: {
host: '数据库地址',
port: '端口号',
database: '数据库名',
user: '用户名',
password: '密码',
},
},
// 是否加载到 app 上,默认开启
app: true,
// 是否加载到 agent 上,默认开启
agent: true,
};- 配置前端项目连接的后端地址,配置文件路径/web/src/environments/environment.prod.ts
export const environment = {
// 以下参数为后端地址,可使用相对地址,也可使用域名
SERVER_URL: `http://kongui.domain.com:4000`,
production: true,
useHash: true,
hmr: false,
mock: false,
};制作前端镜像
# 进入前端项目目录
cd web
# 安装nodejs依赖包
npm i
# 编译静态文件(输出目录为dist目录)
npm run build
# 将镜像配置文件移入编译后目录
mv Dockerfile dist/
mv nginx.conf dist/
# 制作镜像,镜像名konguiweb
docker build -t konguiweb ./dist
制作后端镜像(注:需修改配置文件后制作镜像)
# 从前面项目目录切换到后端项目目录
cd ../api
# 制作镜像,镜像名konguiapi
docker build -t konguiapi .
使用镜像启动服务
# 启动后端镜像
docker run \
-dit \
--name konguiapi \
--hostname konguiapi \
-p 4000:80 \
konguiapi
# 启动前端镜像
docker run \
-dit \
--name konguiweb \
--hostname konguiweb \
-p 4001:80 \
konguiweb
配置路由访问
如前后端容器都部署在一台服务器上,且配置了公网IP的解析域名为kongui.domain.com。
则访问前端地址:http://kongui.domain.com:4001
登陆后修改密码
登陆后,右上角的“个人设置”处,可弹出修改信息页面,可以修改密码。

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
