26.10.2015 Views

Modern PHP - 맛보기 PDF

조시 록하트 저 | 정병렬 역 | 한빛미디어 | 2015년 10월 | 22,000원

조시 록하트 저 | 정병렬 역 | 한빛미디어 | 2015년 10월 | 22,000원

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

기본적으로 카피스트라노는 한 애플리케이션이 다양한 환경에서 실행된다고 간주한다. 예를<br />

들어 스테이징 환경과 프로덕션 환경이 분리되어 있다면 애플리케이션도 두 환경에 모두 배포<br />

되어야 한다. 카피스트라노는 각 환경별로 설정 파일을 제공하며 이 설정 파일들은 config/<br />

deploy/ 디렉터리에 있다. 또한 config/deploy.rb 파일에는 모든 환경에 공통적으로 적용되<br />

는 설정이 있다.<br />

카피스트라노는 각 환경을 구성하는 서버들을 서버 역할이라는 개념으로 분류한다. 예를 들면<br />

프로덕션 환경은 최전방 웹 서버(web 역할), 애플리케이션 서버(app 역할), 데이터베이스 서<br />

버(db 역할)로 구성된다. 이런 구조는 대규모 애플리케이션에만 사용되며 소형 <strong>PHP</strong> 애플리<br />

케이션 환경에서는 일반적으로 웹 서버(엔진엑스), 애플리케이션 서버(<strong>PHP</strong>-FPM), 데이터<br />

베이스 서버(마리아DB MariaDB )가 모두 하나의 장비에서 실행된다.<br />

앞으로 실습할 예제에서는 web 역할만 사용하고 app과 db 역할은 무시한다. 서버 역할을 활용<br />

하면 배포 작업을 구분하고 특정 역할에 속한 서버에서만 실행되도록 구성할 수 있다. 여기서<br />

는 서버 역할에 대해서는 다루지 않지만 서버 환경에 대한 개념은 준수할 것이다. 앞으로 나올<br />

과정들은 프로덕션 환경을 대상으로 하며, 다른 환경(예: 스테이징 staging 또는 테스팅 testing )에도<br />

동일하게 적용할 수 있다.<br />

config/deploy.rb 파일<br />

config/deploy.rb 파일을 살펴보자. 이 파일에 지정된 설정들은 모든 환경(예: 스테이징과<br />

프로덕션)에 공통적으로 적용된다. 카피스트라노 설정 대부분이 이 파일에 있다. 즐겨 쓰는 편<br />

집기로 config/deploy.rb 파일을 열고 다음 설정들을 수정해보자.<br />

● :application<br />

<strong>PHP</strong> 애플리케이션명을 지정한다. 애플리케이션명에는 문자, 숫자, 밑줄만 사용할 수 있다.<br />

● :repo_url<br />

깃 저장소 URL을 지정한다. 올바른 깃 저장소 URL이어야만 하며 원격 서버에서 접근할 수 있어야 한다.<br />

● :deploy_to<br />

<strong>PHP</strong> 애플리케이션이 배포될 원격 서버의 디렉터리 절대 경로를 지정한다. [예제 9 -1]에서는 /home/<br />

deploy/apps/my_app을 사용한다.<br />

● :keep_releases<br />

이전 배포 버전을 몇 개까지 보관할 것인지 지정한다. 보관된 버전들은 애플리케이션을 이전 버전으로 되돌릴<br />

때 사용된다.<br />

9장 배포<br />

77

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!