>백엔드 개발 >PHP 튜토리얼 >Nginx와 PHP의 두 가지 배포 방법 비교

Nginx와 PHP의 두 가지 배포 방법 비교

WBOY
WBOY원래의
2016-07-29 09:12:531011검색

2가지 배포 방법 소개

첫 번째 방법

  • HTTP 역방향을 위한 nginx 서버 준비 웹 제공 프록시 및 로드 밸런싱
  • 뒤에 있는 N 서버의 Nginx에 서비스를 제공하고 php-fpm에서 제공하는 빠른 cgi 서비스를 호출합니다
  • 이 배포 방법은 가장 일반적인 웹 서비스 및 PHP 서비스입니다. 둘 다 같은 서버에 배치

두 번째 유형

  • 웹 서비스를 위해 nginx 서버가 전면에 배치됩니다
  • 뒤로 서버는 nginx 서버가
  • 앞에 하나의 nginx 서버를 호출할 수 있도록 php-fpm 서비스만 배포합니다. 나중에 여러 php-fpm 서비스를 호출할 때 로드 밸런싱도 달성할 수 있습니다

아래와 같습니다.

Nginx 和 PHP 的两种部署方式比较

비교

시스템 설계 관점에서

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

두 번째 방법은 서로 다른 서버에 서로 다른 서비스를 배포하는 것인데, 좀 더 구체적입니다. 하지만 몇 가지 문제도 있습니다.

  • 프런트엔드 nginx는 웹 서비스 역할을 합니다. 정적 리소스에 대한 액세스, 압축 전송, 캐시 설정 등도 이 서버에 집중되어 있습니다. 많은 압박감이 있을 것이고 쉽게 병목 현상이 발생할 수 있습니다.
  • 정적 리소스가 CDN에 저장되어 있고 HTTP 압축 전송이 필요하지 않은 경우 이 배포 방법은 상당히 합리적입니다.
  • 위의 두 가지 사항에 맞춰 이 배포 방법도 최적화할 수 있습니다. 예를 들어 nginx 로드 밸런싱과 역방향 프록시가 앞에 배치되고, nginx 웹 서비스가 중간에 배치되고, php-fpm 서비스가 뒤에 배치됩니다.

성능 측면에서

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

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

첫 번째 배포인 네트워크를 통해 상호작용하는 것은 HTTP 프로토콜이고, 두 번째 배포 유형은 fast-cgi 프로토콜입니다.

  • 빠른 cgi 데이터 패킷은 HTTP보다 약간 크며, 빠른 cgi 프로토콜은 HTTP보다 더 많은 매개변수 정보, 전송 제어 정보 등을 전달합니다.
  • 빠른 cgi 프로토콜은 HTTP 프로토콜보다 형식이 더 엄격하며 구문 분석이 더 빠릅니다.

운영 및 유지 관리 관점에서

  • 첫 번째는 가장 일반적인 배포 방법으로 간단하고 통합된 모든 서버가 웹 서비스 웹 사이트의 서비스는 모두 동일하고 단조로우며 광범위합니다.

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

개발 및 테스트 관점에서

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

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

요약

LAMP 환경 배포라면 첫 번째 유형이 더 일반적이다.

LAMP가 아닌 경우 C/C++ 및 Java fastcgi 프로그램과 같은 다른 fastcgi 서비스와 상호 작용하는 nginx입니다. 대규모 네트워크 애플리케이션에서는 두 번째와 유사한 배포가 일반적입니다. 다양한 서비스를 별도로 배포하면 시스템의 네트워크 구조가 단순화되고 유지 관리가 더 쉬워집니다.

후기

이 블로그 게시물의 내용은 모두 QQ 그룹에서 이전 Baidu 동료들과 논의한 내용을 바탕으로 작성되었습니다.

재인쇄할 경우 출처를 명시해 주세요

블로그 홈페이지: Zuocheng의 기술 블로그

기사 제목: "Nginx PHP의 두 가지 배포 방법 비교》

이 기사 링크: http://it.zuocheng.net/compare-2-nginx-php-deployee-mode-zh


이상에서는 관련 측면을 포함하여 Nginx와 PHP의 두 가지 배포 방법에 대한 비교를 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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