Welcome! Log In Create A New Profile

Advanced

Re: Fetching HTTP value into config at start-up

oscaretu .
September 04, 2014 02:38AM
Hello, igorclark

Perhahs you can create a shell to launch nginx, and before that, ejecute a
shell to assign a environment variable as a result of the execution of a
program, or create (update) a file that is to be included from nginx config
file when starting

Some ideas:

http://nginx.2469901.n2.nabble.com/Want-to-access-UNIX-environment-variable-td7584005.html
https://www.google.com/search?client=ubuntu&channel=fs&q=get+environment+variable+from+nginx&ie=utf-8&oe=utf-8

Greetings,

Oscar


On Thu, Sep 4, 2014 at 7:07 AM, igorclark <nginx-forum@nginx.us> wrote:

> Hi all,
>
> I want to read some remote values via HTTP into nginx config variables,
> just
> once at nginx startup / reload time, and pass them as fastcgi_params into
> PHP scripts. I control the remote system, so I'll know if it needs to
> re-read and can send a HUP to nginx. I don't need it to happen every
> request
> though, because the value won't change for long periods - but it will
> change
> sometimes, and I don't want to have push more config out to multiple nginx
> servers if I can avoid it.
>
> Is there a way to do this that doesn't create problems?
>
> Here's what I've tried so far.
>
> This first one doesn't work, because the "API [is] disabled in the context
> of set_by_lua*":
>
> set_by_lua $config_variable "
> local result = ngx.location.capture('http://url.to.fetch/')
> return result
> "
>
> (Same with ngx.socket.*)
>
> This next one works; it feels horrible to do this but if it was just once
> at
> start-up, it might be OK - but this executes for every incoming request
> (confirmed by using /bin/date as the 'command' and just hitting refresh):
>
> set_by_lua $config_variable "
> local command = "/usr/bin/curl http://url.to.fetch/"
> local handle = io.popen(command)
> local result = handle:read("*a")
> handle:close()
> return result
> "
>
> Same for this one, it executes for every request:
>
> perl_set $config_variable '
> sub {
> $var = `/bin/date`;
> return $var;
> }
> '
>
> Is there a good way to do this, that only executes once, and doesn't have
> horrible shell interactions?
>
> Thanks very much for your help,
> Igor
>
> Posted at Nginx Forum:
> http://forum.nginx.org/read.php?2,253063,253063#msg-253063
>
> _______________________________________________
> nginx mailing list
> nginx@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>



--
Oscar Fernandez Sierra
oscaretu@gmail.com
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

Fetching HTTP value into config at start-up

igorclark September 04, 2014 01:07AM

Re: Fetching HTTP value into config at start-up

oscaretu . September 04, 2014 02:38AM

Re: Fetching HTTP value into config at start-up

igorclark September 04, 2014 10:31AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 251
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready