1,Orange网关
Orange是一个基于OpenResty的API网关。除Nginx的基本功能外,它还可用于API监控、访问控制(鉴权、WAF)、流量筛选、访问限速、AB测试、动态分流等。它有以下特性:
提供了一套默认的Dashboard用于动态管理各种功能和配置
提供了API接口用于实现第三方服务(如个性化运维需求、第三方Dashboard等)
可根据规范编写自定义插件扩展Orange功能。
还是不错的,一个很漂亮的web可视化界面。
项目地址:
https://github.com/sumory/orange
使用的是MIT开源。
2,安装openresty
需要安装openresty。
https://openresty.org/cn/installation.html
安装:
yum -y install libuuid-devel
yum -y update
yum -y groupinstall "Development Tools"
yum -y install pcre-devel openssl-devel
./configure --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module
gmake && gmake install
ln -s /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
nginx -v
和安装不同是是需要增加 stub_status_module。其他的随意。
3,安装Orange
首先要安装mariadb-server
因为orage使用mysql进行集中存储配置的。
创建一个orange用户的数据库。
yum -y install mariadb-server
mysql -u root
CREATE DATABASE orange CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'orange'@'%' IDENTIFIED BY 'orange';
GRANT ALL PRIVILEGES ON orange.* TO 'orange'@'%';
FLUSH PRIVILEGES;
#最后一定要执行mysql的数据库导入。
mysql -u orange -porange -h 10.0.2.15 orange < orange-v0.6.2.sql
安装之前需要lor 框架,否则启动有问题。
git clone https://github.com/sumory/lor
cd lor
make install
启动 orange 服务:
git clone https://github.com/sumory/orange
cd orange
sh start.sh
启动之前需要修改配置文件:
vi conf/orange.conf
....
"store_mysql": {
"timeout": 5000,
"connect_config": {
"host": "10.0.2.15",
"port": 3306,
"database": "orange",
"user": "orange",
"password": "orange",
"max_packet_size": 1048576
},
"pool_config": {
"max_idle_timeout": 10000,
"pool_size": 3
},
"desc": "mysql configuration"
},
....
4,界面很漂亮内容丰富
其中看样子还功能挺多的。
数据配置都存储到了mysql中。
使用文档:
http://orange.sumory.com/docs/all/
5,总结
本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/60969384 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys
初步的使用了下orange api 网管。
开发的还真的是不错。并且使用起来也很简单。貌似功能很多。
主要还是使用了 openresty的lua 把url 转发,跳转,拦截做成了可视化的配置。
对于移动开发项目api比较多的使用起来应该还不错。
现在不都流行api restful 接口吗,做数据统计权限啥的还是非常方便的。