php-fpm 프로세스 관리를 사용하여 로드 밸런싱 달성

WBOY
풀어 주다: 2023-07-09 13:10:01
원래의
1055명이 탐색했습니다.

php-fpm 프로세스 관리를 사용하여 로드 밸런싱 달성

인터넷 애플리케이션의 복잡성이 증가하고 사용자 수가 증가함에 따라 로드 밸런싱은 필수 기술이 되었습니다. 로드 밸런싱의 목표는 트래픽을 여러 서버에 분산하여 시스템 안정성과 성능을 향상시키는 것입니다. PHP 애플리케이션에서 php-fpm(PHP FastCGI 프로세스 관리자)은 로드 밸런싱을 달성하고 유연한 구성 옵션을 제공하는 데 사용할 수 있는 일반적인 프로세스 관리 도구입니다.

이 글에서는 php-fpm 프로세스 관리 도구를 사용하여 로드 밸런싱을 달성하는 방법을 소개하고 몇 가지 코드 예제를 제공합니다.

1. php-fpm 설치

먼저 서버에 php-fpm이 설치되어 있는지 확인해야 합니다. 다음 명령을 통해 php-fpm이 설치되었는지 확인할 수 있습니다.

$ php-fpm -v
로그인 후 복사

다음과 유사한 출력이 표시되면 php-fpm이 성공적으로 설치된 것입니다.

PHP 7.4.9 (fpm-fcgi) (built: Jul 16 2020 21:48:32)
로그인 후 복사

php-fpm이 설치되지 않은 경우 설치할 수 있습니다. 다음 명령을 통해:

$ sudo apt-get install php-fpm
로그인 후 복사

2. php-fpm 구성

로드 밸런싱을 구현하기 전에 php-fpm을 구성해야 합니다. 여기에는 주로 다음과 같은 측면이 포함됩니다.

  1. 가상 호스트 구성

/etc/php/{version}/fpm/pool.d/ 디렉토리에서 가상 호스트 구성을 위해 vhost1.conf라는 새 구성 파일을 생성합니다. 샘플 구성은 다음과 같습니다.

[vhost1]
user = www-data
group = www-data
listen = /var/run/php/vhost1.sock
listen.owner = www-data
listen.group = www-data
로그인 후 복사

그 중 user 및 group은 가상 호스트가 실행되는 사용자 및 그룹을 지정하고, listening은 php-fpm이 수신할 소켓 경로를 지정합니다.

  1. 프로세스 관리 구성

/etc/php/{version}/fpm/pool.d/ 디렉터리에서 프로세스 관리 구성을 위한 www.conf라는 구성 파일을 찾습니다. 샘플 구성은 다음과 같습니다.

[www]
pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
로그인 후 복사

그중 pm 구성 항목은 프로세스 관리 모드를 동적 모드로 지정하고, pm.max_children은 최대 하위 프로세스 수를 지정하고, pm.start_servers는 pm 시작 하위 프로세스 수를 지정합니다. min_spare_servers 및 pm.max_spare_servers는 유휴 하위 프로세스 수를 지정합니다.

  1. 기타 구성 항목

위의 두 가지 주요 구성 외에도 실제 필요에 따라 메모리 제한, 시간 초과 등 몇 가지 다른 옵션을 구성할 수도 있습니다.

3. 로드 밸런싱 구현

php-fpm 구성이 완료되면 이를 사용하여 로드 밸런싱을 수행할 수 있습니다. 구체적인 단계는 다음과 같습니다.

  1. nginx와 같은 웹 서버 구성에서 여러 php-fpm 소켓에 역방향 프록시를 구성합니다. 예는 다음과 같습니다.
location / {
    proxy_pass unix:/var/run/php/vhost1.sock;
}

location /vhost2/ {
    proxy_pass unix:/var/run/php/vhost2.sock;
}
로그인 후 복사
  1. php-fpm 프로세스 시작
$ sudo systemctl start php7.4-fpm
로그인 후 복사
  1. 로드 밸런싱 효과 테스트

간단한 PHP 스크립트를 작성하여 로드 밸런싱 효과를 테스트할 수 있습니다. 샘플 코드는 다음과 같습니다.

<?php
echo "Hello, World!
";
echo "Server IP: " . $_SERVER['SERVER_ADDR'] . "
";
?>
로그인 후 복사

IV.이 기사에서는 php-fpm 프로세스를 사용하는 방법을 소개합니다. 로드 밸런싱을 달성하기 위한 관리를 제공하고 일부 구성 예제와 코드 예제를 제공합니다. php-fpm 프로세스 관리 도구와 웹 서버를 올바르게 구성하면 로드 밸런싱을 달성하고 시스템의 안정성과 성능을 향상시킬 수 있습니다. 실제 애플리케이션에서는 캐싱, 데이터베이스 샤딩 등과 같은 다른 기술과 결합하여 로드 밸런싱 효과를 더욱 최적화할 수도 있습니다.

위 내용은 php-fpm 프로세스 관리를 사용하여 로드 밸런싱 달성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!