Nginx vs Apache: 어떤 것이 당신에게 가장 적합한가?

특집 Apache vs Nginx 디자인 크레딧: Vecteezy.com-226441

20년 동안 Apache는 날로 줄어드는 웹 서버 시장에서 지배력을 행사해왔습니다. Nginx는 이 오래된 경쟁자와의 격차를 좁혔을 뿐만 아니라 현재 많은 고트래픽 웹사이트에서 인기를 끌고 있습니다. Apache 사용자들은 이에 동의하지 않을 수도 있습니다. 그렇기 때문에 어떤 웹 서버가 더 나은지에 대한 결론을 서두르지 말아야 합니다. 진실은 두 서버 모두 완전한 웹 스택의 핵심을 형성하며, 최종 선택은 개인의 필요에 따라 달라진다는 것입니다.

예를 들어, Drupal 웹사이트를 운영하는 사람들은 종종 Apache를 사용하고, 반면 WordPress 사용자는 Nginx를 더 선호하는 경향이 있습니다. 따라서 우리의 목표는 일률적인 추천을 제공하기보다는 여러분의 요구 사항을 더 잘 이해하도록 돕는 것입니다. 그럼에도 불구하고, 두 서버 간의 비교는 정확한 그림을 제공합니다.

또한 읽어보세요: 2021년에 시도해볼 12가지 최고의 오픈 소스 소프트웨어

1. 인기

2012년까지 65% 이상의 웹사이트가 Apache를 기반으로 하였으며, 이는 역사적 유산 덕분입니다. Apache는 월드 와이드 웹의 성장을 선도한 최초의 소프트웨어 중 하나였습니다. 그러나 시대는 변했습니다. W3Tech.com에 따르면, 2019년 1월 14일 기준으로 Apache(44.4%)는 Nginx(40.9%)보다 약간 앞서 있습니다. 두 서버는 웹 서버 시장의 거의 85%를 차지하고 있습니다.

웹 서버 시장 점유율 W3techs.com

고트래픽 웹사이트에 관해서는 다음 그래프가 흥미롭습니다. 물론 Nginx는 Apache보다 훨씬 앞서 있지만, YouTube, Gmail 및 Drive와 같은 웹사이트를 지원하는 Google 서버에는 뒤처져 있습니다.

웹 서버 시장 @ W3Techs 2019년 1월 15일

어느 시점에서 많은 웹사이트(이 사이트 포함)가 Apache에서 Nginx로 이전했습니다. 분명히 후자는 최신의 트렌디한 웹 서버로 여겨집니다. Apache에서 운영되는 고트래픽 웹사이트인 Wikipedia와 New York Times는 종종 Varnish와 같은 프론트엔드 HTTP 프록시를 사용하고 있습니다.

점수: Apache와 Nginx 간의 인기 격차는 매우 빠르게 좁혀지고 있습니다. 그러나 Apache가 여전히 절대 숫자에서 앞서 있기 때문에 이번 라운드는 무승부로 간주하겠습니다.

2. 속도

좋은 웹 서버의 주요 특징은 빠르게 실행되고 어디에서나 연결 및 트래픽에 쉽게 응답해야 한다는 것입니다. 서버 속도를 측정하기 위해, 우리는 Apache(Expedia.com)와 Nginx(Booking.com)를 기반으로 한 두 개의 인기 여행 웹사이트를 비교했습니다. Bitcatcha라는 온라인 도구를 사용하여 여러 서버에 대한 비교를 수행하고 Google의 기준인 200ms에 대해 측정했습니다. Nginx 기반의 Booking.com은 “매우 빠름”으로 평가되었습니다. 반면, Apache 기반의 Expedia.com은 “평균 이상이며 개선이 필요함”으로 평가되었습니다.

여러 번 이 두 여행 웹사이트를 사용해본 결과, 개인적으로 Expedia가 Booking보다 쿼리에 대한 결과를 반환하는 데 약간 느리다고 느꼈습니다.

웹 서버 응답 시간 Booking.com (Nginx) vs. Expedia.com (Apache)

다음은 다른 몇 개의 웹사이트에 대한 두 서버 간의 비교입니다. 아래의 모든 경우에서 Nginx가 더 빠르다고 느껴집니다, 단 하나를 제외하고요.

Bitcatcha에서 테스트한 웹사이트 서버 속도

점수: Nginx가 속도 라운드에서 승리합니다.

또한 읽어보세요: Nginx에서 “Let’s Encrypt” 무료 SSL 인증서 설정하는 방법 (Ubuntu)

3. 보안

Nginx와 Apache 모두 웹사이트의 보안을 매우 중요하게 생각합니다. DDoS 공격, 악성 소프트웨어 및 피싱을 처리하기 위한 강력한 시스템이 부족하지 않습니다. 두 서버 모두 주기적으로 보안 보고서와 권고 사항을 발표하여 모든 수준에서 보안이 강화되도록 합니다.

점수: 이번 라운드는 무승부로 간주하겠습니다.

4. 동시성

Apache가 Nginx의 규모와 능력에 미치지 못한다는 인식이 있습니다. 결국 Nginx는 원래 FastCGI 및 SCGI 핸들러의 속도 문제를 가속화하기 위해 설계되었습니다. 그러나 Apache 2.4 이후(기본 버전) 동시 연결 수에서 급격한 개선이 있었습니다. 이 개선이 얼마나 이루어졌는지 알아볼 가치가 있습니다.

Loadimpact.com에서의 스트레스 테스트를 기반으로, 우리는 다시 Booking.com(Nginx)과 Expedia.com(Apache)을 비교했습니다. 25명의 가상 사용자에 대해 Nginx 웹사이트는 초당 200개의 요청을 기록할 수 있었으며, 이는 Apache의 80개의 요청보다 2.5배 높은 수치입니다. 분명히, 전용 고트래픽 웹사이트가 있다면 Nginx가 더 안전한 선택입니다.

Loadimpact.com에서의 Apache와 Nginx의 확장성 테스트

점수: Nginx가 동시성 라운드에서 승리합니다.

5. 유연성

웹 서버는 사용자 정의를 허용할 만큼 유연해야 합니다. Apache는 .htaccess 도구를 사용하여 이를 잘 수행하며, Nginx는 이를 지원하지 않습니다. 이는 관리자의 의무를 분산시킬 수 있게 해줍니다. 제3자 및 2단계 관리자가 주요 서버에 접근하는 것을 방지할 수 있습니다. 또한 Apache는 60개 이상의 모듈을 지원하여 매우 확장 가능합니다. Apache가 공유 호스팅 제공업체에서 더 인기가 있는 이유가 있습니다.

Apache의 유연한 기능: 모듈 및 htaccess 예제

점수: Apache가 이번 라운드에서 승리합니다.

기타 매개변수

과거에 Nginx는 Apache와 달리 Windows OS를 잘 지원하지 않았습니다. 그러나 이제는 더 이상 그렇지 않습니다. 또한 Apache는 로드 밸런싱 및 리버스 프록시에서 약한 것으로 여겨졌으나 이제는 변경되었습니다.

최종 결과

Nginx가 이 대결에서 2-1로 간신히 승리합니다. 그러나 기술적 매개변수에 대한 Nginx와 Apache 간의 객관적인 비교는 전체 그림을 제공하지 않습니다. 결국, 우리의 평가는 두 웹 서버가 각자의 방식으로 유용하다는 것입니다.

Apache는 프론트엔드 서버와 함께 사용해야 하며(Nginx 자체가 하나의 옵션입니다), Nginx는 더 많은 사용자 정의 및 유연성으로 더 나은 선택이 될 수 있습니다.