실습 | 웹 서비스 운영 모듈 작성하기
웹 서비스를 제공할 webapp 모듈을 작성해 봅시다. 웹 서버 설치, 설정 파일 변경, 웹 서비스 실행 코드를 직접 입력하는 대신 퍼팻 포지에서 웹 서버 모듈을 내려받고 웹 서비스 운영에 필요한 코드만 매니페스트 web.pp에 작성합니다.
퍼팻 코드를 작성할 때는 처음부터 전체 시스템에 적용할 코드를 입력하기보다 먼저 노드 하나에 적용해서 정상적으로 동작하는지 확인한 후 다른 여러 노드에 적용하는 순서가 일반적입니다. 여러 노드에 코드를 적용하는 과정에서 노드마다 다른 값을 반영하고자 매개변수를 이용해서 클래스를 작성합니다.
클래스에 값을 전달할 때 매개변수(parameter)를 사용합니다. 기본값으로 정의된 매개변수는 노드 선언에서 클래스를 호출할 때 재지정할 수 있습니다. 노드 vm01은 기본값을 적용하고, 노드 vm02는 매개변수로 호스트 이름과 포트 번호를 다르게 적용해 보겠습니다. 이렇게 해서 코드 중복을 피하고 모듈을 재활용할 수 있습니다.
마지막으로 퍼팻 코드로 워드프레스 웹 사이트를 운영합니다. 웹 서버의 PHP 기능을 활성화하기 위해 web.pp를 수정하고 퍼팻 포지에서 데이터베이스 모듈을 추가합니다. 데이터베이스를 생성하고, 초기화할 db.pp와 워드프레스 패키지 파일을 배포하여 시스템에 설치할 wp.pp를 작성합니다. 워드프레스를 이용한 웹 서비스를 여러 노드에서 동시에 운영하려고 하이라와 템플릿을 도입합니다. 전달해야 할 값이 많거나 복잡해서 체계적으로 관리하려면 매개변수 대신 하이라를 사용합니다. 퍼팻으로 배포할 파일 내용이 노드마다 달라져야 한다면 정적 파일 대신 템플릿을 사용합니다. 하이라 파일은 data 디렉터리에, 템플릿 파일은 templates 디렉터리에 작성합니다.
▲ 그림 12-17 웹 서비스 운영 모듈 작성