orange安装文档
一、Orange简介
Orange是一个基于 OpenResty/Nginx 的 API Gateway,提供 API 及 “自定义规则” 的监控和管理,如访问统计、流量切分、AB 测试、API 重定向、API 鉴权、WEB 防火墙等功能。
它是一个增强的 Nginx,可以将现有的 Nginx 很简单地移植到 Orange,不用在业务系统添加任何代码即可享有丰富的 API 管理功能。
二、安装
1、安装lor
lor是一个运行在OpenResty上的lua框架,适用于构建HTTP API和web page。主要API和路由风格类似Sinatra(Ruby框架)和Express(Node.js框架),熟悉这两门语言或框架的开发者能很快上手。
若使用的Orange版本低于v0.6.2则应安装lor v0.2.*版本
若使用的Orange版本高于或等于v0.6.2则应安装lor v0.3.0+版本
tar xf lor-0.3.2.tar.gz
cd lor-0.3.2
make install
安装目录默认安装在/usr/local/lor
测试lor是否安装成功:
cd /tmp
快速构建一个lua项目骨架
lord new fansik
lord start
2、安装libuuid.so(新版本的orange中已经不依赖此包)
yum install libuuid-devel
3、创建nginx用户
useradd -r nginx
3、安装orange
tar xf orange-0.6.4.tar.gz
cd orange-0.6.4
make install
4、在orange启动之前还要为orange先准备一个数据库
MySQL安装省略
直接创建授权了哦
create database orange;
grant all privileges on orange.* to orange@'%' identified by 'fansik';
flush privileges;
将/usr/local/orange/install中对应版本的sql文件导入到数据库中
mysql -uorange -pfansik orange < orange-v0.6.4.sql
5、配置数据库连接
配置文件位置/usr/local/orange/conf/orange.conf
"store": "mysql",
"store_mysql": {
"timeout": 5000,
"connect_config": {
"host": "10.29.80.210",
"port": 3306,
"database": "orange",
"user": "orange",
"password": "fansik",
"max_packet_size": 1048576
},
"pool_config": {
"max_idle_timeout": 10000,
"pool_size": 3
},
"desc": "mysql configuration"
},
6、开启后台管理的认证功能
"dashboard": {
"auth": true,
"session_secret": "y0ji4pdj61aaf3f11c2e65cd2263d3e7e5",
"whitelist": [
"^/auth/login$",
"^/error/$"
]
},
auth为true,则需用户名、密码才能登录Dashboard,默认的用户名和密码为admin/orange_admin