데이터베이스 로드 밸런싱 및 확장을 달성하는 PHP 방법

王林
풀어 주다: 2023-05-15 20:54:02
원래의
1008명이 탐색했습니다.

인터넷 신청 횟수와 방문 횟수가 계속 증가하는 현재 환경에서 어떻게 하면 데이터베이스의 로드 밸런싱 성능을 향상시킬 수 있는지가 모든 기술자의 관심사가 되었습니다. 그 중 PHP는 널리 사용되는 개발 언어로, 데이터베이스 로드 밸런싱과 확장을 어떻게 달성할 것인가가 화제가 되고 있습니다.

이 기사에서는 실제 애플리케이션 경험을 결합하여 환경 준비 방법, LNMP 구성 방법, 로드 밸런싱 구현 방법을 포함하여 PHP를 사용하여 데이터베이스 로드 밸런싱 및 확장을 달성하는 방법을 소개합니다.

  1. 환경 준비

데이터베이스 로드 밸런싱 확장을 수행하기 전에 충분한 수의 서버와 하드웨어 구성이 있는지 확인해야 합니다. 단일 장애 지점을 방지하려면 로드 밸런서와 데이터베이스 서버를 분리하는 것이 좋습니다. 용량 확장을 위해서는 서버에 네트워크 설정과 하드웨어를 구성하고 필요한 소프트웨어와 도구를 설치해야 합니다.

  1. LNMP 구성

환경이 준비되면 아래 단계에 따라 LNMP를 설치할 수 있습니다.

먼저 Linux 시스템을 설치합니다. 안정적인 버전의 CentOS 또는 Ubuntu를 사용하는 것이 좋습니다.

둘째, Apache, PHP, AMP인 MySQL을 설치합니다. yum 또는 apt-get과 같은 패키지 관리자를 사용하여 설치하도록 선택할 수 있습니다.

셋째, Nginx를 설치합니다. 다음 명령을 사용하여 설치할 수 있습니다.

yum install nginx
로그인 후 복사

넷째, 구성 파일을 설치합니다.

구성 파일을 설치하기 전에 PHP 테스트 파일을 만들어야 합니다. 다음과 같이

<?php
phpinfo();
?>
로그인 후 복사

그런 다음 파일을 서버의 DocumentRoot 디렉터리에 저장하고 다음 명령을 사용할 수 있습니다.

cd /usr/local/nginx/html
vi phpinfo.php
로그인 후 복사

열린 파일에 다음 코드를 추가합니다.

location / {
  root html;
  index index.php index.html index.htm;
}
location ~ .php$ {
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME /srv/www/htdocs$fastcgi_script_name;
  include fastcgi_params;
}
로그인 후 복사

파일을 저장하고 닫습니다.

이후 PHP 테스트 파일을 Apache에서 Nginx의 테스트 디렉터리로 다음과 같이 옮깁니다.

mv /usr/local/apache/htdocs/phpinfo.php /usr/local/nginx/html
로그인 후 복사

마지막으로 서비스를 시작하고 테스트합니다.

Apache 및 Nginx 다시 시작:

/etc/init.d/httpd restart
/etc/init.d/nginx restart
로그인 후 복사

다음과 같이 브라우저에서 Nginx 테스트 파일을 엽니다.

http://IPAddress/phpinfo.php
로그인 후 복사

는 PHP 설치 정보를 표시하여 LNMP 환경이 성공적으로 설정되었음을 증명합니다.

  1. 로드 밸런싱 달성

LNMP 환경 구성을 완료한 후에는 로드 밸런싱을 구성해야 합니다.

먼저 두 개의 웹 서버를 포함하는 "php"라는 클러스터를 만듭니다. Nginx의 구성 파일을 열고 다음 코드를 추가합니다.

http {
  upstream php_backend {
    server localhost:8888 weight=1;
    server localhost:9999 weight=2;
  }
}
로그인 후 복사

위 코드는 "php_backend"라는 클러스터를 생성하고 localhost가 두 개의 웹 서버(localhost:8888 및 localhost:9999)를 가리키는 데 사용됩니다. 그 중 가중치=2는 가중치=1인 서버에 비해 서버의 가중치가 높다는 의미, 즉 클라이언트 요청에 응답할 서버로 선택될 확률이 높다는 의미이다.

두 번째로 Nginx HTTP 서버를 열고 클러스터의 로드 밸런서를 Vhost에 추가합니다.

server {
  listen 80;
  server_name localhost;
  location / {
    proxy_pass http://php_backend;
  }
}
로그인 후 복사

위 코드는 Nginx HTTP 서버를 활성화하고 클러스터 로드 밸런서를 Vhost에 추가하여 두 개의 웹 서버에 요청을 배포하는 데 사용됩니다. . 물론 여러 웹 서버를 클러스터에 추가할 수도 있습니다.

마지막으로 Nginx를 다시 시작하여 구성을 적용합니다.

/etc/init.d/nginx restart
로그인 후 복사

위 단계를 완료한 후 로드 밸런서는 로드 밸런싱을 달성하기 위해 가중치에 따라 웹 서버에 요청을 자동으로 배포합니다.

간단히 말하면, PHP를 사용하여 데이터베이스 로드 밸런싱 확장을 달성하면 선형 확장 성능과 애플리케이션의 안정성을 크게 향상시킬 수 있습니다. 위의 단계를 통해 LNMP 환경을 사용하여 로드 밸런싱을 수행하는 방법을 이해하셨으리라 믿습니다. 이 글이 여러분에게 도움이 되기를 바랍니다.

위 내용은 데이터베이스 로드 밸런싱 및 확장을 달성하는 PHP 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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