• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

uwsgi 소켓 설정 후 nginx 실행하면 502 bad gateway 에러 발생

21.06.08 15:42 작성 조회수 1.16k

0

안녕하세요.

어제 올린 2번 문제에서 다음으로 넘어가니 않는 이슈는 해결했습니다.

이후 배포를 진행하는 과정에서 uwsgi 소켓을 설치하고 nginx를 실행하면 502 Bad Gateway 에러가 발생하고 페이지가 뜨지 않는 심각한 에러가 발생합니다.

터미널에서는 아래와 같이 제대로 돌아가는데 어느 부분이 문제인지 도저히 모르겠습니다....

에러 메세지라도 뜨면 그걸 확인해볼텐데 그런 것도 없어서 어디서 문제가 발생했는지 찾지를 못하겠어요.

notion에 있는 내용 토대로 하나씩 다시 해봤는데 틀린 부분을 찾지 못했습니다.

관련 소스코드 첨부합니다.

MBIT.conf

server {
    listen 80;
    server_name *.run.goorm.io;
    charset utf-8;
    client_max_body_size 128M;
    
    location / {
            uwsgi_pass unix:///workspace/mbittest/tmp/MBIT.sock;
            include uwsgi_params;
    }

    location /static/ {
        alias /workspace/mbittest/staticfiles/;
    }
}

uwsgi.ini

[uwsgi]
chdir = /workspace/mbittest/
module = MBIT.wsgi:application
home = /workspace/mbittest/venv/

uid = root
gid = root

socket = /workspace/mbittest/tmp/MBIT.sock
chmod-socket = 666
chown-socket = root:root

http = :80

enable-threads = true
master = true
vacuum = true
pidfile = /workspace/mbittest/tmp/MBIT.pid
logto = /workspace/mbittest/log/uwsgi/@(exec://date +%%Y-%%m-%%d).log
log-reopen = true
static-map = /static=/workspace/mbittest/staticfiles/

여기서 에러가 발생하니 기존의  python manage.py runserver 0:80 명령어도 되지 않아서 아예 다음으로 넘어가질 못하고 있습니다ㅠㅠ

빠른 답변 부탁드립니다!!!

답변 1

답변을 작성해보세요.

0

python manage.py runserver 0

으로도 실행이 안 되는 것으로 보아 uwsgi 또는 Nginx의 문제가 아닙니다.

runserver는 장고 자체의 개발서버에서 돌아가기 때문에 uwsgi나 Nginx와 상관이 없습니다.

단순히 django 코드에 문제가 있는 것 같습니다.

settings.py에 DEBUG 값을 True로 바꾸시고 어떤 에러메시지가 뜨는지 확인해주세요.

python manage.py runserver 0:80으로 했을 떄 에러가 뜨는 건 80포트가 이미 사용중이라 안된다는 것이었습니다.

그래서 포트번호를 8080 바꿔서 python manage.py runserver 0:8080 명령어를 치면 터미널에서는 제대로 실행되는데 크롬창에 localhost:8080을 치면 사이트에 연결할 수 없다고 뜹니다.

settings.py에 DEBUG 값을 True로 하고 실행한 결과입니다.

그 외 에러 메시지는 뜨지 않고 있습니다.

배포하기 전에는 문제 없이 잘 됐는데..... 왜 이렇게 된 걸까요.....?

구름에서 python manage.py runserver 0:8080 명령어를 실행한 경우

localhost 로 접속이 불가능합니다.

localhost는 본인의 컴퓨터를 가리키는데, 구름에서 실행한 것은 내 컴퓨터에서 실행한 것이 아니라 구름측에서 제공하고있는 서버 컴퓨터에서 실행되는 것입니다.

반드시 해당 포트와 연결된 URL을 설정 후, 해당 URL로 실행해야합니다.

아 제가 구름을 제대로 이해하지 못했네요ㅠㅠ

말씀해주신 내용 토대로 URL이랑 포트 지정하고 터미널에서 python manage.py runserver 0:8080 실행하니 제대로 동작합니다!

이 지점부터 배포하는 부분 다시 해보겠습니다! 감사합니다!!