I två decennier höll Apache kontroll över webbservermarknaden som krymper för dagen. Inte bara har Nginx fångat upp det äldsta barnet på kvarteret, men det är för närvarande skålen för många webbplatser med hög trafik. Apache-användare kanske inte håller med här. Det är därför man inte bör dra slutsatser om vilken webbserver som är bättre. Sanningen är att båda utgör kärnan i kompletta webbstaplar (LAMP och LEMP), och det slutliga valet beror på individuella behov.
Till exempel, människor som kör Drupal-webbplatser ofta anropar Apache, medan WordPress-användare verkar gynna Nginx lika mycket om inte mer. Följaktligen är vårt mål att hjälpa dig att förstå dina egna behov bättre snarare än att ge en rekommendation i en storlek. Med detta sagt ger följande jämförelse mellan de två en exakt bild.
1. Popularitet
Fram till 2012 var mer än 65% av webbplatserna baserade på Apache, en popularitet som i liten skala beror på dess historiska arv. Det var en av de första programvarorna som banade väg för tillväxten på Internet. Men tiderna har förändrats. Enligt W3Tech.com ligger Apache (44,4%) från och med den 14 januari 2019 strax före Nginx (40,9%) när det gäller webbplatser som använder sina servrar. Mellan dem dominerar de nästan 85% av webbservermarknaden.
När det gäller webbplatser med hög trafik är följande graf intressant. Naturligtvis ligger Nginx ganska före Apache men spårar bakom Google-servrar som driver webbplatser som YouTube, Gmail och Drive.
Vid något tillfälle migrerade ett stort antal webbplatser (inklusive den här webbplatsen) från Apache till Nginx. Det är uppenbart att den senare ses som den senaste och trendigare webbservern. Webbplatser med hög trafik som finns på Apache, t.ex. Wikipedia och New York Times, använder ofta en front-end HTTP-proxy som Lack.
Göra: Popularitetsgapet mellan Apache och Nginx stänger mycket snabbt. Men eftersom Apache fortfarande är i absoluta tal, kommer vi att betrakta denna runda som slips.
2. Hastighet
Huvudegenskapen för en bra webbserver är att den ska springa snabbt och enkelt svara på anslutningar och trafik var som helst. För att mäta serverhastigheterna jämförde vi två populära resewebbplatser baserade på Apache (Expedia.com) och Nginx (Booking.com). Med hjälp av ett onlineverktyg som heter Bitcatcha gjordes jämförelserna för flera servrar och mättes mot Googles riktmärke på 200 ms. Booking.com baserat på Nginx fick betyget ”exceptionellt snabbt”. Däremot bedömdes Expedia.com baserat på Apache ”över genomsnittet och kunde förbättras.”
Efter att ha använt båda resewebbplatserna så många gånger kan jag personligen intyga att Expedia känns lite långsammare när det gäller att returnera resultat till min fråga än Booking gör.
Här är jämförelser mellan de två servrarna för några andra webbplatser. Nginx känns snabbare i alla fall nedan utom ett.
Göra: Nginx vinner hastighetsomgången.
3. Säkerhet
Både Nginx och Apache tar säkerhet väldigt seriöst på sina webbplatser. Det finns ingen brist på robusta system för att hantera DDoS-attacker, skadlig kod och nätfiske. Båda släpper regelbundet säkerhetsrapporter och råd som säkerställer att säkerheten stärks på alla nivåer.
Göra: Vi kommer att betrakta denna runda som slips.
4. Samtidighet
Det finns en uppfattning att Apache på något sätt inte mäter upp till Nginx stora skala och kapacitet. När allt kommer omkring var Nginx ursprungligen utformad för att påskynda hastighetsproblem med FastCGI- och SCGI-hanterare. Från och med Apache 2.4 och framåt (vilket är standardversionen) har det dock skett en drastisk förbättring av antalet samtidiga anslutningar. Hur långt denna förbättring har gjorts är värt att ta reda på.
Baserat på stresstester på Loadimpact.com jämförde vi igen Booking.com (Nginx) med Expedia.com (Apache). För 25 virtuella användare kunde Nginx-webbplatsen spela in 200 förfrågningar per sekund, vilket är 2,5 gånger högre än Apache’s 80 förfrågningar per sekund. Det är uppenbart att om du har en dedikerad högtrafikwebbplats är Nginx en säkrare satsning.
Göra: Nginx vinner samtidiga omgången.
5. Flexibilitet
En webbserver ska vara tillräckligt flexibel för att möjliggöra anpassningar. Apache gör det ganska bra med .htaccess-verktyg, som Nginx inte stöder. Det möjliggör decentralisering av administratörsuppgifter. Tredjeparts- och andra nivåadministratörer kan förhindras från att komma åt huvudservern. Dessutom stöder Apache mer än 60 moduler vilket gör det mycket utdragbart. Det finns en anledning till att Apache är mer populär bland delade webbhotell.
Göra: Apache vinner den här omgången.
Andra parametrar
Tidigare stödde Nginx inte Windows OS särskilt bra, till skillnad från Apache. Så är inte längre fallet. Apache ansågs också vara svag för belastningsbalansering och omvänd proxy som har förändrats nu.
Slutresultat
Nginx vinner den här tävlingen knappt 2-1. Med detta sagt ger en objektiv jämförelse mellan Nginx och Apache på tekniska parametrar inte den fullständiga bilden. I slutändan är vår dom att båda webbservrarna är användbara på sina egna sätt.
Medan Apache ska användas med en front-server (Nginx själv är ett alternativ), kan Nginx vara bättre med fler anpassningar och flexibilitet.