Use nginx to call shell script - simplest way?
agentzh
agentzh at gmail.com
Tue Mar 8 15:19:41 MSK 2011
On Tue, Mar 8, 2011 at 8:07 PM, John Moore <grails at jmsd.co.uk> wrote:
> I have a Java web application which, once in a while for reasons I am trying
> to determine, sometimes becomes unresponsive. I want to give users a simple
> way of restarting it, via the web, so as I've used ngix a lot in the past,
> my first thoughts turned to having nginx running on another port, with a URL
> available which causes a shell script to be run. What would be the easiest,
> most lightweight, way to do this? Or is there some other way of effecting
> what I want which I haven't thought of yet?
>
Using ngx_lua [1]:
location /restart-java-app {
content_by_lua 'os.execute("/bin/restart-my-java-app")';
}
But it's blocking, only suitable for personal use ;)
IIRC, Marcus Clyne was working on ngx_shell or something like that?
Which can give you shell access based on asynchronous threads that
will not block the whole nginx worker process :)
BTW, it's recommended to use the ngx_openresty bundle rather than
compile the module yourself: https://github.com/agentzh/ngx_openresty
Cheers,
-agentzh
[1] ngx_lua: http://github.com/chaoslawful/lua-nginx-module
More information about the nginx
mailing list