>운영 및 유지보수 >엔진스 >Nginx와 PHP의 배포 방법은 무엇입니까

Nginx와 PHP의 배포 방법은 무엇입니까

王林
王林앞으로
2023-05-18 23:43:231289검색

2가지 배포 방법 소개

첫 번째

  • http 역방향 프록시 및 로드 밸런싱을 위한 앞에 1개의 nginx 서버

  • 뒤에 있는 n개의 서버의 nginx는 웹 서비스 및 호출을 수행합니다. php -fpm에서 제공하는 빠른 cgi 서비스

  • 웹 서비스와 PHP 서비스가 모두 동일한 서버에 배포되는 것이 가장 일반적입니다

두 번째 유형

  1. nginx 서버 앞쪽에 웹 서비스를 하세요

  2. 뒤쪽 서버는 nginx 서버에서 호출되는 php-fpm 서비스만 배포합니다.

  3. 앞쪽에 nginx 서버가 설치되어 있습니다. 나중에 여러 php-fpm 서비스를 호출할 때는 로드하세요. 밸런싱도 가능합니다

아래와 같이

Nginx와 PHP의 배포 방법은 무엇입니까

비교

시스템 설계 관점에서

첫 번째 배포 방법은 기존 배포 방법으로 대형, 중형, 소형에 모두 적용할 수 있습니다. 규모의 웹사이트.

두 번째 방법은 서로 다른 서버에 서로 다른 서비스를 배포하는 것인데, 더 자세히 설명되어 있습니다. 하지만 몇 가지 문제도 있습니다.

  • 프런트엔드 nginx는 웹 서비스 역할을 합니다. 모든 정적 리소스 액세스, 압축 전송 및 캐싱 설정은 이 서버에 중앙 집중화됩니다. 많은 압박감이 있을 것이고 쉽게 병목 현상이 발생할 수 있습니다.

  • 정적 리소스가 모두 CDN에 저장되어 있고 HTTP 압축 전송이 필요하지 않은 경우 이 배포 방법은 상당히 합리적입니다.

  • 위의 두 가지 사항에 맞춰 이 배포 방법도 최적화할 수 있습니다. 전면에 로드 밸런싱 및 역방향 프록시 계층이 있고 중앙에 Nginx 웹 서버가 있고 그 뒤에 PHP-FPM 서비스가 배포됩니다. 성능 측면에서

두 번째 배포 방법에 비해 첫 번째 방법에는 프로세스 간 상호 작용이 한 번 더 필요합니다.

  1. 첫 번째 배포에 따르면 http 요청이 오면 먼저 nginx 역방향 프록시가 이를 nginx 웹 서비스(네트워크를 통해)로 전달하고 웹 서비스는 fastcgi 프로토콜을 통해 php-fpm과 상호 작용합니다(inter--

  2. 두 번째 배포에 따르면 http 요청이 오면 웹 서비스 역할을 하는 nginx가 네트워크를 통해 php-fpm과 직접 상호 작용합니다

첫 번째 배포에서는 http 프로토콜 두 번째로 네트워크를 통해 상호작용하는 것은 fast-cgi 프로토콜입니다. 이 두 프로토콜은 어떻게 비교됩니까?

빠른 cgi 데이터 패킷은 http보다 약간 크며, 빠른 cgi 프로토콜은 http보다 더 많은 매개변수 정보, 전송 제어 정보 등을 전달합니다. 빠른 cgi 프로토콜은 http 프로토콜보다 형식이 더 엄격하며 구문 분석이 더 빠릅니다. 운영 및 유지 관리 관점에서 볼 때

첫 번째는 가장 일반적인 배포 방법으로 간단하고 통일되어 있습니다. 웹 서비스를 제공하는 모든 서버의 서비스는 단조롭고 광범위합니다.

두 번째는 nginx와 php-fpm을 별도로 배포하는 것이며, 서버 클러스터에 다양한 서비스를 배포하는 방법이 더 자세히 설명되어 있습니다. 웹 서비스의 압력 분포를 계산하면 하드웨어 자원을보다 정확하게 활용할 수 있습니다. 운영 및 유지 관리 비용도 더 높습니다.

개발 및 테스트 관점에서

두 배포 방법 모두 개발 또는 테스트 환경에 적합하지 않습니다.

개발 및 테스트 환경에서는 nginx와 php를 하나의 서버에 배포할 수 있으며 역방향 프록시와 로드 밸런싱이 필요하지 않습니다.

위 내용은 Nginx와 PHP의 배포 방법은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제