chmod u+x /opt/httpbot.py
service supervisor status
# If stopped:
service supervisor start
supervisorctl status
# If httpbot is not running:
supervisorctl update
curl https://example.com/foo
# Should return {"ok": true}
tail /var/log/httpbot.log
# Should show `command: /foo` and the output of shell script
6条答案
按热度按时间szqfcxe21#
您可以通过nginx.conf文件中的
Lua
代码执行shell脚本来实现这一点。您需要拥有HttpLuaModule才能做到这一点。这里有一个例子来做这件事。
字符串
cld4siwp2#
我在这个地址的网上找到了以下信息:https://www.ruby-forum.com/topic/2960191
这确实需要你在机器上安装fcgiwrap。它真的很简单:
字符串
示例脚本(必须是可执行的)
型
也可以将其用作包含文件,而不仅仅限于shell脚本。
型
我发现它对我的工作非常有帮助,我希望它能帮助你完成RaspberryPI项目。
ezykj2lf3#
如果你更喜欢Python中的完全控制:
/opt/httpbot.py
:字符串
httpbot
一次运行一个命令,没有冲突。apt install supervisor
/etc/supervisor/conf.d/httpbot.conf
:型
型
型
bsxbgnwa4#
1.安装OpenResty(OpenResty只是Nginx的一个增强版本,通过插件模块)参考https://openresty.org/en/getting-started.html
1.在示例上配置AWS服务器
1.编写shell脚本,从指定的S3存储桶下载文件
1.在nginx.conf文件中进行所需的更改
1.重启nginx服务器
我已经使用curl测试了http请求,并在相应示例的
/tmp
目录中下载文件:字符串
输出:
型
nginx.conf文件的内容:
型
ekqde3dh5#
你可以使用nginx的perl模块,它通常是repo的一部分,可以很容易地安装。调用系统curl命令的示例:
字符串
l3zydbqr6#
你也可以使用nginx镜像模块和proxy_pass它到一个运行任何东西的web脚本。在我的情况下,我只是把这个添加到我的主站点位置,{...
字符串
然后做了一个新的位置称为镜像,我已经运行了一个PHP脚本,执行任何.
型
https://nginx.org/en/docs/http/ngx_http_mirror_module.html