【CentOS 7.2】Orange 0.6.4 安装与配置

---------2017-08-25 重新编辑格式---------
Orange是一个简单易用的开源API Gateway,它集成了Openresty、Nginx和lor,使用Lua语言开发了nginx插件,可以实现后端服务API路由设置以及反向代理、负载均衡,此外还提供一些API监控功能,但是API鉴权尚不完善,不支持精细的权限配置。配合Docker使用,可以组成轻量级低负载的微服务架构,适合初创公司使用。通过API网关实现对外统一的接口契约格式,使得后端的开发语言对前端完全透明,实现多种后端语言共同开发,例如使用PHP支持一些需要快速上线的业务,而使用Java支持一些持久稳定的业务等,此外在集成其它采购的软件,如OA、CMS等系统时,也可以起到隔离差异和统一访问的作用。

一、安装依赖

(1)安装OpenSSL(Openresty依赖库)
[root@local ~]# yum install openssl-devel
(2)安装PCRE(Openresty依赖库)
[root@local ~]# yum install pcre-devel
(3)编译安装Openresty(Orange依赖)
[root@local ~]# wget https://openresty.org/download/openresty-1.11.2.3.tar.gz
[root@local ~]# ./configure -j2 --with-http_stub_status_module
编译安装
[root@local ~]# gmake
[root@local ~]# gmake install
或者
[root@local ~]# make
[root@local ~]# make install
默认安装目录为
/usr/local/openresty
.bash_profile配置环境变量:
PATH=$PATH:$HOME/bin:/usr/local/openresty/bin:/usr/local/openresty/nginx/sbin
*注:
笔者使用Openresty官方提供yum安装源安装之后,检查orange安装状态时,Nginx出现如下错误,原因未知,因此最终还是选择了编译安装。此外,使用yum安装只生成openresty执行文件,而不会生成resty文件,需要自行创建软连接”ln -s”。

[root@local ~]# orange help
nginx:invalid option: "/usr/local/bin/orange"
(4)编译安装lor框架(Orange依赖)
[root@local ~]# git clone https://github.com/sumory/lor.git
[root@local ~]# cd lor
[root@local ~]# make install
默认安装目录为:/usr/local/lor
可执行文件:/usr/local/bin/lord

二、安装Orange

[root@local ~]# git clone https://github.com/sumory/orange.git
[root@local ~]# cd orange
[root@local ~]# make install
由于Orange 是免安装使用,也可以使用start.sh直接启动,因此,实际安装的只是命令行工具,检查命令行工具如下。
[root@beijing5 openresty]# orange help
Orangev0.6.4, OpenResty/Nginx API Gateway.
Usage:orange COMMAND [OPTIONS]
Thecommands are:
stop       Stop current Orange
version    Show the version ofOrange
restart    Restart Orange
reload     Reload the config of Orange
store      Init/Update/Backup Orange store
help       Show help tips
start      Start the Orange Gateway
默认安装目录为:/usr/local/orange
可执行文件:/usr/local/bin/orange

三、配置Orange

Orange有两个主要的配置文件orange.conf和nginx.conf,可以在执行”make install”之前,先修改好两个配置文件。
(1)配置文件orange.conf

主要修改数据库连接相关的配置,并设置dashboard密码登录,初始密码admin/orange_admin。

{
    "plugins":[
        "stat",
        "monitor",
        "redirect",
        "rewrite",
        "rate_limiting",
        "property_rate_limiting",
        "basic_auth",
        "key_auth",
        "signature_auth",
        "waf",
        "divide",
        "kvstore"
    ],
    "store":"mysql",
    "store_mysql":{
        "timeout":5000,
        "connect_config":{
           "host": "192.168.1.107",
           "port": 3306,
           "database": "orange",
           "user": "orange_dba",
           "password": "orange_passwd",
           "max_packet_size": 1048576
        },
        "pool_config":{
           "max_idle_timeout": 10000,
           "pool_size": 3
        },
        "desc":"mysql configuration"
    },
    "dashboard":{
        "auth":true,
        "session_secret":"y0ji4pdj61aaf3f11c2e65cd2263d3e7e5",
        "whitelist":[
           "^/auth/login$",
           "^/error/$"
        ]
    },
    "api":{
        "auth_enable":true,
        "credentials":[
           {
               "username":"api_username",
               "password":"api_password"
           }
        ]
    }
}

(2)配置文件nginx.conf
可以直接使用默认配置文件启动,然后再根据实际业务修改,建议把所有的error_log输出级别设置为warn,如下
error_log./logs/error.log warn;
否则会输出大量的日志记录,此外建议设置crontab定时任务对日志按天切分。
另外,建议将nginx.conf默认的server配置和新增的server配置拆分到几个文件中,例如main.conf、dashboard.conf、default.upstream.conf、api.conf,然后在主配置文件里引入,如下
include/usr/local/orange/conf/conf.d/*.conf;


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值