Bulletin_Board_Service - 트러블 슈팅

Dongwoo Kim·2022년 9월 6일
0

원티드 - 프리온보딩
Bulletin_Board_Service
트러블 슈팅


프로젝트 소개

Bulletin_Board_Service


유저가 등급에 따라 게시글을 작성할 수 있는 서비스

MVP

유저가 등급에 따라 게시글을 작성할 수 있는 서비스로 아래와 같은 기능을 제공

주요 기능

  • 유저의 등급 ; 관리자, 운영자, 일반사용자
  • 게시판의 타입 ; 공지사항, 운영게시판, 자유게시판
  • 공지 게시판 : 조회 - All, 작성/수정/삭제 - 운영자
  • 운영 게시판 : 조회/작성 - 운영자, 수정/삭제 - 작성자
  • 자유 게시판 : 조회 - All, 작성-회원, 수정-작성자, 삭제-작성자/운영자
  • 통계 기능 : 남/여, 나이별, 접속시간별

기술 스택

Python3 Django PostgreSQL Docker EC2 RDS

Github

https://github.com/PreOnBoarding/Bulletin_Board_Service


트러블 슈팅

1. Ubuntu 환경에서 nginx컨테이너가 계속 꺼지는 현상이 발생 같은 문제로 IP주소가 로컬주소로 연결되기도 하였음

원인

  • nginx.conf 작성시 문법이 틀렸고 프록시패스도 정확하지 않게 설정되어 있었음.
  • listen:80 에서 ':' 을 사용하였던 점.
  • 프록시 패스에 upstream을 사용해 불러왔는데, 불러온 이름을 사용하지도 않았고 문법 자체도 오류가 있었음.

해결

  • docker-compose up 하여 로그를 확인해가며 어느 구간에서 오류가 발생했는지 확인 listen 80 으로 바꿔줌
  • upstream 을 삭제해주고 프록시패스를 http://app:8000 으로 직접적으로 설정함

2. 접근 권한을 로직을 작성하여서 만들다보니, 매번 로직을 해석을 해야한다는 문제점이 있었음

원인

  • 함수를 타고 들어갈 때 마다, 쿼리를 접속하는 로직이 있었음 이게 어떤 역할을 하는 로직인지를 볼 때마다 파악을 해야 했음

해결

  • 같은 로직을 함수로 대체하였고, 함수 이름을 어떠한 로직인지에 대한 설명으로 대체를 하였음

3. 작업시에 통일성이 없는 습관들이 반영된 코드들이 있었음. 예를 들어 class 사이에 어떤 줄은 enter키가 한번, 어떤 줄은 두번 같은 상황 발생

원인

  • 사전에 팀의 작업방식을 몰랐기에 발생

해결

  • 팀원의 의견을 반영하여 최대한 깔끔한 작업물을 내기 위하여 노력

4. RDS 데이터베이스 연결이 되질 않음

원인

  • EC2 인스턴스의 보안그룹 미설정

해결

  • RDS 생성시 엔진에 맞는 포트를 EC2 인스턴스에 보안그룹을 설정해주어 연결 완료.
  • 인바운드규칙 5432 Postgre 설정.
profile
kimphysicsman

0개의 댓글