개발자

flask+react 배포

2024년 11월 08일조회 88

안녕하세요. 서버를 구현해야하는 상황에 이제 막 백엔드를 공부하며 flask로 작업했습니다. 프론트는 react를 사용했구요. 한 프로젝트 폴더 내에 이 flask-server와 client 폴더를 만들었습니다. 이걸 배포하려는데 어떻게 해야하나요? 웹앱을 만들려면 electron을 사용해야할까요? 웹앱을 만들려면 어떻게 해야하는지, 웹앱이 힘들다면, 배포하기 가장 좋은 방법은 무엇인지 궁금합니다ㅠㅠ 마지막으로, 이 두개를 한번에 배포해도 괜찮은지, 나눠서 배포해야하는 건지도 알려주신다면 감사하겠습니다...!!!!!!!

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

개발자A님의 프로필 사진

결론적으로는 따로 배포해도 되고 한번에 배포해도 됩니다. 빌드배포 자동화를 하려면 CommandLine을 통해 폴더별로 이동하면서 npm build도 하고 Flask서버를 위한 구동도 하기 위한 스크립트는 작성을 하셔야 할 것 같습니다. [클라이언트 사이드의 경우] nginx 기준 'location /{...} 설정을 리액트의 /build 폴더로 잡으시면 클라이언트 접속은 무리 없이 될 것 같습니다. [백엔드 사이드의 경우] flask서버의 경우는 UWSGI 혹은 Gunicorn을 통해 실행시키면 될 거 같습니다. (이 백엔드 서버도 도메인 넣어 설정하실 거면 nginx 설정은 또 하셔야할 거 같습니다.) 어떻게 작업을 하셨는지 확실하게 알 수 없어 이런 식으로 밖에 답변드릴 수가 없군요....

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 11월 08일

Flask와 React를 함께 사용하는 애플리케이션을 배포하는 방법은 여러 가지가 있습니다. 1. **분리된 서버로 배포**: Flask API는 하나의 서버에서, React 앱은 다른 서버에서 독립적으로 실행될 수 있습니다. 이 경우 CORS 설정이 필요하며, 두 서버 간의 통신을 위해 HTTP 요청을 사용합니다. 이 방식은 각 부분을 개별적으로 스케일링하는데 유용할 수 있습니다. 2. **단일 서버로 합치기**: Flask와 React를 같은 서버에서 실행되도록 구성할 수도 있습니다. 이렇게 하려면 웹팩(Webpack) 등의 도구를 이용하여 React 앱을 빌드한 후, 그 결과물을 Flask 애플리케이션 내에 정적 파일로 제공할 수 있습니다. 실제 배포는 여러 가지 방법에 따라 다르겠지만, 일반적으로 다음과 같은 과정을 거칩니다: - **React 애플리케이션 빌드**: `npm run build` 명령어를 통해 최소화된 js/css/html 파일들로 빌드합니다. - **Flask 애플리케이션 설정**: 웹 사이트를 안전하게 호스팅하기 위하여 Flask APP 의세팅을 "production"으로 설정합니다. - **배포 서버 선택 및 설정**: AWS, Google Cloud, Heroku 등의 클라우드 서비스를 이용할 수 있으며, 각 서비스에 맞게 필요한 환경설정을 합니다. - **컨테이너화**: Docker를 이용하여 Flask와 React 애플리케이션을 컨테이너화 할 수 있습니다. 이 경우 환경문제를 최소화하고 배포 프로세스를 단순화 할 수 있습니다. 필요에 따라 Electron과 같은 도구를 사용하여 웹 앱을 데스크탑 어플리케이션으로 만들 수도 있지만, 모든 사용자가 설치해서 사용하기엔 번거롭기 때문에 주로 SaaS 제품에서 사용합니다. 한 번의 배포로 충분한 경우도 많지만, 개발 단계나 구조에 따라 분리해서 배포하는 것이 더 적합한 경우도 있습니다. 자신의 상황과 요구사항에 따라 가장 적절한 방법을 선택해야 합니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!