linux系统离线安装orange实战
一、openssl
A.简介
- 一个强大的,商业级的,功能齐全的工具包,用于通用加密和安全通信。
- 官网
B.安装
二、openresty
A.简介
- OpenResty® 是一个成熟的网络平台,它集成了我们的 Nginx核心的增强版,我们的LuaJIT增强版,许多精心编写的Lua 库,许多高质量的第三方Nginx模块,以及 他们的大多数外部依赖关系。它旨在帮助开发人员轻松 构建可扩展的 Web 应用程序、Web 服务和动态 Web 网关。
- 官网
B.安装
C.配置
- 指定openssl库:
./configure --prefix=/home/was/install/openresty-1.21.4.1 --with-http_stub_status_module --with-openssl=/usr/lib64/openssl
- 执行:
gmake && gmake install
- 环境变量:
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.简介
- Lor是一个运行在OpenResty上的使用Lua编写的Web框架。 它兼顾开发效率和运行时性能, 可用于快速开发API Server和传统Web页面应用。
- 官网
B.安装
- 请先确保已安装OpenResty和luajit
- 官网安装
C.配置
- 修改openresty中makefile文件中目录为需要安装的目录:
LOR_HOME ?= /home/was/install/lor-0.3.4
LORD_BIN ?= /home/was/install/lor-0.3.4/bin
- 执行:
make install (或 gmake install)
- 环境变量:
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.简介
- Orange是一个基于OpenResty的API网关。除Nginx的基本功能外,它还可用于API监控、访问控制(鉴权、WAF)、流量筛选、访问限速、AB测试、动态分流等。
- 官网
B.安装
C.配置
- 修改配置文件: nginx.conf orange.conf
- 环境变量:
export PATH=/home/was/install/orange/bin:$PATH
五、mysql
A.安装
B.配置
- 新建mysql组和用户
groupadd mysql //新建组
useradd -d /home/mysql -g mysql mysql //新建用户
- 修改文件/etc/my.conf
- 配置环境变量:
export PATH=$PATH:/usr/local/mysql/bin
- 初始化mysql数据库
./mysqlld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --explicit_defaults_for_timestamp
- 将mysql启动命令拷贝到/etc/init.d中
cp mysql/support-files/mysql.server /etc/init.d/mysql
- 启动mysql服务
service mysql start
service mysql restart
- 新建用户及授权
create user 'xxx'@'%' identified by 'xxxxx';
grant all on *.* to 'xxx'@'%' identified by 'xxxxx';
- 执行初始化脚本
use mysql;
source /usr/local/mysql/tmp_sql_files/mysql_tables.sql
六、安装luarocks到openresty中
A.简介
- LuaRocks是Lua模块的包管理器。
- 官网
B.安装
- 官网下载
- 解压后进行如下配置
./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
- 参考文件 将luarocks整合到openresty中
C.说明
- --prefix 设置 Luarocks 安装路径,--with-lua 指定 Luarocks 依赖的 Lua 安装路径。设置 prefix 会自动将 Luarocks 以及往后使用 Luarocks 安装的 Lua 包,LuaC 包都安装到 Luarocks 安装路径下的相应位置,否则相关的包文件散落在文件系统中,显得杂乱不便于管理,如果所安装的 Lua 模板包含 bin 文件,则会自动安装到此目录下的 bin 路径,与 Luarocks 可执行文件同一路径,更便于管理、使用。
- 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.实际修改位置
- /usr/local/openresty/luajit/lib/luarocks文件夹
- /usr/local/openresty/luajit/share/lua/5.1/下除luarocks外文件及文件夹
C.orange目录修改(加解密orange提交记录)
- orange.conf中plugins添加'encrypt'模块,orange.conf中添加encryptpwd常量
- /dashboard/routes/dashboard.lua 中添加请求
dashboard_router:get("/encrypt", function(req, res, next)
res:render("encrypt")
end)
- /dashboard/views/common/condition-add.html 增加条件
<option value="Method">Method</option>
- /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>
- 新增加密解密包
commit 44e6566ca02c960bed58e450fb99d8f87c868a28 (readme)
commit 02c59166fe165798130aaa633a3f65ac4fd1747d (add axios example, add encryptpwd config)
commit 0f9f320f51dd1fa31cc10d52409c056d775e3b1d (add encrypt plugin)
八、注意事项
A.提前下载好需要安装的包文件
B.环境变量需要配置在文件中才能永久生效
- root用户: /etc/profile
- 普通用户: /home/用户名/.bashrc (一般设置这里就可以)
- 使文件生效: source .bashrc