2011年3月8日星期二

Re: Use nginx to call shell script - simplest way?

On Tue, Mar 8, 2011 at 8:07 PM, John Moore <grails@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

_______________________________________________
nginx mailing list
nginx@nginx.org
http://nginx.org/mailman/listinfo/nginx

没有评论:

发表评论