Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Google Microsoft Apache Technology

Nginx Overtakes Microsoft As No. 2 Web Server 340

tsamsoniw writes "With financial backing from the likes of Michael Dell and other venture capitalists, open source upstart Nginx has edged out Microsoft IIS (Internet Information Server) to hold the title of second-most widely used Web server among all active websites. What's more, according to Netcraft's January 2012 Web Server Survey, Nginx over the past month has gained market share among all websites, whereas competitors Apache, Microsoft, and Google each lost share."
This discussion has been archived. No new comments can be posted.

Nginx Overtakes Microsoft As No. 2 Web Server

Comments Filter:
  • Finally! (Score:5, Funny)

    by Voyager529 ( 1363959 ) <voyager529 AT yahoo DOT com> on Wednesday January 04, 2012 @11:07PM (#38592144)

    something that's actually legitimate for Netcraft to confirm!

    • Re:Finally! (Score:5, Funny)

      by cwj123 ( 16058 ) on Wednesday January 04, 2012 @11:10PM (#38592166) Homepage

      Wait.. BSD isn't dead?

      • Re:Finally! (Score:5, Funny)

        by Anonymous Coward on Thursday January 05, 2012 @03:49AM (#38593516)

        Wait.. BSD isn't dead?

        They changed its name, they call it "Mac OS X" nowadays.

        • Re:Finally! (Score:4, Informative)

          by williamyf ( 227051 ) on Thursday January 05, 2012 @01:43PM (#38599142)

          No, MacOS X is a heavily modified MACH 3 os Microkernel, running a BSD server in Userland**.

          The Server in userland may as well be BeOS, ReactOS, Haiku, or, for that matter, even WinNT.

          So no, BSD is BSD, MACH is MACH, and MacOS X is Mach running a BSD Server in userland.

          ** A similar arrangement, and probably inspired by Mach is the "personalities" of WinNT (for those who rememeber there were the DOS personality, OS/2 Personality, Posix personality and Win 32 Personality).

  • Quality (Score:5, Insightful)

    by Anonymous Coward on Wednesday January 04, 2012 @11:09PM (#38592158)

    Nginx is a great product. Not surprised.

    • Re:Quality (Score:4, Interesting)

      by theshowmecanuck ( 703852 ) on Wednesday January 04, 2012 @11:37PM (#38592320) Journal

      Time for some legitimate competition for Apache, it's been a long time. A bit of competition, which they haven't had much of could help them too. I am curious if it is easier to configure than Apache, and how well does it integrate with a JEE containers for serving the static content?

      But what a fucking name though. :) I found out it's supposed to be pronounced engine-x. Until I found out I called it enjinx. Reminds me of that movie 'That Thing You Do' where the band called themselves the Oneders at the beginning and everyone called them the 'oh-nigh-ders' or 'oh-need-ders'. Then they got a manager and he forced them to change it to the Wonders because it didn't look garbled. So I say, why not just call it EngineX. It still sounds cool and doesn't have that annoying 'I'm trying to look cool' thing going at the same time. Regardless, sounds like a good product.

      The only thing that makes me dubious is that they're based in Russia, I hope Putin and his boys don't have a back door into it. But America is starting to look no better than Russia these days in terms of a government that actually cares about the people. Have you checked out the NDAA that Obama signed this week? It lets the American military arrest civilians inside America (heck Fox news AND democrat supporters are all screaming bloody murder about this one). So on second thought I think I'll give this jinx thing a try.

      • you have the source code, so what is the problem!!!
      • Re:Quality (Score:5, Interesting)

        by telekon ( 185072 ) <canweriotnow@gmail.OPENBSDcom minus bsd> on Wednesday January 04, 2012 @11:46PM (#38592370) Homepage Journal

        1) Hell yes, it's easier to configure than Apache. Has most of the plugins you could want from Apache, whilst being much more lightweight.

        2) I'll echo the other comment here, YOU HAVE THE SOURCE CODE. Worry about backdoors in IIS from the U.S. Gov't., nginx has way more eyes on it.

        3) You eventually figured out the pronunciation. Most of the people I know that use GNU/Linux and LaTeX ca't pronounce GNU or LaTeX, but they work great so they get used. What's the problem?

      • Re:Quality (Score:5, Funny)

        by exomondo ( 1725132 ) on Thursday January 05, 2012 @12:01AM (#38592434)

        So I say, why not just call it EngineX.

        Just be thankful it's not named Libre Nginx.

      • Re:Quality (Score:4, Insightful)

        by Anonymous Coward on Thursday January 05, 2012 @12:34AM (#38592628)

        The only thing that makes me dubious is that they're based in Russia, I hope Putin and his boys don't have a back door into it.

        Right, because the evil Russians can easily hide a backdoor in the source code. You're much safer using software made by a company that obeys the NSA.

      • Re: (Score:3, Interesting)

        by garaged ( 579941 )

        I actually did the test, passed all my local config from apache to nginx, the config approach is quite different, it took me like 3 day of getting it 30-60 minutes to config ngix all the things that apache had working but the final config was about 20 lines long, oppossed to a much bigger apache config that has taken year to "master".

        Needlss to say, been happy using nginx for a couple of months now on local testing env., still neeed to port production sites :)

      • by jbolden ( 176878 )

        nginx uses a different strategy for how it utilizes hardware. It is not so much a configuration problem as a density problem. For things like webhosting companies, which are a huge percentage of websites, nginx cuts costs.

    • ...and efficiency (Score:5, Interesting)

      by hcs_$reboot ( 1536101 ) on Wednesday January 04, 2012 @11:47PM (#38592374)
      I'm glad such a program, well designed and programmed in good old C, is rewarded with trust and confidence from more and more engineers.
      I have been using it for two years, serving several professional sites, and the transition from the initial Apache setup was surprisingly smooth.

      What I like in particular, compared to Apache :
      - fantastic performance gain, in terms of cpu and memory
      - maintenance gain: the configuration appears (at least to me) to be more "developer like", and easier to configure/extend with many options
      - load balancing is ... really a piece of cake

      The only drawback I (initially) found was the lack of a PHP embedded/module. But using php-fpm happened to be a good alternative, via a local port.
    • by msauve ( 701917 )
      "Nginx is a great product."

      Strange that 99% of the server errors I see report themselves as being from nginx. I guess there's a conspiracy against it.

      (although anything with a config less obtuse than Apache can't be all bad)
      • Re:Quality (Score:5, Informative)

        by GP1911 ( 1439907 ) on Thursday January 05, 2012 @01:08AM (#38592772)

        They're usually backend errors, nginx is often used as a reverse proxy.

      • Re:Quality (Score:4, Informative)

        by TheRaven64 ( 641858 ) on Thursday January 05, 2012 @10:03AM (#38595300) Journal

        Most of the time you see a server error, it means that the web server is working but something else (often the database, more often the fastcgi or whatever) has failed. It's when you don't see any error that the web server itself is broken.

        Since Apache 1.x is now officially unsupported, OpenBSD has imported nginx into the base system and it will be the included web server in a near future release. I've been using Lighttpd for a few years because it was lighter-weight and easier to configure. Development seems to have stalled in the past couple of years though, and nginx looks like a promising alternative.

      • Re:Quality (Score:4, Insightful)

        by asdf7890 ( 1518587 ) on Thursday January 05, 2012 @10:22AM (#38595490)
        You could equally say you see a lot of Apache errors because of broken PHP code, or people sending you mistyped links (hint: that 404 error may not be the web server's fault).

        nginx is very often used as a front-end to code writting in other systems like node.js, rails, and so forth: nginx serves static files directly and the other systems serve dynamic content. If the back-end is too busy (or actually broken in some way) nginx won't be able to drag dynamic content from it and will have to report an error instead.

        Most sites are configured to hand out a generic 500 "server error" instead of anything more specific like "some fool missed a semi-colon near line 328", as giving out meaningful internal error messages on public facing interfaces is considered a potential security problem (it can make injection flaws easier to find), but don't have custom message HTML so said messages have "nginx" plainly visible on them, so I can understand some confusion on this point (though the same thing affects other web servers too, obviously).
    • Re:Quality (Score:5, Interesting)

      by man_of_mr_e ( 217855 ) on Thursday January 05, 2012 @12:53AM (#38592716)

      I am quite surprised. nginx may be a good product, but it's also lacking a lot of functionality that a web server used as a load balancer or cache should support. For example, it doesn't support HTTP 1.1 to the backend, thus it can't do name based virtual hosts on the servers it caches.

      I *WANTED* to use nginx for a large multi-tennant website we were building, but it didn't support it.

  • by girlintraining ( 1395911 ) on Wednesday January 04, 2012 @11:11PM (#38592168)
    I'm firmly convinced the main reason IIS is even in the top 10 is because so many large corporations sign secret agreements with Microsoft to get discounted software in exchange for not using "free" or "open source" software. No joke -- I am working at a company right now where it is banned, and the only reason given is either that "info security" said so, or "legal" did. But when pressed, nobody can quite identify why. It's just policy, and nobody questions it. IIS' market share is vastly inflated; If it weren't for these clandestine agreements, I sincerely doubt it would be deployed very often, even WITH all the MS tech tie-ins, there's too many compelling reasons not to use it. Even Microsoft doesn't use it on it's major websites because it doesn't scale and it is prone to failure.
    • by Kalriath ( 849904 ) on Wednesday January 04, 2012 @11:21PM (#38592230)

      Bullshit. Microsoft uses it on every site they have. The only reason that "web server identification" surveys like Netcraft say they run Linux is because, like all large websites, they utilise the services of a CDN such as Akamai.

      And there are no "secret agreements". Most of the time the company forbids such things is because there is no support, or because there is no ability of the in-house technical support to provide assistance with it. We're a very large IT company here and we have maybe 3 RHEL servers (because Linux was the best option for the task) and a couple of thousand (including virtual) Windows servers. (There's also about 2 Solaris servers, 4 or 5 Oracle Linux servers, a SCO Unix server and 2 or 3 HP-UX servers). None of this is due to any "secret agreements". It's all because there's one person trained to work with Unix based systems, and about 8 to deal with Windows. We utilise quite a large number of open-source packages across our infrastructure if it's the best tool for the job.

      • by Daniel Phillips ( 238627 ) on Wednesday January 04, 2012 @11:58PM (#38592416)

        We're a very large IT company here and we have maybe 3 RHEL servers (because Linux was the best option for the task) and a couple of thousand (including virtual) Windows servers.

        Wow, it must suck to work where you work. Could you please tell me the name so that I may have nothing to do with it?

      • And there are no "secret agreements". Most of the time the company forbids such things is because there is no support, or because there is no ability of the in-house technical support to provide assistance with it.

        There is a difference between white-listing certain applications because that's what a company decides to support, and adding to this list whenever there is a need, and a blanket ban on free or open source software where it's banned for being free and/or open source.

        The first I can totally understand. You can't support just everything.

        The second totally not. There is no reason why a software packed becomes easier to support by an IT department because the source code is not available.

      • by JasterBobaMereel ( 1102861 ) on Thursday January 05, 2012 @05:39AM (#38593994)

        You have 8 people that deal with windows servers because you have a lot of windows servers

        You have a lot of windows servers because you have 8 people that deal with windows servers ....This is why windows is still popular

    • by Anonymous Coward on Wednesday January 04, 2012 @11:29PM (#38592274)

      In my last job, we had a client with an all Windows environment. We're talking 2 DCs, a file server, an exchange server and a dedicated IIS server on the other side of the firewall and off the domain.

      One day, they decided to revamp their static HTML website (this was a government department trying to justify their existence, IT wasn't exactly at the top of their list). We talked to the outfit doing it, who told us they were using PHP. Great, I though. We can get rid of an old and outdated Windows server and replace it with a nice, lean little Linux box. Nope, I was told to install the PHP ISAPI module on IIS, because "we were a Microsoft shop", even though this server was quite literally doing nothing but serving up HTML and chewing up an unnecessary Server 2k3 license. So after much fighting, and arguing to explain that we may as well NOT go through the trouble trying to set up and debug PHP as FastCGI, another guy went behind my back and stuffed up the install, leading to me wasting 3 or 4 hours rolling it back and installing it properly. Anyway, it's all smoothed over, until I get the zip file I've been promised by the "website makers". It was indeed a website, 10 or so DreamWeaver files with the extension renamed to PHP. No Drupal theme, no Joomla install, nothing. -.- God I hate the people in this industry that like to sell themselves as professionals

      • If they already had the Server 2k3 license paid for, what reason would they realistically really have to drop it for Linux when they can do what they want with what they have? The deed is already done shelling out for the license, putting Linux on it is just like pouring salt in the wound. Anyway, as you said, the site is just from a government department trying to justify their existence, I doubt it really matters what OS is serving up the content. It's not like they're Google or something.

      • by parlancex ( 1322105 ) on Thursday January 05, 2012 @12:33AM (#38592608)

        ...go through the trouble trying to set up and debug PHP as FastCGI...

        I think it's funny how common it is for anyone who mentions working with Windows professionally on Slashdot to be called out for being inexperienced or some kind of unauthentic system administrator with no real skills, but no doubt there are just as many who consider themselves experienced *nix system administrators who I could make fun of for being inept at basic Windows administration tasks.

        Anyway, there are plenty of good reasons that web server should have been a Windows box. Even if it wasn't joined to the domain by switching that box to Linux they would lose the ability to leverage their existing update (SUS) and backup infrastructure. Also, the cost of a Windows license for a small shop like that would pay for itself probably 3 times over if they had to even try to get some kind of professional support for the Linux box even once.

        • by Dynedain ( 141758 ) <slashdot2@anthon ... m ['in.' in gap]> on Thursday January 05, 2012 @01:28AM (#38592850) Homepage

          Also, the cost of a Windows license for a small shop like that would pay for itself probably 3 times over if they had to even try to get some kind of professional support for the Linux box even once.

          A Windows license doesn't magically come with professional support. And honestly, if you need professional support for a server *NIX is going to cost you the same as an equally competant Windows admin.

          If you can't handle management of a web server in-house with qualified staff, you should move to a hosted solution. It will cost less regardless of OS choice.

          • It sounds like it probably should've been hosted by a 3rd party based on the GP's post, but the point I was making about support is that if I was a small shop without in-house IT and I need support for a specific issue and I open up the yellow pages and look at my options there are going to be way more options for me that will be less expensive if I need to hire someone to take a look at a Windows server.
            • I need support for a specific issue and I open up the yellow pages and look at my options there are going to be way more options for me that will be less expensive if I need to hire someone to take a look at a Windows server.

              And most of those will be sixteen year old kids who think that the fact that they know how to find the control panel qualifies them to administer a windows server.

              If you're looking for qualified, certified, experienced administrators, there are plenty in both worlds. The BSDs and Linux have dominated the server market for a long time; there's a very large pool of talent to draw from.

    • Re: (Score:3, Insightful)

      by poetmatt ( 793785 )

      You kidding?

      Why do you think live365 exists?

      It's that exact agreement. They don't say "don't use free or open source software" they just say "don't use any of our competition". It throws in the whole microsoft suite (office, sharepoint usually in the face of wikis or better solutions, live365, etc), always with the argument of "we have a MS specialist to help you migrate" (even if that won't fix problems).

      agreement cost = substantial.
      cost of all the microsoft stuff non-agreement = easily 10x as much.

      So you

      • by Zalbik ( 308903 ) on Thursday January 05, 2012 @12:04AM (#38592454)

        What the heck?

        The office live 365 agreement says nothing about not using competitors software.

        I think you need a new tinfoil hat...

      • But it's all MS, so it all integrates and works together seamlessly, right? And it's all managed centrally using AD, right? I mean, that's got to result in significant savings, right? Oh, and the agreement covers all our computers and all this extra software that would cost us so much separately, so we're really getting a great deal on it. Please, MS Salesman, tell us something that's easy to believe and we'll sign.

    • by icebraining ( 1313345 ) on Wednesday January 04, 2012 @11:38PM (#38592324) Homepage

      Even Microsoft doesn't use it on it's major websites

      curl -v www.microsoft.com
      Server: Microsoft-IIS/7.5
      X-Powered-By: ASP.NET
      curl -v www.hotmail.com
      Server: Microsoft-IIS/7.5
      X-Powered-By: ASP.NET

      What sites are those, exactly?

      • $ curl -v www.skype.com
        HTTP/1.1 302 Found
        Server: Apache

        Too new, maybe...
      • by Anonymous Coward on Thursday January 05, 2012 @12:47AM (#38592688)

        Actually www is fronted by reverse proxies running on linux (you can check with nmap). IIS apparently can't handle the load by itself.

        And, hotmail took a long time to convert to M$. They tried once, then had a two week outage since M$ didn't scale worth a shit. They rolled back to Solaris, and kept it that way for a _long_ time.

        Fun fact. Microsoft also used sendmail on sun boxes for internal mail for a long time after exchange was introduced. M$ couldn't get their own software to scale to an enterprise as large as their own.

    • by epiphani ( 254981 ) <epiphani@ d a l . net> on Wednesday January 04, 2012 @11:45PM (#38592362)

      There's some truth to this.

      Several years ago, GoDaddy switch all of their domain parking to IIS, explicitly to get microsoft's numbers up. Throw 10,000 cnames pointed at a single machine serving up parking pages, and boom - 10,000 websites running IIS.

      • Are you telling me this survey is by number of domains hosted, irrespective of number of pages served? That would be absurd.
      • Yet another GoDaddy interesting story :-) I'd mod you up... if I had some mod points and if I wouldn't have already two (now three) posts in this thread...
    • by Zalbik ( 308903 )

      Please stay firmly convinced...it will make it easier for me to recognize you as a complete idiot if I ever have to interview you.

      More and more I'm finding the best way to recognize talent is to find people who understand how to apply the right technologies to a solution rather than the mindless ".NET is da best!" or "Windoze sucks!" I keep hearing from the typical zealots.

      • by SadButTrue ( 848439 ) on Thursday January 05, 2012 @12:37AM (#38592638) Homepage

        This has probably always been the case. However, using .NET means buying the entire Microsoft stack.

        At my last job I wrote an entire back office in Java. When my company merged the decision was made, over my vehement protests, that we would recode in c# just to support a thick client that was the bread and butter of the traders at the other company. Literally everything had to be moved just because it had been marginally easier to code a desktop app in c# initially.

        Microsoft makes some good stuff, they really do. But since MS stuff only works well, or at all, with MS stuff you may end up taking a heavy does of shit along with the good.

  • by Nursie ( 632944 ) on Wednesday January 04, 2012 @11:11PM (#38592180)

    I've used a load of web servers in the last few years - an early verion of IIS when I had only windows many years back, apache, lighttpd, thttpd, netscape web server (showing my age) and various others... but I didn't even know this was out there.

    Suppose it just shows how out of the loop I am these days. Computer stuff covers a vast field these days.

    • by bradgoodman ( 964302 ) on Wednesday January 04, 2012 @11:44PM (#38592360) Homepage
      I was going to say the same. So I was pretty surprised. From what I am reading, it is more of a "front-end" system for web servers, that does things like caching and load-balancing. So I guess it sort of depends on ones definition of "web server".

      I was also going to speculate/wonder if it was one of those "rigged" deals, like a few years back when IIS was declared as "overtaking firefox" and becoming #1 because "most web sites on the web used it". The actual reason was that GoDaddy (which hosts a vast majority of "parked" domains) was paid-off (or "otherwise incented" by Microsoft to switch to IIS. So when you considered a "www." to be a "unique site", and 99% of "unique sites" to be garbage parked-domains, IIS was not the leader.

      So, I wonder if some other bizarre statistical work is at-play. For example, does someone like Akamai, who hosts a lot of other people's sites, use Nginx to skew these numbers??

      • by asserted ( 818761 ) on Thursday January 05, 2012 @12:16AM (#38592526)

        no, this is genuine. it has been steadily gaining popularity over the past several years.
        nginx is being developed by a russian guy who up until recently was working (as a sysadmin, apparently) for one of the major russian web portals where nginx originated as an in-house project first but was open-sourced. the guy has now left the company (which has been slowly dying anyway) and incorporated an llc or something, focused on nginx. it was already quite popular in russia 5-6 years ago (when i was still living there).

        nginx is an efficient event-driven front-end server, quite often used for loadbalancing in front of traditional apache or tomcat or whatever other backends, but in a simple case of a LAMP server it can be hooked up directly to PHP via FPM or FCGI.
        config syntax is quite expressive, with quite advanced uri / header - based rewriting capabilities. there is even a built-in Perl interpreter for more advanced use (which tends to be abused by people who forget what being an event-driven server means by sticking logic in there... oh well, people use things like node.js too *shudder*).

        • by gr8dude ( 832945 )

          > oh well, people use things like node.js too *shudder*
          Can you elaborate on that? What is the matter with node.js?

  • Google Icon (Score:4, Interesting)

    by Anonymous Coward on Wednesday January 04, 2012 @11:12PM (#38592184)

    Why is the Google icon on the post when its MS that got overtaken. Is Nginx run by Google?

    • The Google icon is probably there because the poster mentioned that Google's webserver, among others, lost share the past month.

  • by Anonymous Coward

    The article and summary are misleading, typical slashdot. Typically nginx is used as a forward cache engine, often on the same box as apache. People typically put apache on port 81, and nginx on 80, and configure nginx to cache from port 81...

    Doesn't make it the number 2 web server. Yes perhaps the number 1 cache engine, but its generally not used as a web server.

    • Not always... for our Rails (and Sinatra) projects, we use nginx as the frontend/static asset server to a (pool of) Ruby-based application servers (mostly Unicorn). There's no Apache anywhere in the mix, and that has greatly reduced my migraines. Perhaps in some situation it makes sense to have nginx as a cache engine or load balancer for Apache, but in my world, nginx usually replaces Apache, rather than supplementing it.

    • by Scaba ( 183684 )
      Can you link us to your data?
    • by Dr.Hair ( 6699 ) on Thursday January 05, 2012 @12:36AM (#38592636) Homepage

      I've dropped apache completely. I've got nginx in front of php-fpm (wigh fcgiwrapper/spawn-fcgi for things w/ legacy cgi like nagios/collectd) and uwsgi.

      You can easily find appropriate nginx rewrite rules for the major php apps like wordpress and menalto's gallery2. And for performance's sake it's all in the server config, so there isn't a disk access to read the .htaccess file to figure out if there are rewrite rules that need to be considered.

      It's even better for apps, like django, which keep in mind delivering static files out of the hands of the app server. And configuring nginx to serve static files instead of hitting app servers is a piece of cake.

      And for those really wanting max performance, there are plugins for direct access to memcache/postgres or even writing your web app directly in the config file with something like the lua plugin.

    • by xiando ( 770382 ) on Thursday January 05, 2012 @12:45AM (#38592680) Homepage Journal

      The article and summary are misleading, typical slashdot. Typically nginx is used as a forward cache engine, often on the same box as apache. People typically put apache on port 81, and nginx on 80, and configure nginx to cache from port 81...

      You do know there is something called mod_proxy for apache? Apache can be configured as a proxy or a web server. Nginx can be configured as a proxy or a web server. Your point is .. what, exactly? I use nginx and I use it as a pure web server. I do not know what everyone else uses it for, but you can't just go about assuming whatever.

  • Great loadbalancer (Score:5, Informative)

    by Anonymous Coward on Wednesday January 04, 2012 @11:33PM (#38592302)

    Nginx is a great loadbalancer for http which makes it quite suited as a frontend and thus getting counted by netcraft . There could be hundreds of apache servers behind it . E.g. on my boxes Nginx runs as a reverse proxy in front of about 20 different apache, tomcat, more Nginx, other servers that generate some kind of html. But these 20 will all be counted as Nginx while they actually run something different. So I beleive it is quite hard to actually say what Server actually is the most popular.

    • Good info, but not entirely complete. What I was told while researching webservers was that nginx also excels at serving static files. Personally I have a PogoPlug v2 serving three static HTML websites (static HTML is generated when I change something to make it look dynamic) plus a few binary files. I've never run Apache or any others, but the resource usage is extremely low, even under some load.
    • by inKubus ( 199753 ) on Thursday January 05, 2012 @12:34AM (#38592618) Homepage Journal

      Yep, it's mostly used for front-end duties like connection pooling, load balancing, SSL offloading, gzip, that type of thing. If you're running PHP stuff, it's still debatable whether you want to go FCGI or PDM instead of Apache's built-in module. There are ups and downs in both cases and you'll have to see what works best for your site. At my company we use Nginx up front (with server type obfuscated) for SSL offloading and gzip and connection pooling. From there it goes into a varnishd cache on the same server (stored in 100% RAM) which handles the static stuff. Varnishd then forwards remaining requests to an L7 load balancer appliance type thing which then drops requests to each of 10 web "application" servers which are a combination of Apache with mod_php, Tomcat and Jetty Java servers. We've also used Nginx as an IMAP proxy and cache and it works quite well for that.

      Apache has a good architecture but it's horrible at handling a lot of simultaneous connections and recycling them (that will change in 2.4 but it's not out yet). Also, if you're using mod_php, over time each Apache process will take the total maximum amount of RAM your php process uses, and many of our PHP applications use 128-256M of RAM or more (data management type stuff). So you can run a server out of RAM if you're trying to maximize connections.

      Nginx can handle 10K connections on a little box with very little RAM due to the way it threads stuff. It's basically a copy engine and it's very fast. Varnishd can also handle a lot of connections and can serve up content straight from RAM in less time than apache takes to build a connection. That being said, Apache is reliable, and has I feel better logging at the moment and just more of everything. It's a reference implementation. It's actually fine for most purposes but if you're handling 1000 users simultaneously and they are making 10-20 connections each with various service calls and static downloads, you gotta have something that can pool the conenctions on the front end and handle static content or you're going to spend a lot of money on RAM. And if you're serving up static content with Tomcat, Tomcat is absolutely garbage. I think it has to boot the whole JVM to serve up your one file. If not that bad, it's still awfully slow, and it REALLY benefits from caching up front. BTW, Nginx does caching as well but varnishd seemed more mature and elegant.

      Now lastly, you can just go out and buy an F5 BigIP and it does all this stuff on specialized hardware (Ok, special board, intel chip) and it's out of the box. But even the little ones are $20K which is a lot of software dev hours and/or web server/database/storage hardware. Would be nice and fun to have but if you can't spend the money on hardware (and training!) the nginx/varnishd frontend is pretty much the best setup in my book at the moment. A little complex but once it's set up you just let it run. I made an internal nginx cache for all our internal sites, including some Java apps (e.g. Jira) and with requests going through the cache everything just flies. If you use sharepoint on IIS, you would be prettty stupid to not try a cache server up front, it's amazing. If nginx fixed mod_rewrite stuff to be the same as apache, it would probably be possible to make it into an application server, and we're going to get a test environment set up with php-fpm [php-fpm.org] and see how it fares. We'll see how managable it is though.

      • Tomcat is absolutely garbage. I think it has to boot the whole JVM to serve up your one file.

        No. When Tomcat starts up, that's your JVM boot right there. It stays running until you stop Tomcat. All the apps and files served by that Tomcat instance are served using the same JVM process. It will spawn extra threads for extra connections when required though.

        In fact most other web stuff uses a long running process like that. It's mostly only CGI or 'CGI-like' configurations and PHP that work by starting up fro

  • by viperidaenz ( 2515578 ) on Wednesday January 04, 2012 @11:40PM (#38592336)
    the methodology [netcraft.com] for determining "Active Sites" only takes into account the structure of the html elements of the page. If the structure of the page stops changing its considered not active. javascript heavy sites don't require any html structure change to continue to provide changing content.
  • Oh, lovely (Score:5, Insightful)

    by gman003 ( 1693318 ) on Thursday January 05, 2012 @12:26AM (#38592578)

    Guess what class I had today?

    CIS311 - Web Server Management

    Guess what we use!

    IIS 7 and Windows Server 2008!

    Good thing I've run both Apache and lighttpd for personal experience. And taught myself C, C++, PHP, Lisp, Perl, Python, and a little bit of Assembly. And MySQL. And how to run Linux from the command line. And... what the fuck am I paying this college for, again?

    • And this is why I thank god I just up AND DID Web Development and didn't shit my money down the toilet on a CS degree.
      So yes -- Why are you paying for college?

      For most Software Development, the "University of Google" is a far more cost and time effective education.

    • Re:Oh, lovely (Score:5, Insightful)

      by Confusador ( 1783468 ) on Thursday January 05, 2012 @02:01AM (#38593054)

      And... what the fuck am I paying this college for, again?

      The ability to get your resume past HR and in front of someone who knows what any of that means. Sorry.

      • Yep, this. A CS degree these days is nothing more than a piece of paper that you often need to be considered for a job. It does not (necessarily) teach you the tools for the job. I am in the inverse situation to GP, my university taught only non-MS stuff (Java, Perl, LAMP) and my job now requires me to use Windows Server 2008 and IIS7. I had never even seen IIS before I came here..
  • by Anonymous Coward on Thursday January 05, 2012 @12:30AM (#38592592)

    I am the main server admin for a very large website that has been running Apache for 10 years. Then, last year, after a period of tremendous growth, we began to encounter serious memory/CPU issues with Apache. I had been researching alternative, light webservers for a while, so after thorough research and testing, we made the transition to nginx overnight with resounding success. We've never looked back! It is very easy to configure, ridiculously scalable and highly extensible. There are plenty of how-to guides and recipes for those moving from Apache. Nginx seemed like a no-brainer. Apache is a great reference server; it has every bell and whistle imaginable, but at a cost. Our site uses PHP, so for those wondering about PHP integration, we use PHP-FPM. I'm generally pretty conservative and slow to change our architecture, but looking back, we made the right choice.

    • by Zedrick ( 764028 )
      > we began to encounter serious memory/CPU issues with Apache

      Can you elaborate, please? I used to work at a webhost that used apache for around 500.000 websites, and memory/CPU was never a problem. (Not for apache, only for PHP and MySQL.) I often see people claim that Apache is bloated, but don't understand in what way (except possibly for the config files, that might might extensive but not really bloated and they don't affect performance)
      • I'm not OP, but have a bit of experience with this..

        There are two things "against" apache:

        1. It runs either a thread or a process for each connection
        2. With all the fun stuff on, each thread / process take a lot of memory (especially with php enabled)

        The new breed of popular webservers (which nginx seems to be the most popular of) are event-driven [daverecycles.com], which means it can handle a silly amount of connections in one thread/process.

        This gives them advantages in a lot of situations. Especially for serving static fi

  • A lot of people here are talking about how nginx is "only" useful as some sort of reverse proxy or cache engine or something. We haven't used it for that, although it's on our list of things to try at some point as a lot of people seem to have success with it.

    We do use it for serving files over HTTP - primarily video gaming-related files, so they range in size from a few meg up to several gig. It generally performs flawlessly, although sometimes struggles under significant load.

    We did a little formal testin

  • How come I've never heard of it till now? I don't live under a rock. I read tech sites daily and listen to poscasts. How did this slip under my radar?

  • by RightSaidFred99 ( 874576 ) on Thursday January 05, 2012 @03:03AM (#38593328)
    Not all sites. IIS is used massively on the corporate interanet.
  • by Lennie ( 16154 ) on Thursday January 05, 2012 @08:01AM (#38594502)

    Firefox will soon, probably Firefox 11, have support for SPDY (Speedy HTTP) like Chrome, but server support is limited currently.

    If nginx would support it, I'm sure it will replace or serve as a proxy in front of many, many more servers of performance oriented websites.

Q: How many IBM CPU's does it take to execute a job? A: Four; three to hold it down, and one to rip its head off.