Thanks Matthews for you reply.<br><br>What cluster FS do you, or someone else, suggest for this farm of web server ?<br>Does nginx support for mass hosting configuration? I would not like to set each of the 100k domain manually !<br>
<br>Thanks once more!<br><br>PS: BTW, for the cluster FS, keep in mind i am running OpenBSD and cannot change the this OS. I must adapt myself to it.<br><br><div class="gmail_quote">On Sat, Dec 22, 2012 at 9:27 PM, Jonathan Matthews <span dir="ltr"><<a href="mailto:contact@jpluscplusm.com" target="_blank">contact@jpluscplusm.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 22 December 2012 22:19, Friedrich Locke <<a href="mailto:friedrich.locke@gmail.com">friedrich.locke@gmail.com</a>> wrote:<br>
> Hey,<br>
><br>
> this is my first message to this mailing list. I am not, right now, using<br>
> nginx, but i would like to do so.<br>
<br>
</div>Good plan. It's a very flexible HTTP server and router.<br>
<div class="im"><br>
> My intent is the following:<br>
><br>
> I would like to build a farm of x web server. I would like to perform load<br>
> balance among them. I need high performance and high availability for a set<br>
> of 100k domains to hosted within this farm of web server. The requirement i<br>
> was presented with is that a domain must be served by at least 3 server.<br>
<br>
</div>That's very achievable. At mass-hosting volumes like these, you'll<br>
need to distinguish between static site hosting and dynamic<br>
application hosting. Doing the former at volume is (almost!) trivial<br>
using nginx; doing the latter will be more ... interesting.<br>
<div class="im"><br>
> I want to use nginx as web server; and could use nginx or varnish as reverse<br>
> proxy, which ever would be a better approach.<br>
<br>
</div>If you mean a pure reverse proxy with responsibility other than HTTP<br>
routing, then nginx is very well suited to this. If you want to bring<br>
back-end health checks and HTTP caching into the mix as well, then I'd<br>
suggest supplementing nginx with Varnish (caching) and HAProxy (health<br>
checks). Whilst nginx can fulfil both these functions, I prefer those<br>
other two tools for various operational reasons.<br>
<div class="im"><br>
> Some doubts arose :<br>
><br>
> 0) Do i need to have the html/jpeg/php/* of a given domain replicated on<br>
> each of the http server i want to serv that domain ?<br>
<br>
</div>Generally yes, but you may wish to research network attached storage<br>
(NAS) and cluster filesystems for a common solution to this scaling<br>
problem.<br>
<div class="im"><br>
> 1) What happens if a web client upload a file to that domain, it (the file)<br>
> get saved in a http server and the next request of that web client to the<br>
> domain goes to a second http server the upload file is not there ?<br>
<br>
</div>You don't mention if this is the site admin uploading files to the<br>
site, or user generated content (UGC) being provided by users<br>
<br>
In general, the former is something you'd need to solve in the same<br>
way you solved for your question #0, above. The latter is generally an<br>
application-level problem, which may well use the replication/etc<br>
strategies provided by the solution to #0, but really isn't obliged<br>
to.<br>
<div class="im"><br>
> 2) What about session? User authenticated session ? How does nginx manage<br>
> such? A given server could have information about a session and the other<br>
> server that serves the domain too is not aware about the session.<br>
<br>
</div>You would normally solve this at the application or application framework layer.<br>
<br>
HTH,<br>
Jonathan<br>
<span class="HOEnZb"><font color="#888888">--<br>
Jonathan Matthews // Oxford, London, UK<br>
<a href="http://www.jpluscplusm.com/contact.html" target="_blank">http://www.jpluscplusm.com/contact.html</a><br>
<br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
</font></span></blockquote></div><br>