【CentOS 7.2】Orange 0.6.4 安装与配置
2017-06-24 13:13
453 查看
---------2017-08-25 重新编辑格式---------
Orange是一个简单易用的开源API Gateway,它集成了Openresty、Nginx和lor,使用Lua语言开发了nginx插件,可以实现后端服务API路由设置以及反向代理、负载均衡,此外还提供一些API监控功能,但是API鉴权尚不完善,不支持精细的权限配置。配合Docker使用,可以组成轻量级低负载的微服务架构,适合初创公司使用。通过API网关实现对外统一的接口契约格式,使得后端的开发语言对前端完全透明,实现多种后端语言共同开发,例如使用PHP支持一些需要快速上线的业务,而使用Java支持一些持久稳定的业务等,此外在集成其它采购的软件,如OA、CMS等系统时,也可以起到隔离差异和统一访问的作用。
编译安装
笔者使用Openresty官方提供yum安装源安装之后,检查orange安装状态时,Nginx出现如下错误,原因未知,因此最终还是选择了编译安装。此外,使用yum安装只生成openresty执行文件,而不会生成resty文件,需要自行创建软连接”ln -s”。
可执行文件:/usr/local/bin/lord
可执行文件:/usr/local/bin/orange
另外,建议将nginx.conf默认的server配置和新增的server配置拆分到几个文件中,例如main.conf、dashboard.conf、default.upstream.conf、api.conf,然后在主配置文件里引入,如下
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;
相关文章推荐
- 在centOS7.2安装配置zabbix监控
- centos7.2 利用yum安装配置apache2.4多虚拟主机
- centos 7.2 安装Nginx 及配置php-fpm识别php文件
- Centos7.2 JDK安装 + Tomcat安装 + 防火墙配置
- Centos7.2 JDK安装 + Tomcat安装 + 防火墙配置
- Centos7.2 Redis数据库的安装与自启动配置
- centos7.2 安装配置vsftpd
- centos7.2 安装zookeeper并配置zookeeper集群
- centOS7.2 安装配置tomcat8
- U盘安装CentOS7.2 Linux系统和基础配置
- 配置LANMP环境(1)-- 安装虚拟机VMware与安装CentOS7.2系统
- CentOS7.2系统环境中安装saltstack详细配置过程讲解
- win7下远程连接Centos7.2界面---VNC的安装与配置
- Centos 7.2 安装 Ambari 2.2.2 + HDP 2.4.2 搭建Hadoop集群的环境配置
- 阿里云服务器centos7.2 的安装及配置java web环境
- CentOS 7.2 yum安装配置lnmp服务器(Nginx+PHP+MySQL)
- Centos7.2 FastDFS_V5.05 集群的安装与配置1
- [置顶] 在centos7.2上安装和配置mysql 5.7
- CentOS 7.2 安装和配置 FTP 服务器
- CentOS7.2 安装mysql,并配置自动启动和远程访问