Apache HTTP Server vs Microsoft IIS vs nginx

Apache HTTP Server
Apache HTTP Server

Microsoft IIS
Microsoft IIS



Apache HTTP Server vs Microsoft IIS vs nginx: What are the differences?

Apache HTTP Server is the most widely used web server. Free and open source, and can be used on any operating system. It is a very feature-rich server and part of the LAMP stack. Microsoft IIS Server has a significant market share, is free, but can only run on Windows operating systems. The code is closed and not available to the public as it is proprietary software. Similar to Apache, Microsoft IIS Server includes features as extensions. The applications are made using ASP.NET and MSSQL databases. Consumes less CPU and has better response time and can handle more requests per second. nginx has the upper hand with dynamic content and salient features. It uses a non-synchronized, event-driven architecture to cope with more load. NGINX is best configured to run one worker process for each CPU to maximize the efficiency of hardware. It also offers support for FastCGI and SCGI handlers to serve dynamic content scripts like PHP and Python.

- No public GitHub repository available -

What is Apache HTTP Server?

The Apache HTTP Server is a powerful and flexible HTTP/1.1 compliant web server. Originally designed as a replacement for the NCSA HTTP Server, it has grown to be the most popular web server on the Internet.

What is Microsoft IIS?

Internet Information Services (IIS) for Windows Server is a flexible, secure and manageable Web server for hosting anything on the Web. From media streaming to web applications, IIS's scalable and open architecture is ready to handle the most demanding tasks.

What is nginx?

nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server, written by Igor Sysoev. According to Netcraft nginx served or proxied 30.46% of the top million busiest sites in Jan 2018.

Want advice about which of these to choose?Ask the StackShare community!

Why do developers choose Apache HTTP Server?
Why do developers choose Microsoft IIS?
Why do developers choose nginx?
What are the cons of using Apache HTTP Server?
What are the cons of using Microsoft IIS?
What are the cons of using nginx?
    Be the first to leave a con
      Be the first to leave a con
        Be the first to leave a con
        What companies use Apache HTTP Server?
        What companies use Microsoft IIS?
        What companies use nginx?
        What are some alternatives to Apache HTTP Server, Microsoft IIS, and nginx?
        Apache Tomcat
        Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations.
        An application platform for hosting your apps that provides an innovative modular, cloud-ready architecture, powerful management and automation, and world class developer productivity.
        Jetty is used in a wide variety of projects and products, both in development and production. Jetty can be easily embedded in devices, tools, frameworks, application servers, and clusters. See the Jetty Powered page for more uses of Jetty.
        Phusion Passenger is a web server and application server, designed to be fast, robust and lightweight. It takes a lot of complexity out of deploying web apps, adds powerful enterprise-grade features that are useful in production, and makes administration much easier and less complex.
        Gunicorn is a pre-fork worker model ported from Ruby's Unicorn project. The Gunicorn server is broadly compatible with various web frameworks, simply implemented, light on server resources, and fairly speedy.
        See all alternatives
        What tools integrate with Apache HTTP Server?
        What tools integrate with Microsoft IIS?
        What tools integrate with nginx?
          No integrations found
            No integrations found
              No integrations found
              Decisions about Apache HTTP Server, Microsoft IIS, and nginx
              Tim Abbott
              Tim Abbott
              Founder at Zulip · | 4 upvotes · 25.6K views
              Apache HTTP Server

              We've been happy with nginx as part of our stack. As an open source web application that folks install on-premise, the configuration system for the webserver is pretty important to us. I have a few complaints (e.g. the configuration syntax for conditionals is a pain), but overall we've found it pretty easy to build a configurable set of options (see link) for how to run Zulip on nginx, both directly and with a remote reverse proxy in front of it, with a minimum of code duplication.

              Certainly I've been a lot happier with it than I was working with Apache HTTP Server in past projects.

              See more

              I use nginx because it is very light weight. Where Apache tries to include everything in the web server, nginx opts to have external programs/facilities take care of that so the web server can focus on efficiently serving web pages. While this can seem inefficient, it limits the number of new bugs found in the web server, which is the element that faces the client most directly.

              See more
              Marcel Kornegoor
              Marcel Kornegoor
              CTO at AT Computing · | 6 upvotes · 2K views
              Apache HTTP Server

              nginx or Apache HTTP Server that's the question. The best choice depends on what it needs to serve. In general, Nginx performs better with static content, where Apache and Nginx score roughly the same when it comes to dynamic content. Since most webpages and web-applications use both static and dynamic content, a combination of both platforms may be the best solution.

              Since both webservers are easy to deploy and free to use, setting up a performance or feature comparison test is no big deal. This way you can see what solutions suits your application or content best. Don't forget to look at other aspects, like security, back-end compatibility (easy of integration) and manageability, as well.

              A reasonably good comparison between the two can be found in the link below.

              See more
              Interest over time
              Reviews of Apache HTTP Server, Microsoft IIS, and nginx
              No reviews found
              How developers use Apache HTTP Server, Microsoft IIS, and nginx
              Avatar of MaxCDN
              MaxCDN uses nginxnginx

              The original API performed a synchronous Nginx reload after provisioning a zone, which often took up to 30 seconds or longer. While important, this step shouldn’t block the response to the user (or API) that a new zone has been created, or block subsequent requests to adjust the zone. With the new API, an independent worker reloads Nginx configurations based on zone modifications.It’s like ordering a product online: don’t pause the purchase process until the product’s been shipped. Say the order has been created, and you can still cancel or modify shipping information. Meanwhile, the remaining steps are being handled behind the scenes. In our case, the zone provision happens instantly, and you can see the result in your control panel or API. Behind the scenes, the zone will be serving traffic within a minute.

              Avatar of AngeloR
              AngeloR uses Microsoft IISMicrosoft IIS

              This is a legacy system requirement. We have some portions of our website written in PHP. Normally this wouldn't be an issue but at the time they decided to use PHP+Windows they were also trying to use MSSQL databases (All the microsoft influence was due to some azure credits the company received early on). The particular driver they ended up picking forced them into using the mssql_* functions instead of PDO. This meant that the majority of the site used these rather outdated calls and replacing them was a rather large endeavour. So while we migrate some of the PHP backend away to various node.js api systems we are simply sustaining the existing PHP portions.

              Avatar of Cloudcraft
              Cloudcraft uses nginxnginx

              Nginx serves as the loadbalancer, router and SSL terminator of cloudcraft.co. As one of our app server nodes is spun up, an Ansible orchestration script adds the new node dynamically to the nginx loadbalancer config which is then reloaded for a zero downtime seamless rolling deployment. By putting nginx in front or whatever web and API servers you might have, you gain a ton of flexibility. While previously I've cobbled together HAProxy and Stun as a poor man's loadbalancer, nginx just does a much better job and is far simpler in the long run.

              Avatar of datapile
              datapile uses nginxnginx

              Used nginx as exactly what it is great for: serving static content in a cache-friendly, load balanced manner.

              It is exclusively for production web page hosting, we don't use nginx internally, only on the public-facing versions of static sites / Angular & Backbone/Marionette applications.

              Avatar of Pēteris Caune
              Pēteris Caune uses nginxnginx

              We use NGINX both as reverse HTTP proxy and also as a SMTP proxy, to handle incoming email.

              We previously handled incoming email with Mandrill, and then later with AWS SES. Handling incoming email yourself is not that much more difficult and saves quite a bit on operational costs.

              Avatar of Wirkn Inc.
              Wirkn Inc. uses nginxnginx

              NGINX sits in front of all of our web servers. It is fantastic at load balancing traffic as well as serving as a cache at times when under massive load. It's a robust tool that we're happy to have at the front lines of all Wirkn web apps.

              Avatar of Climate CoLab
              Climate CoLab uses Apache HTTP ServerApache HTTP Server

              We use httpd in front of our Tomcat web server. Apache terminates the TLS connections and forwards to the embedded Tomcat server(s) for request processing. We also use it as load balancer for multi-server deployments.

              Avatar of eXon Technologies
              eXon Technologies uses Apache HTTP ServerApache HTTP Server

              Most known webserver. We are using Apache due to his htaccess feature but its just a backedn to proccess PHP. In font of Apache we are using NGINX to server static files

              Avatar of The Independent
              The Independent uses Apache HTTP ServerApache HTTP Server

              Apache splits static traffic from application traffic, as well as providing a selection of tools to assist in running of the site (rewrites, logging etc).

              Avatar of Suburban Express
              Suburban Express uses Apache HTTP ServerApache HTTP Server

              Primary web server, delivers PHP-rendered pages as well as static HTML content. Ruby CGIs deliver objects to browser-side code using REST/JSON

              Avatar of SAP Hybris
              SAP Hybris uses Apache HTTP ServerApache HTTP Server

              modproxybalancer provides highly concurrent end-user browser connections, and manages session routing to the application cluster

              Avatar of Performance Assessment Network (PAN)
              Performance Assessment Network (PAN) uses Microsoft IISMicrosoft IIS

              Web server for our 9 web applications and associated web services and external integrations

              Avatar of David Flynn
              David Flynn uses Microsoft IISMicrosoft IIS

              We host our ASP.NET Core APIs on Windows Server 2016 / IIS.

              Avatar of Yue Wang
              Yue Wang uses Microsoft IISMicrosoft IIS

              Web Server. Deployed on Windows 2012 r2.

              Avatar of Proactima Solutions AS
              Proactima Solutions AS uses Microsoft IISMicrosoft IIS

              Our web frontends are running on IIS

              How much does Apache HTTP Server cost?
              How much does Microsoft IIS cost?
              How much does nginx cost?
              Pricing unavailable
              Pricing unavailable
              Pricing unavailable
              News about Apache HTTP Server
              More news
              News about Microsoft IIS
              More news