gpffh1011

웹서버(NGINX, APACHE) 본문

IT기초상식

웹서버(NGINX, APACHE)

gpffh1011 2020. 5. 20. 00:03

 

아파치 와 Nginx 는 웹서버를 운영 할 수 있는 오픈 소스 서버 기술을 제공한다. 그러나 사이트를 최대한 효율적으로 운영하려면 본인의 필요에 가장 적합한 서버 유형을 선택하는 것이 중요하다. NGINX와 Apache 특징을 비교하여 사이트에 적합한 것을 결정하자!

 

 

 

웹 서버를 신중하게 선택하는 것이 중요한 이유

 

Apache와 NGINX는 인터넷 트래픽의 50 % 이상을 제공하는, 세계에서 가장 일반적인 두 가지 오픈 소스 웹 서버이다.

두 솔루션 모두 다양한 워크로드를 처리 할 수 ​​있지만 각 기능은 약간 다르다. 

모든 사람을 위한 완벽한 서버는 없다. 본인의 목표와 요구 사항에 맞는 강력한 서버를 선택하면 사이트의 기능과 속도에 긍정적인 영향을 줄 수 있다. 

 

 

 

APACHE와 NGINX 소개

 

APACHE

이 서버 는 Apache Software Foundation을 통해 많은 개발자 그룹이 개발하고 유지 보수한다. 현재 HTTP 표준을 준수하도록 구축 된 오픈 소스, 고성능의 안전한 웹 서버이다.

Apache HTTP는 1995 년부터 인터넷에서 가장 인기있는 웹 서버였다. Apache Software Foundation의 원래 프로젝트이자 가장 인기있는 소프트웨어이기 때문에 종종 'Apache'라고도 한다.

 

NGINX

다음으로 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는 트래픽이 많은 웹 사이트를 위한 많은 정적 컨텐츠 및 미디어 스트림을 제공 할 수 있다. 

 

또한 두 서버 모두 이제 상업적 지원 및 교육을 제공한다. 그러나 공유 호스팅을 사용하는 많은 웹 개발자는 Apache의 편리함을 선호한다. 반면 NGINX는 주로 VPS 호스팅 및 전용 호스팅에 사용된다. 

 

고려해야 할 또 다른 옵션은 Apache와 NGINX를 함께 사용하는 것이다.

NGINX는 Apache 앞에 리버스 프록시로 배치 할 수 있는데, 이는 NGINX의 빠른 처리 속도를 활용하여 클라이언트의 모든 요청을 처리한다.  PHP 파일과 같은 동적 컨텐츠의 경우 NGINX는 요청을 Apache로 프록시하여 결과를 처리하고 렌더링 된 페이지를 리턴한다. 

 

 

 

결론

 

정적 콘텐츠가 많은 트래픽이 많은 웹 사이트를 실행하는 경우 NGINX가 현명한 옵션이 될 수 있으며,  지원 커뮤니티와 커뮤니티가 제공하는 풍부한 자원을 소중히 생각하는 경우 Apache가 편리한 선택이 될 것이다.

 

Apache에는 대규모 커뮤니티가 있으며, 일반적인 문제를 탐색하는데 도움이 되는 많은 지원이 있다. 그러나 NGINX는 안정성과 속도가 향상 될 수 있다. 컨텐츠가 많은 인기있는 사이트를 운영하는 경우 NGINX를 선호 할 수 있지만 최신 웹 개발자는 종종 Apache를 사용한다.

 

결론은 Apache와  NGINX 모두 강력하고 유연한 웹 서버란 것이다. 어느 쪽을 선택하든 본인의 사이트 요구에 맞는 옵션이 있을 것이다. 

 

 

 

 

 

 

출처

https://cntechsystems.tistory.com/24

https://webinstory.tistory.com/entry/Apache-vs-Nginx-%EB%B9%84%EA%B5%90

'IT기초상식' 카테고리의 다른 글

github  (0) 2020.06.15
리액트와 SP  (0) 2020.06.02
CGI(Common Gate Interface)/(PHP, Perl)  (0) 2020.05.19
윈도우 응용 프로그래머와 웹 프로그래머의 직무 차이  (0) 2020.05.14
[IT 기초] 데이터베이스  (0) 2020.05.14