Nginx
경량, C로 작성, 동일한 웹 서비스가 더 적은 메모리와 리소스를 차지합니다.
동시성 방지, nginx는 epoll 및 kqueue를 개발 모델로 사용하고 요청 처리는 비동기식 및 비동기식입니다. , 로드 용량이 Apache보다 훨씬 높으며 Apache가 차단됩니다. 높은 동시성에서 nginx는 낮은 리소스 소비와 높은 성능을 유지할 수 있는 반면, apache는 PHP 처리가 느리거나 프런트 엔드 압력이 높을 때 프로세스 수가 급증하고 서비스 거부가 발생하기 쉽습니다.
nginx는 정적 파일을 잘 처리하고, 정적 처리 성능이 Apache보다 3배 이상 높습니다.
nginx의 디자인은 고도로 모듈화되어 있으며, 모듈 작성이 비교적 간단합니다.
nginx는 구성이 간단합니다. -t 구성에 문제가 있는지 테스트합니다. Apache 구성이 복잡하므로 구성이 잘못되면
nginx가 충돌합니다. 7레이어 로드 밸런싱을 지원합니다.
nginx 자체가 리버스 프록시 서버이며 리버스 프록시 서버로 사용할 수 있습니다. 매우 우수한 메일 프록시 서버입니다.
시작하기가 매우 쉽고 거의 24시간 동안 실행될 수 있습니다. 7. 몇 달 동안 실행되더라도 다시 시작할 필요가 없습니다. 또한 서비스 중단 없이 소프트웨어 버전을 업그레이드할 수 있습니다
커뮤니티가 활성화되어 있으며 다양한 고성능 모듈이 빠르게 제작됩니다
Apache
apache의 rewrite는 nginx보다 더 강력합니다. rewrite가 잦을 때는 apache를 사용하세요.
apache는 현재까지 개발되었으며 모듈이 너무 많아서 기본적으로 생각할 수 있는 모든 것을 찾을 수 있습니다.
apache는 더 성숙하고 버그는 적고, nginx는 상대적으로 버그가 많습니다
apache는 매우 안정적입니다
apache는 PHP를 비교적 간단하게 지원하며, nginx는 다른 백엔드와 함께 사용해야 합니다.
apache는 동적 요청을 처리하는 데 장점이 있는데, nginx가 여기에 있습니다. 일반적으로 동적 요청은 Apache에서 수행해야 하지만 nginx는 정적 및 역방향 요청에 적합합니다.
apache는 풍부한 기능, 성숙한 기술 및 개발 커뮤니티를 갖춘 여전히 주류입니다
Summary
둘 사이의 핵심 차이점은 Apache가 동기 다중 프로세스 모델이고 하나의 연결이 하나의 프로세스에 해당하는 반면 nginx는 비동기식이므로 여러 연결(10,000개 레벨)이 하나의 프로세스에 해당할 수 있습니다
일반적으로 성능이 필요한 웹 서비스의 경우 nginx를 사용합니다. 성능이 필요하지 않고 안정성만 원하는 경우 후자의 다양한 기능 모듈이 전자보다 더 잘 구현되어 있습니다. 예를 들어 SSL 모듈은 전자보다 낫고 구성 가능한 항목이 더 많습니다. epoll(freebsd의 kqueue) 네트워크 IO 모델은 nginx의 높은 처리 성능의 근본적인 이유이지만 epoll 자체가 정적 서비스를 제공하는 경우 파일 수가 적고 Apache의 선택 모델이 될 수 있습니다. epoll보다 성능이 좋습니다. 물론 이는 네트워크 IO 모델의 원리를 기반으로 한 가정일 뿐입니다. 실제 애플리케이션은 여전히 실제로 테스트해야 합니다.
더 일반적인 해결책은 동시성 방지를 위해 프런트 엔드에 nginx를 사용하고 백엔드에 Apache 클러스터를 사용하는 것인데, 이는 함께 더 잘 작동합니다.
더 많은 Nginx 관련 기술 기사를 보려면 Nginx Tutorial 칼럼을 방문하여 알아보세요!
위 내용은 nginx와 아파치의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!