linux系统离线安装orange实战

linux系统离线安装orange实战

一、openssl

A.简介

  1. 一个强大的,商业级的,功能齐全的工具包,用于通用加密和安全通信。
  2. 官网

B.安装

  1. 官网安装
  2. 安装步骤参考
  3. 验证 openssl version -a

二、openresty

A.简介

  1. OpenResty® 是一个成熟的网络平台,它集成了我们的 Nginx核心的增强版,我们的LuaJIT增强版,许多精心编写的Lua 库,许多高质量的第三方Nginx模块,以及 他们的大多数外部依赖关系。它旨在帮助开发人员轻松 构建可扩展的 Web 应用程序、Web 服务和动态 Web 网关。
  2. 官网

B.安装

官网安装

C.配置

  1. 指定openssl库:
    ./configure --prefix=/home/was/install/openresty-1.21.4.1 --with-http_stub_status_module --with-openssl=/usr/lib64/openssl
  2. 执行:
    gmake && gmake install
  3. 环境变量:
    export PATH=/home/was/install/openresty-1.21.4.1/nginx/sbin:$PATH
    export LPATH=$LPATH:/home/was/install/openresty-1.21.4.1/luajit/lib:/usr/lib64
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/was/install/openresty-1.21.4.1/luajit/lib:/usr/lib64

D.验证

resty -v

三、lor

A.简介

  1. Lor是一个运行在OpenResty上的使用Lua编写的Web框架。 它兼顾开发效率和运行时性能, 可用于快速开发API Server和传统Web页面应用。
  2. 官网

B.安装

  1. 请先确保已安装OpenResty和luajit
  2. 官网安装

C.配置

  1. 修改openresty中makefile文件中目录为需要安装的目录:
    LOR_HOME ?= /home/was/install/lor-0.3.4
    LORD_BIN ?= /home/was/install/lor-0.3.4/bin
  2. 执行:
    make install (或 gmake install)
  3. 环境变量:
    export PATH=/home/was/install/lor-0.3.4/bin:$PATH
    export PATH=$PATH:/home/was/install/lor-0.3.4/bin

D.验证

lord -v

四、orange

A.简介

  1. Orange是一个基于OpenResty的API网关。除Nginx的基本功能外,它还可用于API监控、访问控制(鉴权、WAF)、流量筛选、访问限速、AB测试、动态分流等。
  2. 官网

B.安装

官网安装

C.配置

  1. 修改配置文件: nginx.conf orange.conf
  2. 环境变量:
    export PATH=/home/was/install/orange/bin:$PATH

五、mysql

A.安装

  1. 官网下载地址
  2. 安装步骤详解

B.配置

  1. 新建mysql组和用户
    groupadd mysql //新建组
    useradd -d /home/mysql -g mysql mysql //新建用户
  2. 修改文件/etc/my.conf
  3. 配置环境变量:
    export PATH=$PATH:/usr/local/mysql/bin
  4. 初始化mysql数据库
    ./mysqlld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --explicit_defaults_for_timestamp
  5. 将mysql启动命令拷贝到/etc/init.d中
    cp mysql/support-files/mysql.server /etc/init.d/mysql
  6. 启动mysql服务
    service mysql start
    service mysql restart
  7. 新建用户及授权
    create user 'xxx'@'%' identified by 'xxxxx';
    grant all on *.* to 'xxx'@'%' identified by 'xxxxx';
  8. 执行初始化脚本
    use mysql;
    source /usr/local/mysql/tmp_sql_files/mysql_tables.sql

六、安装luarocks到openresty中

A.简介

  1. LuaRocks是Lua模块的包管理器。
  2. 官网

B.安装

  1. 官网下载
  2. 解压后进行如下配置 ./configure --prefix=/usr/local/openresty/luajit --with-lua=/usr/local/openresty/luajit/ --lua-suffix=jit --with-lua-include=/usr/local/openresty/luajit/include/luagit-2.1 make && make install
  3. 参考文件 将luarocks整合到openresty中

C.说明

  1. --prefix 设置 Luarocks 安装路径,--with-lua 指定 Luarocks 依赖的 Lua 安装路径。设置 prefix 会自动将 Luarocks 以及往后使用 Luarocks 安装的 Lua 包,LuaC 包都安装到 Luarocks 安装路径下的相应位置,否则相关的包文件散落在文件系统中,显得杂乱不便于管理,如果所安装的 Lua 模板包含 bin 文件,则会自动安装到此目录下的 bin 路径,与 Luarocks 可执行文件同一路径,更便于管理、使用。
  2. make install会将编译好的luarocks安装到/usr/local/openresty相关目录:/usr/local/openresty/luajit/share/lua/5.1/luarocks

七、安装lua模块(示例:aes_everywhere)

A.安装

1、外网 ./luarocks install aes_everywhere

B.实际修改位置

  1. /usr/local/openresty/luajit/lib/luarocks文件夹
  2. /usr/local/openresty/luajit/share/lua/5.1/下除luarocks外文件及文件夹

C.orange目录修改(加解密orange提交记录

  1. orange.conf中plugins添加'encrypt'模块,orange.conf中添加encryptpwd常量
  2. /dashboard/routes/dashboard.lua 中添加请求
dashboard_router:get("/encrypt", function(req, res, next)
  res:render("encrypt")
end)
  1. /dashboard/views/common/condition-add.html 增加条件
<option value="Method">Method</option>
  1. /dashboard/views/common/left_nav.html 增加显示
<li id="nav-encrypt">
  <a href="/encrypt">
    <i class="fa fa-arrows"></i>
    <span class="nav-label">传输加密</span>
  </a>
</li>
  1. 新增加密解密包
commit 44e6566ca02c960bed58e450fb99d8f87c868a28 (readme)
commit 02c59166fe165798130aaa633a3f65ac4fd1747d (add axios example, add encryptpwd config)
commit 0f9f320f51dd1fa31cc10d52409c056d775e3b1d (add encrypt plugin)

八、注意事项

A.提前下载好需要安装的包文件

B.环境变量需要配置在文件中才能永久生效

  1. root用户: /etc/profile
  2. 普通用户: /home/用户名/.bashrc (一般设置这里就可以)
  3. 使文件生效: source .bashrc

C. 安装orange实战

  1. 参考orange实战步骤1
  2. 参考orange实战步骤2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章