오늘 한 일 정리

1. 내부망 파일 서버와 스트리밍 서버 구성

  • 파일 서버(NFS): /share 디렉토리를 NFS export하여 스트리밍 서버에서 /mnt/nfs로 마운트 완료
  • 스트리밍 서버(Nginx):
    • Nginx 설치 및 /mnt/nfs/movie 경로를 HTTP로 스트리밍할 수 있도록 설정
    • m3u8와 ts 파일 제공을 위해 MIME 타입 설정 추가

2. Spring Boot + JPA로 백엔드 API 구축

  • Spring Boot 프로젝트 생성
  • MariaDB 연동 (192.168.0.108:3306)
  • Movie 엔티티, MovieRepository, MovieService, MovieController 작성
  • /api/movies, /api/movies/{id} API 정상 동작 확인
  • Vue 프론트엔드에서 호출할 수 있도록 /api/ 하위 URL 구조에 맞게 설정

3. 프론트엔드(Vue)와 백엔드(Spring Boot) 연동

  • 기존 목데이터 제거
  • API 호출 (getAllMovies, getMovieById) 로 실제 DB 데이터 가져오기
  • Hero 배너 및 HorizontalRow(영화 목록) 정상 출력

4. Spring Boot Logging 설정

  • application.properties에 로그 경로 및 레벨 추가
logging.file.name=/var/log/tomcat/app.log
logging.level.root=INFO
  • 서버 로그가 /var/log/tomcat/ 경로로 기록되게 설정

5. 웹서버 및 부하분산(HAProxy) 준비

  • WEB 서버 추가 생성
  • 향후 HAProxy를 통해 두 WEB 서버(Nginx)로 라운드로빈 방식 부하분산 예정

메인화면
영상재생
영상2

앞으로 해야 할 일 (To-Do)

1. CDN 서버 구성

  • 정적 파일(썸네일 이미지, JS/CSS 파일 등)을 캐싱할 CDN 서버 구성
  • Vue 빌드 파일과 이미지 파일을 Nginx 기반 캐시 서버로 서비스
  • Cache-Control 헤더 설정 (속도 최적화)

2. 보안 점검

  • 각 서버 방화벽(firewalld) 점검
    • 필요 없는 포트 차단
    • 오픈해야 할 포트만 명시적으로 허용 (예: 22, 80, 8080 등)
  • SELinux 정책 점검
  • DB 서버는 외부 접속 차단하고 WEB 서버에서만 접근 가능하게

3. 각자 한 부분들 문서화

  • 포트폴리오, PPT에 넣을 자료 준비
  • 각자 맡은 파트 정리해서 문서화

4. 트랜스코딩 서버 구축 (우선순위 낮음)

  • FFmpeg 설치
  • 업로드한 MP4 파일을 자동으로 HLS(m3u8, ts) 포맷으로 변환하는 기능 구현
  • API 또는 CLI 명령어 기반 트랜스코딩 워크플로우 추가

 

그래도 VM에서의 개발환경이 익숙하지 않아서 그랬지 조금씩 익숙해지니 수월하게 개발할 수 있었다.

WEB, WAS 요청들이 들어왔을 때 로그가 찍히고 카프카를 통해 한 곳에서 보니까 뭔가 엄청난 걸 한 거 같은 기분

+ Recent posts