@@@@@@@@@@@@@@@@@
작성 2020 6/3
수정 2020 7/16
@@@@@@@@@@@@@@@@@
Django - gunicorn - nginx 연결후 admin 접속했는데
?????? 뭐야이게
runserver 해서 들어갈떄와 다른점은 오직 nginx를 연결한거밖에 없는데..
그냥할려다가 그래도 장고의 최대장점중 하나인 Admin을 이렇게 쓸수는 없었다.
구글링 결과
개발환경에서만 특별히~ 자동으로 연결해준거라고한다.
원래 정적파일이 연결되어있는데 개발환경에서는 자동으로 연결해주고 웹서버를 붙이면 안됨 ㅇㅇ
여기서 정적파일(static file) 이란?
- 웹사이트 구성요소중 Image, Css , Script 파일과 같이 그내용이 고정되어 응답을 할때 별도의 처리 없이 파일내용을 그대로 보내면 되는 파일을 의미한다.
Nginx의 경우 Reverse Proxy로 사용할 때 Static File들에 대한 요청을 Nginx가 직접 처리하도록 세팅하여 응답 속도를 향상시킬 수 있습니다 라고 한다 .
@@결론
Django는 정적 파일을 제공하는 실 서비스용 기능을 제공하지 않는다!
정적파일을 제공하는건 웹서버 전문 영역이다!
nginx가 정적파일을 제공하게 해라 ! (nginx에 static 파일들의 경로를 알려줘라)
1.
setting.py에 STATIC_ROOT = os.path.join(BASE_DIR, 'static') 를 추가해준다.
2.
manage.py 경로에서
python manage.py collectstatic 을 쳐준다. 정적파일들을 모아준다고한다.
119 static files copied to ' /현재경로/staticefiles'. 라고뜨면 성공
이런식으로 staticfiiles 폴더가 생김 ㅇㅇ
3.
nginx에 static파일 경로 알려주자.
nginx 설정 파일에 들어가자
aws /ubuntu 기준
sudo vi/etc/nginx/sites-enabled/장고프로젝트이름
location /static/{} 을 추가해주자 !
server {
listen 80;
server_name 0.0.0.0;
charset utf-8;
location / {
include proxy_params;
proxy_pass http://0.0.0.0:8080;
}
location /static/ {
alias /home/ubuntu/name(projectname)/staticfile/;
}
}
하고 nginx를 재시작하면 ~
야호!!!!!
'Python > Django' 카테고리의 다른 글
[Django] Forms API (0) | 2020.07.28 |
---|---|
[Django] Nginx- Gunicorn 삽질 (0) | 2020.07.17 |
Nginx + Gunicorn + Django 서버구축 (1) | 2020.07.16 |
[Django] ORM (1) | 2020.06.20 |
[Django] Class Based Views (0) | 2020.06.20 |