몇분만에 해결한게 아니고 며칠을 헤매다 해결한거라 정확한 해결방법이라곤 설명하지 못하겠다.
다만 내가 최종적으로 성공한 방법을 공유하고자 한다.
나는 폴더구조가 조금 독특해서 이게 문제인가 싶어 .config/nginx/<파일명>.conf
파일에 root를 추가해줬다.
이 루트는 manage.py가 있는 폴더경로이다.
root /home/<경로>/;
마찬가지로 root경로로 수정해주었다.
location /static/ {
root /staticfiles/;
}
루트경로로 수정해주고 나니 이번엔 log파일에서 static 경로가 잘못지정되었다고 나오기 시작했다. 그래서 settings.py
를 수정해주었다.
STATIC_URL = '/staticfiles/'
check-static
명령어를 아래와 같이 추가해준다.
check-static = /home/ubuntu/mbit/lecture/
이 방법이 통하지 않는다면 반드시 로그파일들을 확인하면서 에러를 찾아보자.
// 1. uwsgi에서 에러 확인하기
vi log/uwsgi/날짜.log
// 2. nginx에서 에러 확인하기(보통 여기서 에러남)
vi /var/log/nginx/error.log
그리고 가장 중요한 것.
나는 lightsail에서 작업하였고, /home/ubuntu/프로젝트폴더/.config/nginx/nginx.conf
에서 conf 파일을 작성하였다. 이렇게 되면 nginx폴더에 !반드시! 복사, 연결해주는 루틴이 필요하다.
$ sudo cp -f .config/nginx/nginx.conf /etc/nginx/sites-available/
$ sudo ln -sf /etc/nginx/sites-available/nginx.conf /etc/nginx/sites-enabled/
그리고 파일을 수정할 때 마다 nginx를 껐다 켜주는게 좋음.
//nginx 껐다 키기
sudo service nginx stop
sudo service nginx start
nginx를 껐다 켜줬으면 uwsgi를 다시 실행해주기!
uwsgi -i .config/uwsgi/uwsgi.ini
오늘 하루종일 이거 붙잡고 있어서 아무것도 못했는데 해결 못햇으면 또 자괴감의 늪에 빠질뻔....
이만 잘 돌아가는 서비스 캡초ㅑ를 넣고 돌아갑니다 총총...
이제 url만 연결하면 끝!!!~!!!!!!@!!~@~!@!@~!@
나 자신 최고야 🤟