php는 두 가지 유형의 웹 서버에 배포할 수 있습니다. 1. Apache Software Foundation의 오픈 소스 웹 서버인 apache는 대부분의 컴퓨터 운영 체제에서 실행될 수 있으며 다중 플랫폼 및 보안으로 인해 널리 사용됩니다. 2. nginx는 고성능 HTTP 및 역방향 프록시 웹 서버이며 "IMAP/POP3/SMTP" 서비스도 제공합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터
일반적으로 PHP에 일반적으로 사용되는 두 가지 웹 서버가 있습니다:
apache
nginx
LAMP(linux + apache + mysql + php) 및 LNMP(linux + ngnix + mysql + php)는 현재 서버에서 가장 일반적으로 사용되는 PHP 환경 아키텍처입니다.
apache 서버
Apache HTTP 서버(약칭: Apache)는 Apache Software Foundation의 오픈 소스 웹 서버로, 대부분의 컴퓨터 운영 체제에서 실행될 수 있으며 다중 플랫폼 및 보안으로 인해 널리 사용됩니다. 는 가장 인기 있는 웹 서버측 소프트웨어 중 하나입니다. Perl/Python과 같은 인터프리터를 서버로 컴파일하는 간단한 API를 통해 빠르고 안정적이며 확장 가능합니다.
Apache는 인기 있는 오픈 소스, 크로스 플랫폼 웹 서버이자 현존하는 가장 인기 있는 웹 서버이기도 합니다.
Apache HTTP 서버는 NCSAhttpd 서버에서 파생된 모듈식 서버로, 많은 수정을 거쳐 세계 최고의 웹 서버 소프트웨어가 되었습니다.
널리 사용되는 거의 모든 컴퓨터 플랫폼에서 실행될 수 있습니다.
Apache는 NCSAhttpd 서버에서 유래되었습니다. 많은 수정을 거쳐 세계에서 가장 인기 있는 웹 서버 소프트웨어 중 하나가 되었습니다. Apache는 패치로 가득 찬 서버를 의미하는 "패치 서버"의 발음에서 따왔습니다. 이는 무료 소프트웨어이기 때문에 사람들은 끊임없이 새로운 기능과 특징을 개발하고 원래의 결함을 수정하고 있습니다. Apache는 단순성, 빠른 속도, 안정적인 성능을 특징으로 하며 프록시 서버로 사용할 수 있습니다.
원래는 소규모이거나 실험적인 인터넷 네트워크에만 사용되었고 나중에는 점차 다양한 Unix 시스템으로 확장되었습니다. 특히 Linux에 대한 지원은 아주 완벽합니다. Apache에는 SSL 기술과 여러 가상 호스트를 지원할 수 있는 다양한 제품이 있습니다. Apache는 프로세스 기반 구조로 프로세스가 스레드보다 시스템 오버헤드를 더 많이 소모하므로 다중 프로세서 환경에는 적합하지 않습니다. 따라서 Apache 웹사이트를 확장할 때 일반적으로 프로세서를 늘리는 대신 서버를 추가하거나 클러스터 노드를 확장해야 합니다. 지금까지 Apache는 여전히 세계에서 가장 많이 사용되는 웹 서버로, 약 60%의 시장 점유율을 차지하고 있습니다. Amazon, Yahoo!, W3 Consortium, Financial Times 등과 같은 세계의 많은 유명 웹사이트는 Apache의 제품입니다. Apache의 성공은 주로 오픈 소스 코드, 개방형 개발 팀 및 크로스 플랫폼 애플리케이션 지원에 있습니다. 거의 모든 Unix, Windows 및 Linux 시스템 플랫폼에서 실행될 수 있음) 및 이식성.
아파치의 탄생은 매우 드라마틱합니다. NCSAWWW 서버 프로젝트가 중단되자 NCSAWWW 서버를 사용하는 사람들은 서버용 패치를 교환하기 시작했고, 이러한 패치를 관리하기 위한 포럼의 필요성을 빠르게 인식했습니다. 이로써 아파치 그룹이 탄생했고, 이후 NCSA를 기반으로 아파치를 탄생시켰다.
Apache 웹 서버 소프트웨어에는 다음과 같은 기능이 있습니다.
1. 최신 HTTP/1.1 통신 프로토콜을 지원합니다.
2 간단하고 강력한 파일 기반 구성 프로세스가 있습니다.
3 범용 게이트웨이 인터페이스를 지원합니다. . IP 기반 및 도메인 이름 기반 가상 호스트 지원
5. 다양한 HTTP 인증 방법 지원
6. Perl 처리 모듈 통합
7. 서버 상태 실시간 모니터링 지원 및 맞춤형 서버 로그
9. 서버 측 포함 명령 지원
10. SSL(Secure Socket Layer) 지원
11 FastCGI 지원
13. 타사 모듈을 통해
웹 서버를 선택할 준비가 되었다면 Apache가 최선의 선택이라는 데는 의심의 여지가 없습니다.
nginx 서버
Nginx(엔진 x)는 고성능 HTTP 및 역방향 프록시 웹 서버이며 IMAP/POP3/SMTP 서비스도 제공합니다. Nginx는 러시아에서 두 번째로 방문자가 많은 사이트인 Rambler.ru 사이트(러시아어: Рамблер)를 위해 Igor Sesoev에 의해 개발되었습니다. 공개 버전 1.19.6이 2020년 12월 15일에 출시되었습니다. BSD와 유사한 라이센스로 소스 코드를 릴리스하며 안정성, 풍부한 기능 세트, 간단한 구성 파일 및 낮은 시스템 리소스 소비로 유명합니다. 2022년 1월 25일에 nginx 1.21.6이 출시되었습니다. Nginx는 BSD와 유사한 프로토콜로 출시된 경량 웹 서버/역방향 프록시 서버 및 이메일(IMAP/POP3) 프록시 서버입니다. 그 특징은 메모리를 덜 차지하고 강력한 동시성 기능을 가지고 있다는 것입니다. 실제로 nginx의 동시성 기능은 동일한 유형의 웹 서버 중에서 더 나은 성능을 발휘합니다.
Nginx는 대부분의 Unix Linux OS에서 컴파일하고 실행할 수 있으며 Windows 포팅 버전도 있습니다. Nginx의 1.20.0 안정 버전이 2021년 4월 20일에 출시되었습니다. 일반적인 상황에서는 새로운 사이트의 경우 최신 안정 버전을 프로덕션 버전으로 사용하는 것이 좋습니다. 기존 사이트를 업그레이드할 필요성은 높지 않습니다. Nginx의 소스 코드는 2절 BSD와 유사한 라이센스를 사용합니다.
Nginx는 매우 강력한 고성능 웹 및 역방향 프록시 서비스입니다.
연결의 동시성이 높은 경우 Nginx는 Apache 서비스를 대체할 수 있는 좋은 대안입니다. 미국 호스트 비즈니스 소유자가 자주 선택하는 소프트웨어 플랫폼 중 하나입니다. 최대 50,000개의 동시 연결 응답을 지원할 수 있습니다. 개발 모델로 epoll 및 kqueue를 선택한 Nginx에게 감사드립니다.
apache와 nginx의 차이점은 무엇입니까?
1. 둘 사이의 핵심 차이점은 apache가 동기식 다중 프로세스 모델이고 하나의 연결이 하나의 프로세스에 해당하고 다중이라는 것입니다. 연결은 하나의 프로세스에 해당할 수 있습니다. nginx는 정적 파일을 잘 처리하고 메모리를 덜 소비합니다. 하지만 아파치가 여전히 현재의 주류이고 풍부한 기능을 많이 갖고 있다는 점에는 의심의 여지가 없습니다. 따라서 여전히 이에 상응할 필요가 있습니다. 물론, nginx가 요구 사항을 충족한다고 판단되면 nginx를 사용하는 것이 더 경제적인 방법이 될 것입니다.
2. nginx의 로드 용량은 Apache의 로드 용량보다 훨씬 높습니다. 최신 서버도 nginx를 사용합니다. 그리고 nginx의 구성을 변경한 후에는 구성에 문제가 있는지 -t 테스트할 수 있습니다.
3. Apache를 다시 시작하고 구성이 잘못된 것으로 확인되면 충돌이 발생합니다. 변경할 때 매우 주의해야 합니다. 이제 프런트엔드 nginx 동시성 방지 기능이 있습니다. 백엔드 아파치 클러스터와 협력도 좋습니다.
4. nginx가 동적 요청을 처리하는 것은 쓸모가 없습니다. 일반적으로 Apache는 동적 요청을 처리하는 데 필요하며 nginx는 정적 및 역방향 요청에만 적합합니다.
5. 경험상 nginx는 로드 성능이 좋은 매우 우수한 프런트엔드 서버입니다. nginx를 사용하면 10,000개의 정적 파일 요청을 쉽게 시뮬레이션할 수 있습니다. Apache는 PHP와 같은 언어에 대한 지원이 좋습니다. 또한 Apache는 nginx보다 오래 개발되었으며 버그가 적습니다. 그러나 Apache는 멀티 코어 처리 부하를 지원하지 않는다는 단점이 있습니다. . 프론트엔드와 백엔드에는 nginx를 사용하는 것이 좋습니다. 대규모 웹사이트의 경우 nginx의 클러스터 기능을 사용하는 것이 좋습니다.
6. 대부분의 경우 정적 파일 처리, PHP-CGI 지원, 역방향 프록시 기능, 프런트엔드 캐시, 연결 유지 관리 등에서 nginx가 APACHE보다 우수합니다. Apache+PHP(prefork) 모드에서 PHP 처리가 느리거나 프런트 엔드 부담이 높을 경우 Apache 프로세스 수가 급증하여 서비스 거부가 발생하기 쉽습니다.
7. Apache는 처리 역학 측면에서 장점이 있습니다. Nginx는 동시성이 뛰어나고 CPU 메모리 사용량이 적습니다.
8. 일반적으로 성능이 필요한 웹 서비스의 경우 nginx를 사용합니다. 성능은 필요 없고 안정성만 원한다면 아파치를 사용하세요.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 어떤 서버에 PHP를 배포할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!