Sisältö
Tärkein ero
Apache ja Nginx ovat molemmat avoimen lähdekoodin palvelimia, ts. HTTP-palvelimia, ja niitä voidaan käyttää staattisten tiedostojen tai dynaamisten sivujen luomiseen. Niitä tarvitaan konfiguroinnissa, jotta ne tunnistavat URL-osoitteet, joita käyttäjät pyytävät reitittämään oikeaan paikkaan. Tärkein ero Apachen ja Nginxin välillä on heidän tapa käsitellä liikennettä ja yhteyksiä. Apache tarjoaa moniprosessointimoduuleja (MPM) käsittelemään asiakaspyyntöä, kun taas Nginxissä yhteydet ja asiakkaat käsitellään asettamalla ne tapahtumasilmukoihin, joissa niitä käsitellään asynkronisesti. Prosessorin ja muistin käyttö on yhdenmukaista Nginxissä jopa raskaissa kuormituksissa verrattuna Apachean.
Mikä on Apache?
Apache suunniteltiin web-palvelimeksi. Apache käyttää tavanomaisia tiedostopohjaisia menetelmiä staattisen ja dynaamisen sisällön käsittelemiseksi upottamalla kielten prosessori. Apache antoi ylimääräisen kokoonpanon hakemistokohtaisesti arvioimalla ja tulkitsemalla .htaccess-tiedostossa piilotettujen tiedostojen direktiivejä. Apache-moduulit ladataan ja puretaan dynaamisesti.
Mikä on Nginx?
Nginx suunniteltiin myös verkkopalvelimeksi sekä välityspalvelimeksi. Nginxiltä puuttuu kyky prosessoida dynaamista sisältöä natiivisti. Nginx ei kuitenkaan anna ylimääräistä kokoonpanoa hakemistoa kohden arvioimalla ja tulkitsemalla direktiivejä. Nginx palvelee pyynnöt nopeammin
Keskeiset erot
- Prosessorin ja muistin käyttö on yhdenmukaista Nginxissä jopa raskaissa kuormituksissa verrattuna Apachean.
- Apache käyttää tavanomaisia tiedostopohjaisia menetelmiä staattisen sisällön ja dynaamisen sisällön käsittelemiseksi upottamalla kielen prosessori, kun taas Nginxillä ei ole kykyä käsitellä dynaamista sisältöä luontaisesti.
- Apache antoi ylimääräisen kokoonpanon hakemistokohtaisesti arvioimalla ja tulkitsemalla .htaccess-tiedostossa piilotettujen tiedostojen direktiivejä, kun taas Nginx ei salli ylimääräisiä määrityksiä hakemistokohtaisesti arvioimalla ja tulkitsemalla direktiivejä.
- Apache tulkitsee .htaccess-sovelluksen, kun taas Nginx ei tulkitse .htaccess-tiedostoa
- Nginx palvelee pyyntöjä nopeammin kuin Apache.
- Suojaustaso on Nginxissä korkea verrattuna Apachean, koska Nginx ei anna jakaa hakemistotason määritysoikeuksia yksittäisille käyttäjille.
- Apache suunniteltiin web-palvelimeksi, kun taas Nginx suunniteltiin web-palvelimeksi sekä välityspalvelimeksi.
- Apachessa moduulit ladataan dynaamisesti ja puretaan, mutta Nginxissä moduulit eivät lataudu dynaamisesti.
- Nignxissä moduulit otetaan läpi valinnan kautta ja kääntyy sitten ydinohjelmistoon, kun Apachessa se tehdään dynaamisesti.