[Django] AWS로 웹페이지 배포하기 (+error 정리 위주)

leesoyeong·2024년 2월 4일
0

오류기록

목록 보기
5/8

장고 서비스를 AWS로 배포하기!

  • github, 가비아를 이용했습니다!

Django를 AWS로 배포했다! 이미 잘 정리되어있는 블로그들이 많아서 웹페이지 배포를 정리하기보다는..(캡쳐를 잊어서 사진 자료도 없다..) 이 과정을 따라하며 발생하는 error를 정리해보려고한다.

https://nerogarret.tistory.com/45
해당 블로그를 보며 따라했다!

먼저 말하고 싶은 점..

나는 windows 노트북을 사용하고 있고, ipconfig 말고는.. 리눅스 명령어는 익숙하지만 윈도우즈.. cmd를 이용한 명령어는 익숙하지 못하다.. 그렇기 때문에 명령어를 비교해가며 먼저 cmd로 배포를 하려고했으나.... 실패 ㅜㅜ 하지만 git을 사용한다면 무조건 있는 git bash를 통해 아주 잘~~ 진행했다!!

[error]

1. git pull은 /srv/폴더명으로 cd 한 후 해야된다.

이건.. 당연하지만 가끔 막 하다가 git pull이 안되면 이 경우였어서!!

2. ModuleNotFoundError: No module named 'django'

runserver를 하려고 하니 갑자기 이런 오류가.. 왜지?

pip install django

를 하니 해결!

3. ModuleNotFoundError: No module named 'admin_thumbnails'

내가 해당 모듈을 사용하였기 때문인지 이런 오류도 떴다.

pip install --upgrade --force-reinstall Django

하니 해결!

probably another instance of uWSGI is running on the same address

내가 제~~~일 고생했던 문제.. 8080이 안되서 8000으로 바꿨더니 internal servererror가 뜨면서 안되고.. 결국 못참고 파일 다밀고 새로 처음부터 다시 시작했었다... 다시 시작하면 또 어찌어찌 넘어가지만 8080으로 하면 계속 반복되기 때문에.. 우선 처음 8080으로 했을 때 오류난 것은
uwsgi를 연결할 때

uwsgi --http :[포트번호] --home [가상환경 경로] --chdir [장고프로젝트폴더 경로] -w [wsgi 모듈이 있는 폴더].wsgi

형식으로 입력을 하는데.. 내가 wsgi 모듈이 있는 폴더가 당연히 mysite일줄 알고 확인을 하지 않고 진행했기 때문이다..
나의 경우에는 해당 프로젝트를 진행할 때 [config]라는 이름으로 만들어서 wsgi.py 파일이 config에 있었다! 처음 만들때는 배포를 염두에 두기보단 실습 진행이 우선이어서 아무 생각없이 만들었기 때문에 간과했다.. 이거는 꼭 프로젝트 파일을 살펴보길 바란다!
또한 포트번호를 바꿀 때는 aws로 가서 [보안그룹] - [인바운드 규칙]을 추가하여 8000 포트를 허용해줘야한다.

Internal server error

mysite.ini 에서 module를 mysite가 아닌 wsgi.py가 있는 폴더로 바꾸는 것이다!
mysite.ini는

[uwsgi]
chdir = /srv/pystagram/
module = config.wsgi:application
home = /home/ubuntu/myvenv/
uid = ubuntu
gid = ubuntu
socket = /tmp/mysite.sock
chmod-socket = 666
chown-socket = ubuntu:ubuntu
enable-threads = true
master = true
vacuum = true
pidfile = /tmp/mysite.pid
logto = /var/log/uwsgi/mysite/@(exec://date +%%Y-%%m-%%d).log
log-reopen = true 

로 되어있는데 이 module부분을 wsgi가 있는 파일로 바꿔준다! 나는 config 폴더에 있기 때문에 저렇게 작성되어있는 것이고,
module = [wsgi가 있는 폴더명].wsgi:application 이라고 작성하면 된다.

ERRORS: ?: (staticfiles.E002) The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting.

settings.py 에 staticfiles_dirs 비워두면 된다! 나같은 경우는 만들때 이 칸을 채워놨기 때문에 이걸 비워놔야지 서버 컴퓨터에 static 폴더가 생긴다!

끝!

https://github.com/Leessoxuv/pystagram

profile
초보 개발자

0개의 댓글