0502 세번째 미니프로젝트 끝

Ada·2022년 5월 3일
0

Playdata-Cloud

목록 보기
14/21

Ansible playbook과 yml 언어를 사용해서 2대의 서버를 각각 Web, DB 서버로 나누어 워드프레스를 올려보았습니다. Web 서버와 DB 서버에서 서로 통신이 되기 위해서는 연결고리가 필요합니다. 본 프로젝트에선 Apache2 와 PHP 를 사용했습니다. 또한 MySQL 로 데이터베이스를 관리하였습니다. 하나의 서버가 다른 서버와 통신하기 위해서는 항상 방화벽이 열려있어야 하며 필요한 서비스마다 열어야 하는 포트 넘버가 달랐습니다. 방화벽은 firewalld 서비스를 통해 열어주었습니다. Web 서버와 DB 서버는 관리노드인 ansi-master 에서 플레이북을 작성해 생성해주었습니다. 플레이북을 작성하면서는 변수 설정, 태그 지정, 반복문, apt와 firewalld 등의 서비스, replace 등의 명령어를 실행하였습니다. 이를 통해 기본적인 플레이북과 yaml 문법을 익힐 수 있었습니다. 로컬에서의 통신 뿐 아니라 http 환경에서 통신하기 위해서는 Apache 의 많은 설정들을 바꿔주어야 했습니다. 플레이북을 작성하는것은 ansi-master 이지만 파일들이 설치되고 실행되는 곳은 제어노드들(ansi-node1, ansi-node2) 이므로 설정 변경은 노드에 ssh를 통해 해당 노드에 접속해 수행해야 했습니다.
가상호스트를 이용하면 한 서버에서 여러 웹사이트를 서비스 할 수 있습니다. 본 프로젝트에서는 포트기반 가상호스트를 생성하였습니다. 가상호스트를 생성하기 위해서는 템플릿 파일을 작성해야 하는데 Ansible의 템플릿에는 Python's Jinja2 템플릿 엔진에 기반한 템플릿 변수들을 담을 수 있습니다. 그래서 j2 확장자의 파일을 생성 한 뒤 플레이북에 저장하여 연결했습니다. 포트 넘버를 열어 준 뒤에는 꼭 Apache 서비스를 재시작 해야 했습니다.


주말까지 장장 8일에 걸친 세번째 미니프로젝트가 끝났다!!!

팀플은 처음이였는데, 단 둘 뿐이지만 팀플이라는 생각 때문에 더 책임감이 생기고 부담감도 컸던 것 같다.

앤서블이라는 언어... 처음부터 끝까지 나에겐 너무나도 낯설고 어려웠다..... 앞으로도 사용 할 수 있을지가 의문이다...

아무튼 프로젝트 끝내고 나니 후련하다!!!

profile
백엔드 프로그래머

0개의 댓글