>백엔드 개발 >PHP 문제 >PHP 서버 nginx와 아파치의 차이점은 무엇입니까

PHP 서버 nginx와 아파치의 차이점은 무엇입니까

青灯夜游
青灯夜游원래의
2022-08-11 17:08:583452검색

차이점: 1. Apache는 동기식 다중 프로세스 모델이며 하나의 연결은 하나의 프로세스에 해당하지만 nginx는 비동기식이며 여러 연결이 하나의 프로세스에 해당할 수 있으며 nginx는 apache보다 로드 용량이 더 높습니다. 2. apache는 다음에 적합합니다. 동적 요청 처리에 적합하지만 nginx는 정적 및 역방향 처리에 적합합니다. 3. nginx 구성은 간단하지만 apache 구성은 복잡합니다. 4. apache의 재작성은 nginx보다 강력합니다. 5. apache는 더 성숙하고 버그가 적습니다. 상대적으로 버그가 더 많습니다.

PHP 서버 nginx와 아파치의 차이점은 무엇입니까

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터

Nginx

  • 경량, C로 작성, 동일한 웹 서비스가 더 적은 시간을 차지함 메모리 및 리소스

  • 동시성 방지, nginx는 epoll 및 kqueue를 개발 모델로 사용하고, 요청 처리는 비동기식이며 비차단이며, 로드 용량은 Apache보다 훨씬 높지만 Apache는 차단됩니다. 높은 동시성에서 nginx는 낮은 리소스 소비와 높은 성능을 유지할 수 있는 반면, apache는 PHP 처리가 느리거나 프런트 엔드 압력이 높을 때 프로세스 수가 급증하고 서비스 거부가 발생하기 쉽습니다.

  • nginx는 정적 파일을 잘 처리하고, 정적 처리 성능이 Apache보다 3배 이상 높습니다.

  • nginx의 디자인은 고도로 모듈화되어 있으며, 모듈 작성이 비교적 간단합니다. 일반 구성을 사용하면 많은 일이 간단해집니다. 그리고 구성을 변경한 후 -t를 사용하여 구성에 문제가 있는지 테스트할 수 있습니다. 다시 시작할 때 구성이 잘못되었음을 발견하면 충돌이 발생합니다. .로드 밸런싱 서버로서 nginx는 7계층 로드 밸런싱을 지원합니다.

  • nginx 자체는 리버스 프록시 서버이며 매우 좋은 메일 프록시 서버로 사용할 수 있습니다

  • 시작하기가 매우 쉽습니다. 거의 7*24까지 중단 없이 실행 가능합니다. 몇 달 동안 실행하더라도 다시 시작할 필요가 없으며, 간헐적으로 서비스가 중단될 경우 소프트웨어 버전을 업그레이드하십시오.

  • 커뮤니티가 활성화되어 있습니다. 그리고 다양한 고성능 모듈이 빠르게 제작됩니다

  • Apache
  • apache의 rewrite는 nginx보다 강력합니다. rewrite가 잦을 때에는 apache를 사용하세요

apache가 지금까지 개발한 모듈이 너무 많습니다. , 기본적으로 여러분이 생각할 수 있는 모든 것을 찾을 수 있습니다

  • apache는 더 성숙하고 버그가 적으며 nginx는 상대적으로 더 많은 버그를 가지고 있습니다

  • apache는 매우 안정적입니다

  • apache PHP에 대한 지원은 비교적 간단합니다. Apache는 동적 요청을 처리하는 데 이점이 있습니다. 일반적으로 nginx는 정적 및 역방향 요청을 수행하는 데 적합합니다.

  • apache는 풍부한 기능, 성숙한 기술 및 개발 커뮤니티를 갖춘 현재의 주류입니다

  • 요약
  • 둘 사이의 핵심 차이점은 Apache가 동기식 다중 프로세스 모델이며 하나의 연결이 해당한다는 것입니다. nginx는 비동기식이므로 여러 연결(10,000레벨)이 하나의 프로세스에 대응할 수 있습니다

  • 일반적으로 성능이 필요한 웹 서비스의 경우 nginx를 사용합니다. 성능이 필요하지 않고 안정성만 원하는 경우 후자의 다양한 기능 모듈이 전자보다 더 잘 구현되어 있습니다. 예를 들어 SSL 모듈은 전자보다 낫고 구성 가능한 항목이 더 많습니다. epoll(freebsd의 kqueue) 네트워크 IO 모델은 nginx의 높은 처리 성능의 근본적인 이유이지만 epoll 자체가 정적 서비스를 제공하는 경우 파일 수가 적고 Apache의 선택 모델이 될 수 있습니다. epoll보다 성능이 좋습니다. 물론 이는 네트워크 IO 모델의 원리를 기반으로 한 가정일 뿐입니다. 실제 애플리케이션은 여전히 ​​실제로 테스트해야 합니다.
  • nginx가 Apache보다 빠르면 왜 nginx가 Apache를 대체하지 않습니까?

두 가지의 초점이 다르기 때문에 Apache 자체에는 많은 내장 기능이 있으며 다른 것의 도움 없이 거의 모든 웹 유형 애플리케이션을 지원할 수 있습니다. Nginx는 정적 파일 처리와 높은 동시성 측면에서 장점이 있습니다.

Apache는 완전성과 안정성에 중점을 두고 있다면 Nginx는 경량성과 높은 효율성에 중점을 두고 있습니다. Apache와 Nginx는 Apache 앞에 구성되어 정적 파일에 대한 요청(리소스에 대한 요청)을 차단하는 데 사용되는 경우가 많습니다. 현재 웹사이트) 대부분을 차지하지만 Nginx가 처리할 수 없는 콘텐츠는 Apache로 전달되어 처리됩니다.

Nginx를 선택해야 할까요? 아니면 Apache를 선택해야 할까요?
  • apache는 php 실행에 더 좋고 동적 실행에는 적합합니다.
  • nginx는 정적 실행에 더 적합합니다.

이제 널리 사용되는 lanmp 아키텍처는 apache와 nginx를 동시에 사용합니다. 정적 웹 페이지는 nginx로 처리하고 동적 웹 페이지는 apache로 처리하므로 서버 성능을 극대화할 수 있습니다.

  • 일반적인 해결책은 프런트엔드 nginx가 동시성 방지이고 백엔드 Apache 클러스터가 함께 작동하는 것이 더 좋다는 것입니다.

  • 더 많은 프로그래밍 관련 지식을 보려면

    프로그래밍 비디오
  • 를 방문하세요! !

위 내용은 PHP 서버 nginx와 아파치의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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