程序员的资源宝库

网站首页 > gitee 正文

2.Orange安装 orange软件怎么下载

sanyeah 2024-03-29 18:01:39 gitee 9 ℃ 0 评论

一、安装依赖说明


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里对应的配置

 

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表