https://nerogarret.tistory.com/45
해당 블로그를 보며 따라했다!
나는 windows 노트북을 사용하고 있고, ipconfig 말고는.. 리눅스 명령어는 익숙하지만 윈도우즈.. cmd를 이용한 명령어는 익숙하지 못하다.. 그렇기 때문에 명령어를 비교해가며 먼저 cmd로 배포를 하려고했으나.... 실패 ㅜㅜ 하지만 git을 사용한다면 무조건 있는 git bash를 통해 아주 잘~~ 진행했다!!
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 폴더가 생긴다!
끝!