오늘날의 웹 개발에서 플러그인 시스템의 사용은 PHP 응용 프로그램의 기능을 확장하는 중요한 방법이되었습니다. 컨테이너화 된 배포를 통해 확장 가능한 개발 환경을 빠르고 유연하게 구축 할 수 있습니다. 이 기사는 Docker Compose를 사용하여 Nginx와 MariaDB를 결합하여 플러그인 확장을 지원하는 PHP 환경을 구축하는 방법을 보여줍니다.
먼저 Docker와 Docker Compose가 시스템에 올바르게 설치되어 있는지 확인하십시오. 설치가 완료되면 다음 명령으로 확인하십시오.
Docker- 전환 Docker-Compose-Version
프로젝트 루트 디렉토리에서 docker-compose.yml 파일을 만들고 다음을 추가하십시오.
버전 : '3' 서비스 : 편물: 짓다: 문맥: . dockerfile : dockerfile 볼륨 : -. :/var/www/html 포트 : -8080 : 80 모래밭: -DB DB : 이미지 : Mariadb 환경: mysql_root_password : 비밀
이 구성은 PHP 런타임 환경 (웹) 및 데이터베이스 서비스 (DB)의 두 가지 서비스를 정의합니다. PHP 서비스는 Nginx를 통해 외부에 대한 액세스 인터페이스를 제공합니다.
새 dockerfile 파일을 작성하고 다음을 작성하십시오.
PHP에서 : 7.4-fpm docker-php-ext-install pdo_mysql을 실행하십시오
이 이미지는 PHP 7.4를 사용하며 PDO_MYSQL 확장을 사전 설치했습니다. 프로젝트 요구에 따라 더 많은 PHP 플러그인을 추가 할 수 있습니다.
다음 내용으로 프로젝트 디렉토리에서 nginx 구성 파일 Default.conf를 만듭니다.
서버 { 80; 인덱스 index.php index.html; Server_Name LocalHost; 루트/var/www/html; 위치 / { try_files $ $ uri $ uri / / index.php?$ args; } 위치 ~ .php $ { fastcgi_params 포함; FASTCGI_PASS 웹 : 9000; FASTCGI_PARAM SCRIPT_FILENAME $ DOCUTED_ROOT $ FASTCGI_SCRIPT_NAME; FASTCGI_PARAM PATH_INFO $ FASTCGI_PATH_INFO; } }
이 구성은 기본 요청 전달 및 PHP 구문 분석 로직을 구현하여 PHP 파일에 액세스 할 때 PHP-FPM 컨테이너가 처리되도록합니다.
프로젝트 루트 디렉토리에서 다음 명령을 실행하십시오.
Docker -Compose Up -D
이 명령은 구성에 따라 필요한 컨테이너를 빌드하고 시작합니다.
그래픽 데이터베이스 도구를 사용하여 DBeaver, Navicat 또는 Phpmyadmin과 같은 MariaDB에 연결할 수 있습니다. 연결 정보는 다음과 같습니다.
호스트 : LocalHost 포트 : 3306 사용자 이름 : 루트 비밀번호 : 비밀
/var/www/html 디렉토리에 PHP 코드를 작성하면 모든 파일이 Nginx에서 자동로드 및 처리됩니다. 이 환경에서 플러그인 기능을 테스트하고 데이터베이스 연결을 처리하고 REST API를 구축 할 수 있습니다.
Docker Compose, Nginx 및 MariaDB를 결합함으로써 빠른 반복과 강력한 플러그인 확장 기능이 필요한 개발 시나리오에 적합한 가볍고 효율적인 PHP 개발 환경을 구축 할 수 있습니다. 컨테이너의 유연성으로 개발자는 기본 운영 환경을 성가 시게하지 않고도 비즈니스 로직 및 플러그인 기능 구현에 더 집중할 수 있습니다.
이 솔루션은 고도로 사용자 정의 가능하며 프로젝트 요구 사항에 따라 확장 및 최적화 될 수 있으며 지역 개발 테스트 및 팀 협업 개발 프로세스에 적합합니다.