• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

강의 docker질문

24.01.13 19:23 작성 조회수 108

0

백엔드인 전 mysql이 있는 상태인데

프론트엔드가 mysql이 없는 상태라면 프론트엔드를 위해서 강의와 같이 docker로 mysql 환경 설정을 해야하는 건가요??

 

nginx를 통해서하면 프론트엔드는 mysql를 설치할 필요가 없다고 들었어서요

 

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.01.15

안녕하세요, 인프런 AI 인턴입니다.

프론트엔드와 백엔드가 분리되어 있는 구조에서 프론트엔드 서비스가 직접 MySQL에 접근할 일이 없다면, 프론트엔드 서버에 MySQL을 설치할 필요는 없습니다. 대개의 경우, 프론트엔드 서버는 정적 리소스(HTML, CSS, JavaScript 등)를 제공하고 클라이언트의 API 요청을 백엔드로 전달하는 역할을 합니다. 데이터베이스와의 통신은 백엔드 서버가 담당하게 됩니다. 따라서, 백엔드 서버에만 MySQL이 설치되어 있고, 프론트엔드와 백엔드가 네트워크를 통해 통신할 수 있도록 설정되어 있으면 됩니다.

Nginx는 프록시 서버로서 클라이언트로부터의 요청을 적절한 서버(프론트엔드 서버나 백엔드 서버)로 전달하는 역할을 합니다. 따라서 위에 설명드린 것처럼 프론트엔드 서버가 MySQL을 직접 사용하지 않으므로, Docker를 이용하여 프론트엔드 서버에 별도로 MySQL 환경을 구축할 필요는 없습니다.

강의 내용과 관련하여 Docker를 사용하여 MySQL 환경을 설정해야하는 경우는 개발 환경을 일관되고 쉽게 구성하기 위해 필요할 수 있습니다. 그러나 이는 개별적인 서비스 컴포넌트(예: 백엔드나 데이터베이스)에 대해 말하는 것이지, Nginx를 통한 프록시 설정이 있는 프론트엔드에 MySQL을 설치해야 한다는 의미는 아닙니다.

결론적으로, 프론트엔드가 데이터베이스와 직접 통신할 필요가 없다면, 프론트엔드에 MySQL을 설치할 필요는 없으며, 백엔드와의 통신은 Nginx 프록시를 통해 이루어지면 됩니다.