Docker Compose, Nginx 및 MariaDB를 사용하여 탄력적인 PHP 애플리케이션 아키텍처 구축
클라우드 컴퓨팅 및 컨테이너화 기술의 발전으로 탄력적인 애플리케이션 아키텍처 구축이 더욱 중요해졌습니다. 이 기사에서는 Docker Compose, Nginx 및 MariaDB를 사용하여 탄력적인 PHP 애플리케이션 아키텍처를 구축하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.
version: '3' services: web: image: nginx:latest restart: always ports: - 80:80 - 443:443 volumes: - ./nginx.conf:/etc/nginx/nginx.conf depends_on: - php php: image: php:latest restart: always volumes: - ./code:/var/www/html db: image: mariadb:latest restart: always environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=app - MYSQL_USER=appuser - MYSQL_PASSWORD=apppassword
위 구성 파일은 web, php, db의 세 가지 서비스를 정의합니다. 웹 서비스는 최신 Nginx 이미지를 사용하여 포트 80 및 443을 호스트에 매핑합니다. 웹 서비스는 또한 로컬 nginx.conf 파일을 컨테이너에 마운트하여 Nginx 구성을 사용자 정의합니다. PHP 서비스는 최신 PHP 이미지를 사용하고 로컬 코드 디렉터리를 컨테이너에 탑재하여 코드를 공유합니다. db 서비스는 최신 MariaDB 이미지를 사용하며 루트 사용자 및 앱 데이터베이스의 비밀번호가 설정됩니다.
worker_processes auto; pid /run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; server { listen 80; location / { proxy_pass http://php:80; proxy_set_header Host $host; } } }
위 구성 파일은 Nginx 작업자 프로세스 수와 Nginx가 수신 대기하는 포트 및 프록시 규칙을 지정합니다. 이 예에서 Nginx는 모든 요청을 PHP 컨테이너의 포트 80으로 프록시합니다.
docker-compose up -d
이 명령은 docker-compose.yml 파일의 구성에 따라 모든 컨테이너를 시작하고 관리합니다. . -d 매개변수를 추가하면 컨테이너가 백그라운드에서 실행됩니다.
php: image: php:latest restart: always volumes: - ./code:/var/www/html scale: 3
위 구성은 각각 동일한 코드와 구성을 가진 3개의 PHP 컨테이너를 생성합니다. 이러한 방식으로 더 많은 요청이 오면 Docker Compose는 요청을 자동으로 다른 PHP 컨테이너에 배포하여 확장을 달성합니다.
요약
이 기사에서는 Docker Compose, Nginx 및 MariaDB를 사용하여 탄력적인 PHP 애플리케이션 아키텍처를 구축하는 방법을 소개합니다. Docker Compose를 사용하면 여러 Docker 컨테이너를 쉽게 정의 및 실행할 수 있고, Nginx를 통해 요청 프록시 및 로드 밸런싱을 구현하고, MariaDB를 통해 애플리케이션 데이터를 저장할 수 있습니다. 또한 PHP 컨테이너 수를 늘려 애플리케이션을 확장하는 방법도 시연했습니다. 이 글이 도움이 되었기를 바라며, 궁금한 점이 있으시면 언제든지 문의해 주시기 바랍니다.
위 내용은 Docker Compose, Nginx 및 MariaDB를 사용하여 탄력적인 PHP 애플리케이션 아키텍처 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!