It still surprises me that NGINX beat out Apache so quickly even though Apache had way more modules and was/is entirely free vs. NGINX which is more or less "open core" with some nice features requiring commercial licensing.
Back in 2005-6 , nginx was so far ahead a generation of engineers adopted it… it’s use of signals to zero downtime upgrade (USR2) - still is one of the best features few other servers get right. The syntax to configure is clear enough while not being super verbose…
Do svidaniya, Igor, and thank you for Nginx
181–190 of 366 posts
Re: Do svidaniya, Igor, and thank you for Nginx
#182I really take for granted how well Nginx works across a number of web backend functions. Some of the container/orchestration world has tried to supplant the need for it as a reverse proxy, but you get so many goodies out of the box just by sticking this in front of your app, and for very little overhead. I remember the pre-Nginx days and all of the struggles people routinely ran into with options like Apache or other…
I mean there was lighttpd before nginx and they have/had pretty similar structures, weights, etc. I feel like I knew at one point why it got so thoroughly supplanted by nginx but I don't remember now why that happened.
Re: Do svidaniya, Igor, and thank you for Nginx
#183> a novel architecture Is this simply referring to event-driven I/O (using select, epoll, or the like), or something else? I'm pretty sure event-driven, as opposed to forking or thread-per-connection, web servers were well established by 2002, though perhaps primarily in commercial products like Zeus.
I also wondered this. Similar: > In particular, Igor sought to solve the C10k problem – handling 10,000 concurrent connections on a single server – by building a web server that not only handled massive concurrency but could also serve bandwidth‑hogging elements such as photos or music files more quickly and efficiently. ...I'd love to hear more details
Re: Do svidaniya, Igor, and thank you for Nginx
#184Earlier quoted context omitted.
They are breaking the web, plain and simple. Google with AMP, Cloudfare with their idiotic capchas.
Speaking of which, is it possible Cloudflare is paid by Google to display re-captchas? Someone needs to train those deep neurons.
Re: Do svidaniya, Igor, and thank you for Nginx
#185Re: Do svidaniya, Igor, and thank you for Nginx
#186Re: Do svidaniya, Igor, and thank you for Nginx
#187It took a good 5 minutes read of the entire blog post to understand that "Do Svidaniya" is actually "До Свидания" (Russian), meaning "until next time/Goodbye".
i speak russian fluently and still parsed the title as "Do" +
Re: Do svidaniya, Igor, and thank you for Nginx
#188Is the title a reference to hitchhiker's guide to the galaxy or is that too far-fetched?
Re: Do svidaniya, Igor, and thank you for Nginx
#189It still surprises me that NGINX beat out Apache so quickly even though Apache had way more modules and was/is entirely free vs. NGINX which is more or less "open core" with some nice features requiring commercial licensing.
It should be remembered that NGINX is used as a reverse proxy for a lot of servers behind the scenes. That NGINX is the web server identified up front doesn't mean as much as it might because of this architectural construct. I use NGINX to front a sites that have Apache on the back end and as a result, the Internet spiders think my websites are running NGINX rather than Apache. NGINX is incredibly easy to configure a…
Re: Do svidaniya, Igor, and thank you for Nginx
#190Earlier quoted context omitted.
Most requests in reality are GET. So if you first check for G, if (m[0] == 'G') { r->method = NGX_HTTP_GET; break; } else if (m[0] == 'P') { switch(m[1]) { ... } } else if ... this should be fast enough.
How would this work if the method field was something like "Gibberish"? Would this have any security vulnerabilities?
Something I don't see many people talk about, but I've setup web instances with both read and write clusters similar to db's, and have the nicety to getting more umph from the read cluster by making sure it only hits read db nodes and disabling any framework stuff for tracking changes on a model.