>  기사  >  백엔드 개발  >  nginx와 apache의 장점과 단점

nginx와 apache의 장점과 단점

WBOY
WBOY원래의
2016-08-08 09:24:071002검색

이 섹션의 내용:
nginx와 apache의 장점과 단점

1. apache에 비해 nginx의 장점:
가벼우며 웹 서비스도 제공할 수 있으며 Apache보다 공간을 덜 차지합니다. 서버 메모리 및 리소스
동시성 방지, nginx는 요청을 처리할 때 비동기식이며 차단되지 않는 반면, apache는 차단됩니다. 높은 동시성에서 nginx는 낮은 리소스, 낮은 소비 및 높은 성능을 유지할 수 있습니다.
고도로 모듈화된 설계, 작성된 모듈은 비교적 간단합니다
커뮤니티가 활발하고 다양한 고성능 모듈이 빠르게 제작됩니다
nginx에 비해 apache의 장점:
rewrite, nginx의 rewrite보다 강력
동적 페이지
있음 모듈이 많고 기본적으로 생각할 수 있는 모든 것을 찾을 수 있습니다
버그가 적고, nginx는 상대적으로 버그가 많습니다
매우 안정적입니다

이것이 일반적으로 웹 서비스에 존재하는 이유입니다. 성능이 필요하면 nginx를 사용하세요. 성능은 필요 없고 안정성만 원한다면 아파치를 사용하세요. 후자의 다양한 기능 모듈은 전자보다 더 잘 구현됩니다. 예를 들어 SSL 모듈은 전자보다 좋고
에는 구성 가능한 항목이 더 많습니다. 여기서 주목해야 할 점은 epoll(freebsd의 kqueue) 네트워크 IO 모델이 nginx의 높은 처리 성능의 근본적인 이유이지만, epoll이 모든 경우에 승리할 수는 없다는 점입니다. 단 몇 개의 파일만으로 정적 서비스를 제공한다면 Apache의 선택 모델입니다. epoll보다 성능이 더 좋을 수 있습니다. 물론 이는 네트워크 IO 모델의 원리를 기반으로 한 가정일 뿐입니다. 실제 애플리케이션은 여전히 ​​실제로 테스트해야 합니다.

2. 웹 서버로서 Nginx는 Apache에 비해 더 적은 리소스를 사용하고 더 많은 동시 연결을 지원하며 더 높은 효율성을 반영하므로 Nginx는 특히 가상 호스트 공급자에게 인기가 있습니다. 높은 연결 동시성

의 경우 Nginx는 아파치 서버의 좋은 대안입니다. Nginx는 미국 가상 호스트 사업의 상사들이 자주 선택하는 소프트웨어 플랫폼 중 하나이며 최대 50,000개의 응답을 지원할 수 있습니다. 동시 연결,
epoll과 kqueue를 개발 모델로 선택한 Nginx 덕분에
로드 밸런싱 서버로 Nginx: Nginx는 Rails 및 PHP 프로그램을 직접 지원할 수 있을 뿐만 아니라 외부 서비스도 지원할 수 있습니다. HTTP 프록시 서버로서 Nginx는 C로 작성되었으며
시스템 리소스 오버헤드 및 CPU 사용 효율성 측면에서 Perlbal보다 훨씬 낫습니다.
메일 프록시 서버로서 Nginx는 또한 매우 뛰어난 메일 프록시 서버입니다. (이 제품 One의 원래 개발 목적은 메일 프록시 서버이기도 합니다.) Last.fm에서는 이를 사용한 성공적이고 멋진 경험을 설명합니다.
Nginx는 설치가 매우 간단하고 구성 파일이 매우 간결합니다. Perl 구문도 지원), 버그는 매우 적습니다. Nginx는 시작하기가 매우 쉽고 몇 달 동안 실행하더라도 다시 시작할 필요 없이 거의 연중무휴로 실행할 수 있습니다. 또한 중단 없이 소프트웨어 버전을 업그레이드할 수도 있습니다.

3. Nginx 구성은 간단하고 Apache는 복잡합니다.
Nginx의 정적 처리 성능은 Apache보다 3배 이상 높습니다.

Apache의 PHP 지원은 상대적으로 간단하며, Nginx는 다른 서비스와 협력해야 합니다. 백엔드

Apache의 구성 요소 Nginx 그 이상
이제 Nginx는 웹 서버의 첫 번째 선택입니다.

넷째, 핵심 차이점은 Apache가 동기식 다중 프로세스 모델이라는 것입니다. 하나의 연결은 하나의 프로세스에 해당합니다. nginx는 비동기식이며 여러 연결(만 레벨)이 하나의 프로세스에 해당할 수 있습니다

5. nginx는 정적 파일을 잘 처리하고 메모리를 덜 소비합니다. 그러나 Apache가 여전히 주류이고 많은 풍부한 기능을 가지고 있다는 것은 의심의 여지가 없습니다. 물론, nginx가 요구 사항에 적합하다고 판단할 수 있다면 nginx를 사용하는 것이 더 경제적인 방법이 될 것입니다.

아파치는 멀티 코어 처리 부하를 지원하지 않는다는 단점이 있습니다. nginx를 프론트 엔드로, apache를 백엔드로 사용하는 것이 좋습니다. 대규모 웹사이트에서는 nginx의 클러스터 기능을 사용하는 것이 좋습니다.

6. 개인의 과거 사용량으로 볼 때, nginx의 부하 용량은 apache보다 훨씬 높습니다. 최신 서버도 nginx를 사용합니다. 게다가 nginx의 구성을 변경한 후에는 구성에 문제가 있는지 -t 테스트할 수 없습니다. Apache를 다시 시작하면
구성이 잘못된 것으로 확인되어 만들 때 매우 주의하겠습니다. 이제 많은 클러스터 사이트가 있음을 확인했습니다. 프런트 엔드 nginx는 동시성 방지 클라이언트입니다.

7. nginx가 동적 요청을 처리하는 것은 쓸모가 없습니다. 일반적으로 Apache는 동적 요청을 처리하는 데 필요하며 nginx는 정적 및 역방향 요청에만 적합합니다.


8. 내 개인적인 경험에 따르면 nginx는 매우 우수한 로드 성능을 갖춘 매우 우수한 프런트엔드 서버입니다. Laoben에서 nginx를 실행하고 webbench를 사용하여 10,000개의 정적 파일 요청을 시뮬레이션하는 것은 쉽습니다. Apache는 PHP
와 같은 언어에 대한 지원이 좋습니다. 또한 Apache는 강력한 지원 네트워크를 갖추고 있으며 nginx보다 오랜 기간 동안 개발되었습니다.

9. 두 가지가 있습니다. Nginx가 Apache보다 나은 주요 이유: 1. Nginx 자체는 역방향 프록시 서버입니다. 2. Nginx는 7계층 로드 밸런싱을 지원합니다. 물론 Nginx는 Apache보다 더 높은 동시성을 지원할 수 있지만 NetCraft

의 통계에 따르면 2011년 4월 통계에 따르면 Apache는 여전히 62.71%이고 Nginx는 7.35%입니다. 따라서 일반적으로 Aapche는 성숙한 기술 및 개발 커뮤니티가 이미 매우 좋은 성능을 보이고 있기 때문에 대부분의 회사에서 여전히 첫 번째 선택입니다.

10. 웹 서버에 대한 수요에 따라 선택이 결정됩니다. 대부분의 경우 정적 파일 처리, PHP-CGI 지원, 역방향 프록시 기능, 프런트엔드 캐시, 연결 유지 관리 등의 측면에서 nginx가 APACHE보다 우수합니다.
Apache+PHP(프리포크) 모드에서는 PHP 처리가 느리거나 프런트엔드 부담이 높을 경우 아파치 프로세스 수가 급증해 서비스 거부가 발생하기 쉽습니다.

11. nginx lua 모듈: 가장 널리 사용되는 lua를 사용하여 Apache를 직접 구현할 수 있습니다.

12. nginx의 경우 구성 파일이 매우 간결하게 작성되어 있어 많은 작업이 간단하고 효율적이며 프런트엔드 응답에 매우 적합합니다. 섬기는 사람.

13. Apache는 처리 역학 측면에서 장점이 있습니다. Nginx는 동시성이 뛰어나고 CPU 메모리 사용량이 적습니다.

이상 내용의 측면을 포함하여 nginx와 apache의 장단점을 소개했으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.