1. Apache와 Nginx의 장점과 단점
apache에 비해 nginx의 장점:
가벼우며 Apache보다 메모리와 리소스를 적게 차지합니다. nginx는 Apache가 차단되는 동안 비동기식 및 비차단 방식으로 요청을 처리합니다. 높은 동시성, nginx는 낮은 리소스, 낮은 소비 및 높은 성능을 유지할 수 있습니다 고도의 모듈식 설계, 모듈 작성이 비교적 간단합니다 커뮤니티가 활발하고 다양한 고성능 모듈이 생성됩니다. nginx에 비해 apache의 장점: 다시 쓰기, nginx의 다시 쓰기보다 더 강력함 너무 많습니다 모듈, 기본적으로 제가 생각할 수 있는 것은 버그가 적고, nginx는 상대적으로 버그가 많습니다 매우 안정적입니다 존재는 그 이유는 일반적으로 nginx를 사용하는 Performance 웹 서비스가 필요하기 때문입니다. 성능은 필요 없고 안정성만 원한다면 아파치를 사용하세요. 후자의 다양한 기능 모듈은 전자보다 더 잘 구현됩니다. 예를 들어 SSL 모듈은 전자보다 우수하고 구성 가능한 항목이 더 많습니다. 여기서 주목해야 할 점은 epoll(freebsd의 kqueue) 네트워크 IO 모델이 nginx의 높은 처리 성능의 근본적인 이유이지만 모든 경우에 epoll이 아니라는 점입니다.
큰 승리는 정적 서비스를 제공하는 파일이 몇 개만 있는 경우 Apache의 선택 모델이 epoll보다 성능이 더 좋을 수 있다는 것입니다. 물론 이는 네트워크 IO 모델의 원리를 기반으로 한 가정일 뿐입니다. 실제 애플리케이션은 여전히 실제로 테스트해야 합니다. 2. 웹 서버로서 Nginx는 Apache에 비해 더 적은 리소스를 사용하고 더 많은 동시 연결을 지원하며 더 높은 효율성을 반영합니다. 이로 인해 Nginx는 가상 호스트 제공업체 사이에서 특히 인기가 높습니다. 연결 동시성이 높은 경우 Nginx는 Apache 서버의 좋은 대안입니다. Nginx는 미국의 가상 호스트 비즈니스 소유자가 자주 선택하는 소프트웨어 플랫폼 중 하나이며 최대 50,000개의 동시 연결 응답을 지원할 수 있습니다.
우리를 위한 개발 모델로 epoll과 kqueue를 선택한 Nginx에게 감사드립니다. Nginx를 로드 밸런싱 서버로 사용: Nginx는 Rails 및 PHP 프로그램을 직접 지원하여 외부적으로 내부적으로 서비스를 지원할 수도 있습니다. HTTP 프록시 서버 외부 서비스 Nginx는 C로 작성되었으며 시스템 리소스 오버헤드 및 CPU 사용 효율성이 Perlbal보다 훨씬 좋습니다. 메일 프록시 서버로서 Nginx는 또한 매우 뛰어난 메일입니다. 프록시 서버(이 제품을 개발한 초기 목적 중 하나는 메일 프록시 서버 역할도 하는 것이었습니다.) Last.fm에서는 성공적이고 멋진 사용 경험을 설명합니다. Nginx는 설치가 매우 간단합니다. 구성 파일은 매우 간결하며(펄 구문도 지원 가능) 버그가 거의 없는 서버입니다. Nginx는 특히 시작하기 쉽고 중단 없이 거의 7*24를 실행할 수 있습니다. 재시작할 필요도 없습니다. 소프트웨어 버전 업그레이드 3. Nginx 구성은 간단하지만, Apache는 Nginx 정적 처리가 복잡합니다. Apache보다 성능이 3배 이상 높습니다 Apache의 PHP 지원은 비교적 간단하며 Nginx는 다른 백엔드와 함께 사용해야 합니다 Apache는 Nginx보다 구성 요소가 더 많습니다. 이제 Nginx는 웹 서버의 첫 번째 선택입니다4. 핵심 차이점은 Apache가 동기식 다중 프로세스 모델이고 하나의 연결이 하나의 프로세스에 해당한다는 것입니다. ; nginx는 비동기식이며 여러 연결(10,000개 레벨)이 하나의 프로세스에 해당할 수 있습니다 5. nginx는 정적 파일을 잘 처리하고 메모리를 덜 소비합니다. 그러나 Apache가 여전히 주류이며, 물론, nginx가 요구사항을 충족한다고 판단되면 nginx를 사용하는 것이 더 경제적일 것입니다. 6. 개인적인 과거로 판단하면. 사용법에 따라 nginx의 로드 용량은 Apache의 로드 용량보다 훨씬 높습니다. 최신 서버도 nginx를 사용합니다. 게다가 nginx의 구성을 변경한 후에는 구성에 문제가 있는지 테스트할 수 없습니다. 아파치가 다시 시작하면 구성이 잘못된 것으로 확인되어 변경 시 매우 주의하겠습니다. 클러스터 사이트가 많습니다. 프런트엔드 nginx는 동시성이 없으며 백엔드 아파치 클러스터도 협력이 좋습니다. 7. nginx가 동적 요청을 처리하는 것은 쓸모가 없습니다. 일반적으로 Apache는 동적 요청을 처리하는 데 필요하며 nginx는 정적 및 역방향 요청에만 적합합니다.
9. Nginx가 Apache보다 나은 이유는 크게 두 가지입니다. 1. Nginx 자체가 역방향 프록시 서버입니다. 2. Nginx는 레이어 7을 지원합니다. 로드 밸런싱 기타 물론 Nginx는 Apache보다 더 높은 동시성을 지원할 수 있지만 NetCraft 통계에 따르면 2011년 4월에는 Apache가 여전히 62.71%를 차지하고 Nginx는 7.35%를 차지하므로 일반적으로 Aapche가 여전히 대다수를 차지합니다. Branch는 무엇보다도 성숙한 기술과 개발 커뮤니티, 그리고 이미 매우 좋은 성능을 갖추고 있기 때문입니다.
10. 웹 서버에 대한 요구 사항에 따라 선택이 결정됩니다. 대부분의 경우 정적 파일 처리, PHP-CGI 지원, 역방향 프록시 기능, 프런트엔드 캐시, 연결 유지 관리 등의 측면에서 nginx가 APACHE보다 우수합니다. Apache+PHP(prefork) 모드에서 PHP 처리가 느리거나 프런트 엔드 부담이 높을 경우 Apache 프로세스 수가 급증하여 서비스 거부가 발생하기 쉽습니다.
11. nginx lua 모듈을 살펴볼 수 있습니다: https://github.com/chaoslaw... Apache는 nginx보다 더 많은 모듈을 가지고 있으며 Apache로 직접 구현할 수 있습니다. 가장 인기가 많은데, 왜죠? 대부분의 사람들은 nginx로 업데이트하거나 새로운 것을 배우는 데 너무 게으릅니다.
12. nginx의 경우 구성 파일이 매우 간결하다는 점이 좋습니다. , 프록시 기능은 강력하며 프런트 엔드 응답 서버에 매우 적합합니다
13. Apache는 처리 역학에 있어 더 나은 동시성과 낮은 CPU 메모리 사용량을 제공합니다. 다시 작성하는 일이 잦다면 Apache가 최선의 선택입니다
위에서 내용의 측면을 포함하여 Apache와 Nginx의 차이점을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.