5 ms·
yes, it is heavily patched to support things like IPv6 (which the Apache foundation claimed was "impossible"). However, the code-base is getting a bit long in t
by throwaway32 15y ago
yes, it is heavily patched to support things like IPv6 (which the Apache foundation claimed was "impossible"). However, the code-base is getting a bit long in the tooth, a more modern replacement will be nice. I am curious however about how they are going to implement CGI with nginx, as tons of applications still rely on this.
- madhouse 15y agonginx supports FastCGI, and CGIs can be supported via fcgiwrap and similar tools, it works remarkably well, and configuration's easy.
- lobster_johnson 15y agoNginx is a well-engineered piece of software. The only problem, in my opinion, is that does not support loadable modules; any features you want or don't want need to be configured at compile-time, and those are only the official ones that are part of the mainline code. Third-party "modules" such as Phusion Passenger are essentially patches. Since Nginx has a modular architecture, those patches are admittedly very clean, but it's still a pretty ugly situation compared to Apache's elegant loadable module system.
- hackermom 15y agoI'd like to see DSO support for nginx as well. The lack of this feature is the reason I still haven't moved from Apache.
- justincormack 15y agoIt works if you have a package management system like gentoo, that compiles from source, or the BSDs, just not most Linux distros.
- rcoder 15y agoFor a base web server included in OpenBSD by default, I don't think dynamic loading is actually a huge win. Auditing and hardening a single, statically-compiled binary is easier than doing the same thing for one that loads shared objects at runtime. Since adding and removing Apache modules already requires a restart of the httpd process, a good source-based build system like ports can make adding and removing modules via build flags nearly as straightforward as dynamic loading.
- lobster_johnson 15y agoNot for OpenBSD, maybe, but for other operating systems based on precompiled binary packages. Nginx uses a forked worker model that probably would allow adding/removing modules without restarting the entire server.
- mfjordvald 15y agoConsidering that you can upgrade the binary without any downtime then yeah, it probably would. I personally think there are bigger issues that needs to be covered first, such as support for persistent connections to backends and HTTP/1.1 support when reverse proxying. (Was just added in 1.1.4, now it just needs testing!)