[uwsgi] static file을 찾아오지 못하는 에러해결

hodu·2022년 1월 22일
0

service

목록 보기
1/3

몇분만에 해결한게 아니고 며칠을 헤매다 해결한거라 정확한 해결방법이라곤 설명하지 못하겠다.
다만 내가 최종적으로 성공한 방법을 공유하고자 한다.

1. root 설정하기

1-1. nginx/<파일명>.conf 파일에 root 추가해주기

나는 폴더구조가 조금 독특해서 이게 문제인가 싶어 .config/nginx/<파일명>.conf파일에 root를 추가해줬다.
이 루트는 manage.py가 있는 폴더경로이다.

root /home/<경로>/;

1-2. location /static/ 경로 수정해주기

마찬가지로 root경로로 수정해주었다.

location /static/ {
	root /staticfiles/;
}

2. settings.py 수정해주기

루트경로로 수정해주고 나니 이번엔 log파일에서 static 경로가 잘못지정되었다고 나오기 시작했다. 그래서 settings.py를 수정해주었다.

STATIC_URL = '/staticfiles/'

(안해도 됨)3. uswgi.ini 파일에 check-static 추가해주기

check-static 명령어를 아래와 같이 추가해준다.

check-static = /home/ubuntu/mbit/lecture/

4. 그외 해결방법

이 방법이 통하지 않는다면 반드시 로그파일들을 확인하면서 에러를 찾아보자.

// 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만 연결하면 끝!!!~!!!!!!@!!~@~!@!@~!@
나 자신 최고야 🤟

profile
안녕 세계!

0개의 댓글