현재 버전

1. 전체적인 설명입니다.

nginx django vue 기반으로 배포까지 끝냈습니다.

django나 스프링도 비슷하다 생각하고 결론부터 이야기드릴게요.

실제로 유저와의 통신은 스프링 8080포트로 하는겁니다.

8080포트에서 요청이 들어가고 static 파일이 필요하면 리액트 3000포트에서 가져와서 쓰는거구요.

webpack 번들링 통해서 핫스왑 적용했더라면 그게 메모리에 올라가서 바로바로 적용이 되겠죠.

이걸 배포할때는 8080포트에서 static 파일을 가져오는 정의부가 있을건데,

제 경우는 그 경로를 요청하는걸 nginx쪽에서 reverse proxy를 써서 가져올 수 있도록 했습니다.

static 파일은 aws s3에 올렸구요. 그쪽에 안올리고 프로덕트 서버 특정 경로에 올려도됩니다.


하나씩 찾아가면서 하셔야될거에요. django vue 기반으로는 배포까지 완벽하게 설명해둔 곳이 없더라구요.. vue보다는 react는 자료가 많을것 같긴한데,아무래도 레거시 스택보다는 자료가 적어서 조언 받을 만한 곳도 많지 않습니다.

스프링은 서버를 어떻게 띄우는지 모르겠지만 장고는 gunicorn으로 배포할때도 특정 포트로 배포하는게 아니고, 리눅스 소켓을 쓰는게 여러가지로 장점이 있어 그렇게 배포했습니다.

참고로 배포시에 민감한 설정 파일에 대한 보안은 신경쓰세요.. 
또 웹팩 사용하시고 번들링 파일이 커진다면 모듈별로 파일을 나누는 것도 고려하시구요.

쉽게 생각하세요.

spring= django
vue = react
를 동일시하고 전체적인 설명을 한번 더 드리면요.
nginx로 모든 client 요청이 들어옵니다.
정의에 따라서 처리되는데, 제경우는 특별한 요청 외에는 다 django 쪽으로 들어갑니다.
django 쪽에서 static 파일이 필요하면 다시금 nginx쪽으로 요청이 들어가고, static 정의에 따라 파일을 가져옵니다.
다만 django 쪽에서 static 파일 경로 설정을 잘못하면 제대로 못가져오는 경우가 있으니 잘 맞춰줘야되요~


수정 이력

2021-02-23 09:15:34 에 아래 내용에서 변경 됨 #2

1. 전체적인 설명입니다.

nginx django vue 기반으로 배포까지 끝냈습니다.

django나 스프링도 비슷하다 생각하고 결론부터 이야기드릴게요.

실제로 유저와의 통신은 스프링 8080포트로 하는겁니다.

8080포트에서 요청이 들어가고 static 파일이 필요하면 리액트 3000포트에서 가져와서 쓰는거구요.

webpack 번들링 통해서 핫스왑 적용했더라면 그게 메모리에 올라가서 바로바로 적용이 되겠죠.

이걸 배포할때는 8080포트에서 static 파일을 가져오는 정의부가 있을건데,

제 경우는 그 경로를 요청하는걸 nginx쪽에서 reverse proxy를 써서 가져올 수 있도록 했습니다.

static 파일은 aws s3에 올렸구요. 그쪽에 안올리고 프로덕트 서버 특정 경로에 올려도됩니다.


하나씩 찾아가면서 하셔야될거에요. django vue 기반으로는 배포까지 완벽하게 설명해둔 곳이 없더라구요.. vue보다는 react는 자료가 많을것 같긴한데,아무래도 레거시 스택보다는 자료가 적어서 조언 받을 만한 곳도 많지 않습니다.

스프링은 서버를 어떻게 띄우는지 모르겠지만 장고는 gunicorn으로 배포할때도 특정 포트로 배포하는게 아니고, 리눅스 소켓을 쓰는게 여러가지로 장점이 있어 그렇게 배포했습니다.

참고로 배포시에 민감한 설정 파일에 대한 보안은 신경쓰세요.. 
또 웹팩 사용하시고 번들링 파일이 커진다면 모듈별로 파일을 나누는 것도 고려하시구요.

쉽게 생각하세요.

spring= django
vue = react
를 동일시하면 전체적인 구조가
nginx로 모든 client 요청이 들어옵니다.
정의에 따라서 처리되는데, 제경우는 특별한 요청 외에는 다 django 쪽으로 들어갑니다.
django 쪽에서 static 파일이 필요하면 다시금 nginx쪽으로 요청이 들어가고, static 정의에 따라 파일을 가져옵니다.
다만 django 쪽에서 static 파일 경로 설정을 잘못하면 제대로 못가져오는 경우가 있으니 잘 맞춰줘야되요~

2021-02-23 09:08:38 에 아래 내용에서 변경 됨 #1

nginx django vue 기반으로 배포까지 끝냈습니다.

django나 스프링도 비슷하다 생각하고 결론부터 이야기드릴게요.

실제로 유저와의 통신은 스프링 8080포트로 하는겁니다.

8080포트에서 요청이 들어가고 static 파일이 필요하면 리액트 3000포트에서 가져와서 쓰는거구요.

webpack 번들링 통해서 핫스왑 적용했더라면 그게 메모리에 올라가서 바로바로 적용이 되겠죠.

이걸 배포할때는 8080포트에서 static 파일을 가져오는 정의부가 있을건데,

제 경우는 그 경로를 요청하는걸 nginx쪽에서 reverse proxy를 써서 가져올 수 있도록 했습니다.

static 파일은 aws s3에 올렸구요. 그쪽에 안올리고 프로덕트 서버 특정 경로에 올려도됩니다.


하나씩 찾아가면서 하셔야될거에요. django vue 기반으로는 배포까지 완벽하게 설명해둔 곳이 없더라구요.. vue보다는 react는 자료가 많을것 같긴한데,아무래도 레거시 스택보다는 자료가 적어서 조언 받을 만한 곳도 많지 않습니다.

스프링은 서버를 어떻게 띄우는지 모르겠지만 장고는 gunicorn으로 배포할때도 특정 포트로 배포하는게 아니고, 리눅스 소켓을 쓰는게 여러가지로 장점이 있어 그렇게 배포했습니다.

참고로 배포시에 민감한 설정 파일에 대한 보안은 신경쓰세요.. 
또 웹팩 사용하시고 번들링 파일이 커진다면 모듈별로 파일을 나누는 것도 고려하시구요.

쉽게 생각하세요.

spring= django
vue = react
를 동일시하면 전체적인 구조가
nginx로 모든 client 요청이 들어옵니다.
정의에 따라서 처리되는데, 제경우는 특별한 요청 외에는 다 django 쪽으로 들어갑니다.
django 쪽에서 static 파일이 필요하면 다시금 nginx쪽으로 요청이 들어가고, static 정의에 따라 파일을 가져옵니다.
다만 django 쪽에서 static 파일 경로 설정을 잘못하면 제대로 못가져오는 경우가 있으니 잘 맞춰줘야되요~