인프런 커뮤니티 질문&답변

시티헌터님의 프로필 이미지
시티헌터

작성한 질문수

페이스북 클론 - full stack 웹 개발

chat consumer

안녕하세요 채팅 질문입니다.

작성

·

267

1

안녕하세요 장고 신입 개발자입니다. 먼저 좋은 강의를 만들어 주셔서 감사합니다.
현재 저도  장고에서 redis-server , channels를 통해서 채팅 기능을 개발하고 있는 중입니다.

chat consumer 마지막강의에는 실제로 prod환경에서 구동 잘되는지 까지 보여주셨으면 하는 아쉬움이 있습니다.

이 말씀을 드리는 이유는 제가 현재 aws ec2 + ubuntu + apache2  + https 의 상용서버 환경으로 회사에서 장고 서비스 중에 있습니다.

앞서 말씀드린대로 저도 채팅서버를 개발하고 있으며 로컬서버에는 완벽히 채팅이 구현이 되고있습니다.

허나 상용서버 환경에서 계속 막혀서 현재 채널 상용서버 오픈을 못하고 있습니다.  구글링을 해보니 apache2는 웹소켓 서비스를 바로 하지 못하고 daphne을 활용하여야 한다고 하는데요 

nginx 또한 따로 환경구성을 해주어야하는걸로 알고있습니다.

routing.py에 https는 wss로 해야한다고 설명을 해주셨는데요. 단지 이 코드 만으로 상용서버 https: 환경에서 잘 구동이 되는지 의문이 있습니다.

질문 정리 입니다.

1. chat consumer 강의까지만 듣고 실제 도메인주소 붙이고 + https 환경에서 개발(로컬)서버가 아닌 prod환경에서도 채팅이 잘 되는지 궁금합니다.

2. 저도 이 부분을 구글링 하면서 며칠동안 알아본바 "ubuntu nginx" or "ubuntu apache2 " 환경에서는 여기 강의부분까지만 진행한다고 해서 바로 상용서버에서 적용이 안될것이라 봅니다... 

많은 분들이 채팅서버 많이 궁금해 하실거고 개발(로컬)서버가 아닌 실 상용서버에서 구동되는 방법을 알고싶어할텐데요nginx 세팅 버전 and apache2 로 세팅하는 방법을 좀 보강강의나마 올려주시면 안될지 궁금합니다.

(nginx는 그나마 구글링하면 정보가 있으나 apache2에 대한 깔끔하게 정리된 부분을 잘 찾지 못하였습니다. 저희 회사는 apache2로 서비스중입니다.)

괜찮으시다면 해결법을 알고 싶어서 새벽에 장문을 남깁니다.  답변을 기다리겠습니다. 감사합니다.

다시한번 좋은 강의를 남겨주셔서 감사합니다.

---------------------------------------------------

이미지 에러 메세지가 잘 안보이신다면 

reconnecting-websocket.js:209 WebSocket connection to 'wss://##/ws/chat/11/' failed: Error during WebSocket handshake: Unexpected response code: 404

저는 현재 이런 에러가 나오고있어 prod환경에서 배포를 못하고 있습니다.

로컬서버에서는 이런 메세지를 내어주지 않고 아주 잘 돌아가고 있습니다.

답변 2

1

시티헌터님의 프로필 이미지
시티헌터
질문자

안녕하세요 ?? 답변 남겨주셔서 감사합니다!! 추가강의를 계획해보신다고 하시니 기대했던 답변을 받아서 정말 감사합니다.

"내 손으로 만드는 Django 2.x 인스타그램 클론 강의"도 제가 결제하여 수강중인 상태입니다.(비록 많이 보지는 못했지만요 ㅠ)

커리큘럼을 보면 사실 중복된  커리큘럼도 보이는 것이 사실입니다 ㅠ

둘다 수강한 수강자가 있다면 인스타그램 클론강의와 이 페이스북클론강의와의 강력한(?) 차이점이라면 채팅서버라는 것을 저만 생각하지는 않을 것입니다.

이 채팅서버 prod환경 부분에서만 수강생들이 가져갈수있다면 많은 이 강의는 많은 호평이 나올 것 같습니다.

꼭 한번 검토해주시고 추가 강의영상을 기대해보겠습니다 ㅠㅠ 

제 환경을 구성을 다시 정확히 말씀드리자면
aws ec2에서 ubuntu(18.04) 환경안에서 apache2로 배포한 상태이며 aws로드밸런서를 통하여 https를 붙여서 서비스 중에 있습니다.  잘 아시겠지만은  prod환경을 aws를 통해서 배포를 많이 하니 저뿐만이 아니라 다른 수강자들도 분명 도움이 될겁니다.

추가 영상이라는것이 aws 계정생성부터 해서 하면 배포+ https까지 붙이는 걸 다 촬영한다면은 그건  엄청난 촬영량이 될거고 클론강의결제대비해서 많은 인적자원+시간이 소요가 많이 들어갈 것이라 생각하여 이런것까지는 절대 바라지 않습니다. 분명 무리일것이구요. 이런것까지 절대 원하지 않습니다!! 

그래서 이런 걸 제가 드릴말씀은 아니지만 아래와 같이 생각을 해주시면 편할 것 같습니다

"현재 문제없이 장고를 배포하여 서비스중에 있는데 채팅서버를 추가로 기능을 넣을때의 prod환경에서 적용시키는 방법"의 느낌으로만 생각해주시면 좋지 않을까 합니다^^!

글이 너무 길어졌습니다 ㅠㅠ 추가 촬영을 꼭 기대하겠습니다. 저뿐만이 아니라 정말 많은 분들이 원하실겁니다!

긍정적으로 답변 한번 더 기다리겠습니다 

감사합니다^^! 

안녕하세요 시티헌터님 ! 꽤 많은 시간이 지났지만 장고 채팅관련 지식을 찾다가 해당 글을 발견하여 질문을 하게 되었습니다 ! 장고로 프로젝트를 진행중인 과정에서 장고 channels로 일대일 채팅을 구현 할 예정인데요. 혼자서 구현하려니 너무 막막해서 해당 강의를 통해 채팅을 구현해 볼 예정인데   해당 강의 통해서 구현을 연습해봐도 괜찮을까요 ? 강의를 들어보신 시티헌터님 이야기를 들어보고 싶습니다 ! 그리고 문제가 되셨던 부분 해결하셨나요 ,,? (마땅히 글을 남길 곳이 없어 이곳에 남기게 된 점 양해 부탁드립니다.. ㅠㅠ) 

시티헌터님의 프로필 이미지
시티헌터
질문자

안녕하세요 저도 글을 남깁니다만 Prod 환경에서는 저도 해결을 하지 못하였습니다 ㅠㅠ

도움이 되지 못한 답변이라 죄송합니다

 

개발서버에는 충분히 구현이 되지만 nginx 및 apache를 통한 배포환경에서는 그에 맞게 셋업을 해줘야하는데 이거는 또 이쪽 지식이 필요한 부분이 입문자, 초보자들이 셋업하기에는 힘든 부분이 있습니다!

 

답변이 되셨을지 모르겠습니다 ㅠ

1

카인드패밀리님의 프로필 이미지
카인드패밀리
지식공유자

시티헌터님 안녕하세요 ^ ^ 

우선 좋은 질문 남겨주셔서 감사해요 redis-server , channels를 이용해서 실제 서비스를 만들고 계신다니 반가운 마음이 먼저 드네요 맞습니다 시티헌터님이 말씀해주신데로 데브옵스 분야로 들어가게되면 다양한 문제를 만나게 되는게 사실이에요 서버 구성 환경에 따라서 여러 문제들이 발생하게 되는게 사실입니다 예제에 있는 소스는 엔터프라이즈급의 서비스를 감당하기는 어려운 학습용입니다 ( 우선 db도 sqlite를 기본으로 하고 있으니까요 ^ ^ ;;) 

질문주신 내용중에 
" 많은 분들이 채팅서버 많이 궁금해 하실거고 개발(로컬)서버가 아닌 실 상용서버에서 구동되는 방법을 알고싶어할텐데요nginx 세팅 버전 and apache2 로 세팅하는 방법을 좀 보강강의나마 올려주시면 안될지 궁금합니다. "

부분이있는데요 ㅎ 저도 해당 세팅으로 진행을 해보고 리뉴얼과정에서 강의를 추가할수 있도록 계획해 보도록 할게요 

그리고 에러부분을 보니 요청을 보내는 쪽 보다는 받아서 돌려주는 쪽에서 계속 문제가 일어나고 있는것 같습니다 음.. 아무래도 소스를 까봐야 정확한 문제를 알아낼수 있겠지만 ( 이미 작성자분도 ㅠ ㅠ 엄청 알아보신 상태일것 같긴하네요 ) 저도 비슷한 환경에서 (aws ec2 + ubuntu + apache2  + https ) 채팅서버를 구성해보고 동일한 에러를 만나는게 해결 방법을 찾아보는게 제일 현명한 방법으로 보이긴 하네요 -:) 여튼 최대한 빠르게 저도 구성해보고 이야기 드려볼게요 

꼭 에러 해결하시길 빕니다 로컬에서 잘 구성하셨는데 상용에서 안되셔서 속 많이 상하셨겠네요 ㅠ ㅠ 이구 .. 야

시티헌터님의 프로필 이미지
시티헌터

작성한 질문수

질문하기