通过远程url调用shell 命令是很爽的事情,可以解决很多问题. 况且本文介绍的方法是非阻塞的, 也就是说可以很多并发调用,无论你的命令执行时间多久, 并不会导致web服务阻塞异常....,传递给子进程执行,执行完毕后,把结果返回给客户端, 我们就让sockproc 侦测/tmp/shell.sock 的套接口有没有数据到来.
2 安装lua-resty-shell模块....它是一个很小的库, 配合openresty 使用, 目的是提供类似于os.execute 或io.popen的功能, 唯一区别它是非阻塞的, 也就是说即使需要耗时很久的命令,你也可以使用它
git clone...}
local status, out, err = shell.execute("ls", args) --ls 是想调用的命令,
ngx.header.content_type = "text/plain..."
ngx.say("Result:\n" .. out) -- 命令输出结果
4 更改nginx 配置
vim /southtv/openresty/nginx/