서버에 django를 올리면 css가 적용이 되지 않는 문제 발생
검색 결과 로컬 개발 환경에서만 자동으로 정적파일(css) 를 연결 해준다고 한다.
정적파일(static file) 이란?
- 웹사이트 구성요소중 Image, Css , Script 파일과 같이 그내용이 고정되어 응답을 할때 별도의 처리 없이 파일내용을 그대로 보내면 되는 파일을 의미한다.
Nginx의 경우 Reverse Proxy로 사용할 때 Static File들에 대한 요청을 Nginx가 직접 처리하도록 세팅하여 응답 속도를 향상시킬 수 있습니다 라고 한다 .
해결방안
nginx가 정적 파일을 제공하게 파일의 경로를 알려주자.
1.
setting.py에 STATIC_ROOT = os.path.join(BASE_DIR, 'static') 를 추가한다.
2.
manage.py 경로에서
python manage.py collectstatic 입력(정적 파일 모으기)
3.
aws 라이트세일 기준
cd /etc/nginx/sites-available/ 입력 (nginx 설정 디렉토리 이동)
sudo nano (프로젝트)
서버 옵션에 아래 내용 추가
location/static/ {
alias /home/ubuntu/(프로젝트 네임)/static/;
}
4.
sudo systemctl stop nginx
# nginx 정지
sudo systemctl start nginx
# nginx 시작
sudo nginx -t
# nginx 상태 확인
후에 (프로젝트 주소)/admin 접속 해보면
css 파일이 정상적으로 불러와 진 것을 확인 할 수 있다.
'python > Django' 카테고리의 다른 글
[ Django ] Django로 간단한 짭스타그램 만들기! (0) (0) | 2023.08.20 |
---|---|
[ Django ] MVT 개발패턴 이란? (4) | 2023.08.18 |
[ Django ] Django 시작하기 (12) | 2023.08.16 |
Django CSRF에 대하여 (0) | 2023.08.08 |
깃 데이터 저장 및 불러오기 (0) | 2022.09.13 |