Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Im trying to setup a loadbalancing system. My load balancer (nginx) has a conf file where i should list all IP's of the upstream servers.

I could put the IP's on the conf manually, but this ways i would need to change the conf file every time i add/remove an upstream server.

For now i came up with two different ideas, but i don't like much of neither:

1 - Have every upstream machine to use Exported Resources to create a file with it's IP..Then the load balancer server will have an "include conf_directory/*", and load all the files created by the upstrem servers. Since the load balancer is using nginx this can be done, but if i wan't latter on to configure something that doesn't have the "include" on the conf files, this solution will not work.

2 - If the config doesn't support the "include" command, then we could have again, every upstream server use the Exported Resources to create a filw with its IP, and latter on, the load balancer execute a command that would pick every file and generate the config

Both versions addopt the same techinque, the difference is that version 2 is used when the server (that needs to have a conf generated) doesn't recognize a command like "include" inside its own conf.

Now, my question is, is there any way to do this in a different form? I suspect that there is, since puppet is made to manage multiple servers, it seems a bit strange not have a easy way to configure load balancers.

EDIT: After all, the 1st solution doens't work also, because i can't use the include directive inside the upstream on the nginx conf

share|improve this question

1 Answer 1

up vote 0 down vote accepted

Use R.I.Pienaar's concat module. With this you can export/collect configuration file snippets and concatenate them on the target into a single file.

share|improve this answer
    
This helps me implement the solution 2. I was looking for other kinds of approach, but for now, this is the one. Thank you David. –  Gonçalo Queirós May 26 '10 at 18:15
    

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.