아파치 와 Nginx 는 웹서버를 운영 할 수있는 오픈 소스 서버 기술을 제공합니다. 그러나 어느 것이 당신에게 적합한지 사이트를 최대한 효율적으로 운영하려면 필요에 가장 적합한 서버 유형을 선택하는 것이 중요합니다.
아파치는 20 년 넘게 탄탄한 선택을 해왔으며 웹 개발자가 이를 배우고 관리하는 데 도움이되는 많은 자료가 있습니다. 그러나 코드의 특정 디자인 요소는 최신 웹 요구에 제한 요소가 될 수 있습니다. NGINX는 인기가 떨어질 수 있지만 공정한 이점이 없는 것은 아니며 시장 점유율이 상승하고 있습니다.
이 기사에서는 서버 선택이 완전히 제어 가능한 방식과 그 이유에 대해 설명합니다. 그런 다음 NGINX와 Apache를 소개하고 비교하여 사이트에 적합한 것을 결정하는 데 도움을 줍니다!
웹 서버를 신중하게 선택하는 것이 중요한 이유
Apache와 NGINX는 함께 인터넷 트래픽의 50 % 이상 을 제공합니다. 이를 통해 세계에서 가장 일반적인 두 가지 오픈 소스 웹 서버가 됩니다.
당신이 가지고 그냥 웹 호스트의 선택 , 당신은 또한 당신이 실행하는 사이트를하고자하는 서버를 결정할 수 있습니다. 올바른 결정을 내리는 것이 중요합니다. 두 솔루션 모두 다양한 워크로드를 처리 할 수 있지만 각 기능은 약간 다릅니다.
모든 사람을 위한 완벽한 서버는 없습니다. 어떤 기술을 선택하든 목표와 요구 사항에 따라 달라집니다 (아래에서 설명) 강력한 서버를 선택하면 사이트의 기능과 속도에 긍정적 인 영향을 줄 수 있습니다.
APACHE와 NGINX 소개
이제 웹 서버 세계에서 두 가지 주요 업체를 소개 할 차례입니다. 먼저 Apache HTTP가 있습니다.
이 서버 는 Apache Software Foundation을 통해 많은 개발자 그룹이 개발하고 유지 보수합니다. 현재 HTTP 표준을 준수하도록 구축 된 오픈 소스, 고성능의 안전한 웹 서버입니다.
Apache HTTP는 1995 년부터 인터넷에서 가장 인기있는 웹 서버였습니다. Apache Software Foundation의 원래 프로젝트이자 가장 인기있는 소프트웨어이기 때문에 종종 'Apache'라고도합니다.
다음으로 NGINX는 최신 웹 요구를 충족하도록 설계된 웹 서버 플랫폼 입니다 .
이 웹 사이트는 성장하는 웹의 요구 사항 인 1 만 개의 연결 을 제공해야하는 문제에 대한 해답으로 설계되었습니다 . 따라서 이 기술은 효율적인 방식으로 많은 수의 사용자에게 동시에 서비스를 제공하는 데 중점을두고 있습니다. NGINX는 2004 년에 일반인에게 공개되었으며 꾸준히 인기를 얻고 있습니다.
APACHE 및 NGINX 서버의 장단점
앞서 언급했듯이 특정 웹 사이트의 요구를 충족시키는 웹 서버를 선택하는 것이 중요합니다. 예를 들어 Apache는 기능이 풍부한 옵션이지만 NGINX는 뛰어난 리소스 효율성을 제공합니다.
그러나 그것은 두 기술이 제공하는 것을 단순화 한 것입니다. 이제 각각의 장단점을 자세히 살펴 보겠습니다.
APACHE
아파치는 NGINX보다 훨씬 오래 동안 사용되어 왔으며 여전히 많은 사이트 소유자와 개발자들에게 최고의 선택으로 여겨지고 있습니다. 거의 모든 OS에서 실행되며 다른 유명한 소프트웨어 프로젝트와의 훌륭한 문서화 및 통합 지원의 이점이 있습니다.
Apache의 또 다른 주요 이점은 다음과 같습니다.
-
클라이언트 요청을 처리하기 위해 멀티 스레드 방식을 따릅니다.
-
웹 서버 자체 내에서 동적 컨텐츠를 처리합니다.
-
모듈을 동적으로로드 및 언로드 (더 유연하게 만들기)
-
처음부터 웹 서버로 설계되었습니다
그러나 웹 트래픽이 많아지면 Apache가 여러 요청을 동시에 처리 할 수 없다는 점에 유의해야합니다 . 이는 클라이언트 요청을 처리하기위한 다중 스레드 접근 방식을 따르고 각 스레드는 한 번에 하나의 연결 만 처리 할 수 있기 때문입니다.
NGINX
Apache와 달리 NGINX는 오늘날 웹의 요구를 처리하도록 설계되었습니다. 효율성에 중점을두고 있으며 경량 아키텍처와 높은 동시성이 있습니다.
NGINX의 주요 이점 중 일부는 다음과 같습니다.
-
이벤트 중심 접근 방식을 사용하여 클라이언트 요청 제공
-
제한된 하드웨어 리소스로도 여러 클라이언트 요청을 동시에 효율적으로 처리
-
단일 스레드를 통해 여러 연결을 처리 할 수 있습니다
-
최소한의 리소스로 웹 서버의 아키텍처를 개선하기 위해 독립형 HTTP 서버로 배치 가능
NGINX의 주요 단점은 동적 컨텐츠를 기본적으로 처리 할 수 없다는 것입니다. 동적 콘텐츠에 대한 PHP 및 기타 요청을 처리하려면 NGINX가이를 실행하기 위해 외부 프로세서로 전달하고 렌더링 된 콘텐츠가 다시 전송 될 때까지 기다려야합니다 (프로세스 속도 저하).
웹 사이트에 적합한 서버 유형을 선택하는 방법
대부분의 지역에서 이 두 서버는 서로 잘 경쟁합니다. 여전히, 그들은 뚜렷한 강점을 가지고 있습니다. Apache에는 다양한 동적 모듈을 로드하기위한 더 많은 문서와 더 나은 지원이 제공되는 반면 NGINX는 트래픽이 많은 웹 사이트를 위한 많은 정적 컨텐츠 및 미디어 스트림을 제공 할 수 있습니다.
또한 두 서버 모두 이제 상업적 지원 및 교육을 제공합니다. 그러나 공유 호스팅을 사용하는 많은 웹 개발자 는 Apache의 편리함을 선호합니다. 반면 NGINX는 주로 VPS 호스팅 및 전용 호스팅에 사용됩니다.
고려해야 할 또 다른 옵션은 Apache와 NGINX를 함께 사용하는 것입니다. NGINX는 Apache 앞에 리버스 프록시로 배치 할 수 있습니다. 이는 NGINX의 빠른 처리 속도를 활용하여 클라이언트의 모든 요청을 처리합니다. PHP 파일과 같은 동적 컨텐츠의 경우 NGINX는 요청을 Apache로 프록시하여 결과를 처리하고 렌더링 된 페이지를 리턴합니다.
결론은 정적 콘텐츠가 많은 트래픽이 많은 웹 사이트를 실행하는 경우 NGINX가 현명한 옵션이 될 수 있다는 것 입니다. 또는 지원 커뮤니티와 커뮤니티가 제공하는 풍부한 자원을 소중히 생각하는 경우 Apache가 편리한 선택 입니다. 어느 쪽을 선택하든 귀하의 사이트 요구에 맞는 옵션이 있습니다.
결론
Apache와 NGINX는 강력하고 유연하고있는 웹 서버입니다. 어떤 것을 선택하면 특정 요구 사항과 우선 순위에 크게 좌우됩니다.
Apache에는 대규모 커뮤니티가 있으며 일반적인 문제를 탐색하는 데 도움이되는 많은 지원이 있습니다. 그러나 NGINX는 안정성과 속도가 향상 될 수 있습니다. 컨텐츠가 많은 인기있는 사이트를 운영하는 경우 NGINX를 선호 할 수 있지만 최신 웹 개발자는 종종 Apache를 사용합니다.
당신은 NGINX 또는 Apache에 대한 어떤 선택을.....