2.Orange安装
一、安装依赖说明
1.OpenResty: 版本应在1.9.7.3+
- Orange的监控插件需要统计http的某些状态数据,所以需要编译OpenResty时添加
--with-http_stub_status_module
- 由于使用了*_block指令,所以OpenResty的版本最好在1.9.7.3以上.
- 在OpenResty安装好后需要将nginx和resty
命令配置到环境变量中, 使用nginx-v和resty-v能正常输出。
2.lor框架
- 若使用的Orange版本低于v0.6.2则应安装lor v0.2.*版本
- 若使用的Orange版本高于或等于v0.6.2则应安装lor v0.3.0+版本
3.MySQL
- 配置存储和集群扩展需要MySQL支持
二、安装OpenResty
由于Orange是基于Nginx / OpenResty的API Gateway,所以我们先安装OpenResty !
①.到OpenResty官网找到要下载的对应的版本文件包,如果嫌麻烦,可以直接在linux内通过wget下载
wget https://openresty.org/download/openresty-1.11.2.4.tar.gz --no-check-certificate
执行后,tar.gz包就被下载到相关目录了
下载下来后,使用tar -zxvf 压缩包名进行解压即可
②.对OpenResty进行编译安装
首先,进入解压后的目录并执行相关配置信息:
cd openresty-1.11.2.4/
./configure -j2 --with-http_stub_status_module
执行上述命令后出现以下信息,表示配置成功,可以执行make或make install或者gmake或者gmake install命令进行安装:
③.配置环境变量
注意:OpenenRestry默认情况下程序会被安装到 /usr/local/openresty 目录,你可以使用 ./configure --help 查看更多的配置选项:
知道初始目录后,开始来配置环境变量:
vim /etc/profile
export PATH=$PATH:/usr/local/openresty/nginx/sbin
export PATH=$PATH:/usr/local/openresty/bin
#使配置生效
source /etc/profile
配置好后,测试是否正常输出版本信息:
三、安装lor框架
说明:安装lor有多种方式,在这里,推荐脚本安装
①.使用git命令clone lor
②.clone完毕后,当前目录下会生成lor目录,cd到该目录,然后make install:
注意:默认lor的运行时lua文件会被安装到/usr/local/lor下, 命令行工具lord被安装在/usr/local/bin下
③.最后,我们可以通过which lord查询lord命令行工具目录
同时,lor的运行时包安装在了指定目录下, 可通过lord path命令查看
到目前为止,lor已经安装完毕,可以通过lord -h查看是否安装成功:
lord -h
lor ${version}, a Lua web framework based on OpenResty.
查看我的linux服务器是否安装lor成功:
四、安装Orange
①.首先拷贝Orange项目到服务器本地
命令如下:
git clone https://github.com/sumory/orange.git
②.配置数据库
在MySQL中创建数据库,名为orange,将与当前代码版本配套的SQL脚本(如install/orange-v0.6.3.sql)导入到orange库中; 如果需要从低版本升级到最新版,请自行对比版本间SQL脚本差异
注意:sql文件在https://github.com/sumory/orange页面中的install目录里面
在这里,我们使用最新的orange-v0.6.4.sql脚本,导入后,有以下一些表:
③.修改Orange配置文件,配置参考官网提供
Orange有两个配置文件,一个是conf/orange.conf,用于配置插件、存储方式和内部集成的默认Dashboard,另一个是conf/nginx.conf用于配置Nginx(OpenResty).
orange.conf的配置如下,请按需修改:
{
"plugins": [ //可用的插件列表,若不需要可从中删除,系统将自动加载这些插件的开放API并在7777端口暴露
"stat",
"monitor",
"redirect",
"rewrite",
"rate_limiting",
"property_rate_limiting",
"basic_auth",
"key_auth",
"signature_auth",
"waf",
"divide",
"kvstore"
],
"store": "mysql",//目前仅支持mysql存储
"store_mysql": { //MySQL配置
"timeout": 5000,
"connect_config": {//连接信息,请修改为需要的配置******
"host": "127.0.0.1",
"port": 3306,
"database": "orange",
"user": "root",
"password": "",
"max_packet_size": 1048576
},
"pool_config": {
"max_idle_timeout": 10000,
"pool_size": 3
},
"desc": "mysql configuration"
},
"dashboard": {//默认的Dashboard配置.
"auth": false, //设为true,则需用户名、密码才能登录Dashboard,默认的用户名和密码为admin/orange_admin
"session_secret": "y0ji4pdj61aaf3f11c2e65cd2263d3e7e5", //加密cookie用的盐,自行修改即可
"whitelist": [//不需要鉴权的uri,如登录页面,无需修改此值
"^/auth/login$",
"^/error/$"
]
},
"api": {//API server配置
"auth_enable": true,//访问API时是否需要授权
"credentials": [//HTTP Basic Auth配置,仅在开启auth_enable时有效,自行添加或修改即可
{
"username":"api_username",
"password":"api_password"
}
]
}
}
在根据上文配置各种环境后, Orange无需“安装”即可使用
- 默认的, 源码里提供了start.sh用来启动Orange
- 本质上只要启动Nginx/OpenResty并根据默认的配置文件来加载Orange配置即可启动Orange
- 用户可自行参考start.sh编写符合自己需要的类似脚本
- 此外, 如果有需要将Orange放到其他路径, 可通过make install来安装。 执行此命令后, 以下两部分将被安装:
/usr/local/orange #orange运行时需要的lua文件
/usr/local/bin/orange #orange命令行工具, 依赖`resty`命令
验证是否安装成功:
④.启动Orange
注意:如果有使用make install命令安装Orange,可使用orange start来启动,否则进入使用git clone 拷贝的项目内执行sh start.sh启动orange
Orange启动成功后, Dashboard和API server也随之启动:
- 内置的Dashboard可通过http://localhost:9999(服务器的外网ip地址)访问
- API Server默认在7777端口监听,如不需要API Server可删除nginx.conf里对应的配置