Supersett
개발자의 하루
Supersett
Blockchain Dev
전체 방문자
오늘
어제
  • 분류 전체보기
    • 프론트
    • 회사생활
    • 블록체인
    • 프로젝트
      • 창업 프로젝트 (DRF + AWS)
      • Spring 프로젝트
    • [중앙대]멋쟁이 사자처럼
    • 기술서적
    • Problem Solving
      • 알고리즘
    • 일기장
      • 하루 정리
      • 삽질 일기
      • 조급할 때 눌러보기

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 취업준비
  • 멋쟁이사자처럼 중앙대
  • 자바
  • 컴퓨터학원
  • 비트코인
  • Multichain API
  • 구글소셜로그인
  • 국비
  • 프로젝트
  • 디프만16기
  • 면접준비
  • 블록체인 서버설계
  • 자바스크립트
  • 멋쟁이 사자처럼
  • java
  • 국비교육
  • 멋사 중앙대
  • 글리치해커톤
  • 초보개발자
  • 멋쟁이 사자처럼 서류
  • Luniverse
  • 블록체인정보가공
  • Near Explorer
  • 니어프로토콜
  • 해커톤
  • 신입개발자
  • 국비지원
  • DEPROMEET
  • Near Scan
  • 멋쟁이 사자처럼 면접

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Supersett

개발자의 하루

[프로젝트][에러][uWSGI] 클라이언트 연결 닫음 [해결]
프로젝트/창업 프로젝트 (DRF + AWS)

[프로젝트][에러][uWSGI] 클라이언트 연결 닫음 [해결]

2022. 8. 29. 15:37

[해결 완료]

배포에 사용한 프리티어 리눅스 컴퓨터가 문제가 아니었음

 

배포에 많이 사용되는 WSGI (게이트웨이)는 2종류가 있다.  

1. uwsgi  

2. gunicorn  

아래 문제 해결을 위해 구글링을 하다보니 uwsgi를 쓸때 발생한 오류들이 gunicorn으로 갈아타니 해결되었다는 글이 종종 나왔다. 

지푸라기라도 잡는 심정으로 설치된 uwsgi 환경설정 다 풀어주고 새로 gunicorn을 셋팅해 주었다.

(앉은자리에서 6시간 순삭)  결국 해결됨..내가 원하던 요청에 대한 응답이 잘 받아져서 정말 행복했다. 


[배포 후 오류 발생]

1. 기능적 구현이 로컬 runserver 환경해서는 에러없이 잘 진행이 되었음.

2. AWS EC2 배포함

3. 다른 기능들은 괜찮지만, 소셜로그인 관련 요청에 대한 에러 발생

4. 소셜로그인 로직이 헤비하긴 함.

[uwsgi 에러 로그 추적]

[무슨 에러가 발생한거야?] 

SIGPIPE: writing to a closed pipe/socket/fd (probably the client disconnected) on request
uwsgi_response_writev_headers_and_body_do(): Broken pipe [core/writer.c line 306] during GET

[무슨 뜻이지?] 

이 오류는 uWSGI/Django가 응답을 보내기 전에 클라이언트가 연결을 닫았음을 의미합니다. 
일반적으로 브라우저 또는 웹 서버 프론트엔드의 시간 초과로 인해 발생합니다.

[왜 이 문제가 생겼을까? (추측)] 

1. 로컬서버는 빠름 → 실행하는데 문제가 없었음

2. 배포한 프리티어 서버는 성능이 빠르지 않음

→ 소셜로그인 요청에 대한 처리가 느림 → 응답을 늦게 돌려줌 → 클라이언트가 요청파이프(연결)를 닫아버림

[어떻게 해결하는게 좋을까?] 

내가 지금 당장 브라우저의 시간초과를 조절할 방법을 모르니,
프론트엔드 서버쪽이랑 얘기를 해서 연결시간을 조금 늘려달라고 설계를 요청할것.

[프론트 담당자와 통화함] 

[프론트 서버] 요청에 async + await 함수설정을 해놓으면 요청에 대한 응답이 오기까지 기다린다고 한다.
희망이 보인다. 프론트 개발이 완료되자마자 실험하자

[위에 방법이 안되면] 

클라이언트 한번의 요청에 서버에 3번에 걸쳐서 url이 전달이 되는데 
이걸 이렇게 하지말고 1 by 1으로 코드를 수정해보자.

 

 

 

 

 

'프로젝트 > 창업 프로젝트 (DRF + AWS)' 카테고리의 다른 글

[점검] 프로젝트 피드백, 단기 목표 설정  (0) 2022.09.06
[AWS EC2 배포][ubuntu] 배포하며 쌓은 내실을 정리해 보자  (0) 2022.08.31
[회고][Django][DRF][RestAPI] 아이디어 '캐밋'을 구현하며  (4) 2022.08.23
[JWT 인증] 토큰은 어디에 담겨있나요?  (0) 2022.07.29
[아이디어톤][멋쟁이사자처럼] 본선 진출 회고  (2) 2022.07.26
    '프로젝트/창업 프로젝트 (DRF + AWS)' 카테고리의 다른 글
    • [점검] 프로젝트 피드백, 단기 목표 설정
    • [AWS EC2 배포][ubuntu] 배포하며 쌓은 내실을 정리해 보자
    • [회고][Django][DRF][RestAPI] 아이디어 '캐밋'을 구현하며
    • [JWT 인증] 토큰은 어디에 담겨있나요?
    Supersett
    Supersett
    하루를 돌아보고 공부한 티를 내기 위해 블로그를 만들었습니다.

    티스토리툴바