安装openresty和模块

感谢大神的帮助。

一、安装依赖的软件包
yum install readline-devel pcre-devel openssl-devel gcc

二、安装openresty

1、$ wget https://openresty.org/download/openresty-1.9.7.4.tar.gz
如果出现无法下载的情况,可手动下载包,然后上传到服务器

2. 解压tar包$ tar xzvf openresty-1.9.7.4.tar.gz3. 进入到解压的目录里,配置编译选项,可以根据你的实际情况增加、减少相应的模块$ ./configure --prefix=/opt/openresty --with-luajit --without-http_redis2_module --with-http_iconv_module
其中/opt/openresty这个目录是配置后的目录
4. 编译并安装$ make$ make install
也可以用 make && make install命令结合使用。以下是安装成功后的目录结构



结合之前的sqladvisor,可实现在网页上填入数据库连接和sql语句等,后端通过nginx和lua脚本,转换成命令形式,并解析返回的结果。操作如下:
1、在nginx/conf目录下的nginx.conf文件中,增加以下命令
# shell
location /sqladvisor/exec {
content_by_lua_file conf/luascript/sqladvisor.lua;
}
并去掉注释掉的错误日志脚本 error_log logs/error.log

2、创建luascript文件夹,并写一个lua脚本,脚本内容如下
local shell = require("resty.shell")
local args = {
socket = "unix:/tmp/shell.sock",
}
ngx.header.content_type = "text/plain"
--post请求参数
ngx.req.read_body()
local post_args = ngx.req.get_post_args()
port = tonumber(post_args.port)
cmd = "sqladvisor -h "..post_args.host..
" -P "..port ..
" -u "..post_args.userName..
" -p "..post_args.passWord..
" -d "..post_args.database..
" -q \""..post_args.sqlText.."\" -v 1"
local status,out,err = shell.execute(cmd, args)
ngx.say("data:\n",err)

其中使用了require("resty.shell")这个模块,所以在openresty中需要添加这个模板。
3、进入lualib这个目录,

找到resty模块,里面有很多命令的lua脚本,因为这次需要shell脚本的,所以需要从网上下载一份lua脚本。
git clone https://github.com/juce/lua-resty-shell
然后把lua脚本copy到当前目录 cp /opt/openresty/sockproc/lua-resty-shell/lib/resty/shell.lua ./

4、需要把sqladvisor 这个命令放入全局的环境变量中,此时可以通过软连接的形式操作。
找到上次安装的sqladvisor的目录

命令:ln -s /usr/local/SQLAdvisor/sqladvisor/sqladvisor /usr/local/bin/
操作到此结束。



填入相关参数

浏览器返回结果




附录:SQLAdvisor的安装
拉取最新代码
配置软连接
2、cd /usr/lib64/
3、ln -s libperconaserverclient_r.so.18 libperconaserverclient_r.so
安装依赖项
4、yum install cmake libaio-devel libffi-devel glib2 glib2-devel
有可能需要配置percona56
安装依赖项 其中Percona56的值可以通过yum repolist指定,比如这里可以把Percona56替换成percona-release-x86_64

6、 yum install --enablerepo=Percona56 Percona-Server-shared-56
进入SQLAdvisor目录
7、cmake -DBUILD_CONFIG=mysql_release -DCMAKE_BUILD_TYPE=debug -DCMAKE_INSTALL_PREFIX=/usr/local/sqlparser ./
编译和安装
8、make && make install
9、cd SQLAdvisor/sqladvisor/
编译
10、cmake -DCMAKE_BUILD_TYPE=debug ./
11、make
看到这里,说明安装成功


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装PostgresNginx模块需要以下步骤: 1. 安装OpenResty 根据操作系统不同,可以使用不同的方式安装OpenResty。具体可以参考OpenResty的官方文档。 2. 安装PostgreSQL 同样,根据操作系统不同,可以使用不同的方式安装PostgreSQL。具体可以参考PostgreSQL的官方文档。 3. 安装libpq库 PostgresNginx模块依赖于libpq库,需要先安装该库。可以使用以下命令: ```bash sudo apt-get install libpq-dev ``` 4. 下载PostgresNginx模块 可以从PostgresNginx模块的GitHub仓库中下载最新版本的源代码。可以使用以下命令: ```bash wget https://github.com/FRiCKLE/ngx_postgres/archive/master.zip unzip master.zip ``` 5. 编译安装PostgresNginx模块 进入ngx_postgres目录,使用以下命令编译安装模块: ```bash cd ngx_postgres-master make sudo make install ``` 6. 配置OpenRestyOpenResty的nginx.conf文件中添加以下配置: ```nginx http { ... postgres_server localhost dbname=your_db user=your_user password=your_password; ... server { ... location /your_path { postgres_pass your_upstream; postgres_query your_query; postgres_output rds_json; } ... } ... } ``` 其中,your_db、your_user和your_password需要替换为实际的数据库名称、用户名和密码;your_path需要替换为实际的请求路径;your_query需要替换为实际的SQL查询语句;your_upstream需要替换为实际的upstream名称。 7. 重启OpenResty 使用以下命令重启OpenResty: ```bash sudo /usr/local/openresty/bin/openresty -s reload ``` 完成以上步骤后,即可在OpenResty中使用PostgresNginx模块
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值