Centos 7 安装 OpenResty api 网关 Orange,centosopenresty


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 接口吗,做数据统计权限啥的还是非常方便的。

相关内容