【Docker+Nginx+Django+RDS】WEB 앱이 생길 때까지②Nginx로 Django의 환영 페이지에 도착한다
전치
독학으로 아이의 성장 앱을 만들었을 때를 기록으로 남겨 갑니다.
틀린 곳 등 있으면 연락 부탁드립니다.
① 장고의 환영 페이지에 도착할 때까지
② Nginx에서 장고의 환영 페이지에 도착할 때까지 <--여기입니다
③ 맞춤 사용자를 만들어 admin에 도착
④ 로그인 로그아웃하자
⑤ 사용자 등록(로그인) 기능을 만들자
⑥ 사용자별 데이터 등록 가능 ~ CRU편
⑦ 사용자별 데이터 등록 가능 ~ 삭제편
⑧ 이미지 파일 업로드
⑨ 신장 체중을 기록하는 @ 일괄 삭제 기능 포함
⑩ 성장 곡선 그래프를 그려 보자.
⑪ 프로덕션 환경에 배포 + 다양한 수정
Goal
Nginx에서 장고의 환영 페이지로 이동
uWsgi 설정
Nginx와 Django를 연결하는 uwsgi를 넣습니다.
requirement.txtDjango==2.2.2
psycopg2==2.8.4
uwsgi==2.0.17
docker-compose도 변경한다.
nginx 컨테이너 설정 추가 및 웹 컨테이너 명령 포트 설정을 변경합니다.
docker-compose.ymlversion: "3"
services:
nginx: #ここを追加する
image: nginx:1.13
ports:
- "8000:8000"
volumes:
- ./nginx/conf:/etc/nginx/conf.d
- ./nginx/uwsgi_params:/etc/nginx/uwsgi_params
- ./static:/static #staticも繋ぐ
depends_on:
- web
db-postgres:
image: postgres
web:
build: ./web
volumes:
- ./src:/code
expose:
- "8000" #ポートフォワードじゃなくて普通にport空ける
depends_on:
- db-postgres
command: uwsgi --socket :8000 --module mysite.wsgi #uwsgi起動に変更
Nginx 설정
이런 파일 체계가 되도록 nginx 부하를 만들어 간다
.
├── docker-compose.yml
├── nginx
│ ├── conf
│ │ └── mysite_nginx.conf
│ └── uwsgi_params
├── src
│ ├── manage.py
│ ├── mysite
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-37.pyc
│ │ │ ├── settings.cpython-37.pyc
│ │ │ ├── urls.cpython-37.pyc
│ │ │ └── wsgi.cpython-37.pyc
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ └── static
└── web
├── Dockerfile
└── requirements.txt
conf 파일에서 정적 응답과 동적 응답을 나누고 있는 이미지.
conf/mysite_nginx.confupstream django {
ip_hash;
server web:8000;
}
server {
listen 8000;
server_name 127.0.0.1;
charset utf-8;
client_max_body_size 75M;
location /static {
alias /static;
}
location / {
uwsgi_pass django;
include /etc/nginx/uwsgi_params;
}
}
uwsgi_params는 그대로.
uwsgi_paramsuwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REQUEST_SCHEME $scheme;
uwsgi_param HTTPS $https if_not_empty;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
Docker로 시작합시다.
requirement.txt를 고치면 build해 둔다.
docker-compose build
Docker 시작
docker-compose up
localhost:8000에 액세스
장고의 runserver와 마찬가지로 초기 화면이 표시되면 성공!
참고
Reference
이 문제에 관하여(【Docker+Nginx+Django+RDS】WEB 앱이 생길 때까지②Nginx로 Django의 환영 페이지에 도착한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/quantity82/items/88a6348135e25c661feb
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Nginx에서 장고의 환영 페이지로 이동
uWsgi 설정
Nginx와 Django를 연결하는 uwsgi를 넣습니다.
requirement.txtDjango==2.2.2
psycopg2==2.8.4
uwsgi==2.0.17
docker-compose도 변경한다.
nginx 컨테이너 설정 추가 및 웹 컨테이너 명령 포트 설정을 변경합니다.
docker-compose.ymlversion: "3"
services:
nginx: #ここを追加する
image: nginx:1.13
ports:
- "8000:8000"
volumes:
- ./nginx/conf:/etc/nginx/conf.d
- ./nginx/uwsgi_params:/etc/nginx/uwsgi_params
- ./static:/static #staticも繋ぐ
depends_on:
- web
db-postgres:
image: postgres
web:
build: ./web
volumes:
- ./src:/code
expose:
- "8000" #ポートフォワードじゃなくて普通にport空ける
depends_on:
- db-postgres
command: uwsgi --socket :8000 --module mysite.wsgi #uwsgi起動に変更
Nginx 설정
이런 파일 체계가 되도록 nginx 부하를 만들어 간다
.
├── docker-compose.yml
├── nginx
│ ├── conf
│ │ └── mysite_nginx.conf
│ └── uwsgi_params
├── src
│ ├── manage.py
│ ├── mysite
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-37.pyc
│ │ │ ├── settings.cpython-37.pyc
│ │ │ ├── urls.cpython-37.pyc
│ │ │ └── wsgi.cpython-37.pyc
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ └── static
└── web
├── Dockerfile
└── requirements.txt
conf 파일에서 정적 응답과 동적 응답을 나누고 있는 이미지.
conf/mysite_nginx.confupstream django {
ip_hash;
server web:8000;
}
server {
listen 8000;
server_name 127.0.0.1;
charset utf-8;
client_max_body_size 75M;
location /static {
alias /static;
}
location / {
uwsgi_pass django;
include /etc/nginx/uwsgi_params;
}
}
uwsgi_params는 그대로.
uwsgi_paramsuwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REQUEST_SCHEME $scheme;
uwsgi_param HTTPS $https if_not_empty;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
Docker로 시작합시다.
requirement.txt를 고치면 build해 둔다.
docker-compose build
Docker 시작
docker-compose up
localhost:8000에 액세스
장고의 runserver와 마찬가지로 초기 화면이 표시되면 성공!
참고
Reference
이 문제에 관하여(【Docker+Nginx+Django+RDS】WEB 앱이 생길 때까지②Nginx로 Django의 환영 페이지에 도착한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/quantity82/items/88a6348135e25c661feb
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Django==2.2.2
psycopg2==2.8.4
uwsgi==2.0.17
version: "3"
services:
nginx: #ここを追加する
image: nginx:1.13
ports:
- "8000:8000"
volumes:
- ./nginx/conf:/etc/nginx/conf.d
- ./nginx/uwsgi_params:/etc/nginx/uwsgi_params
- ./static:/static #staticも繋ぐ
depends_on:
- web
db-postgres:
image: postgres
web:
build: ./web
volumes:
- ./src:/code
expose:
- "8000" #ポートフォワードじゃなくて普通にport空ける
depends_on:
- db-postgres
command: uwsgi --socket :8000 --module mysite.wsgi #uwsgi起動に変更
이런 파일 체계가 되도록 nginx 부하를 만들어 간다
.
├── docker-compose.yml
├── nginx
│ ├── conf
│ │ └── mysite_nginx.conf
│ └── uwsgi_params
├── src
│ ├── manage.py
│ ├── mysite
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-37.pyc
│ │ │ ├── settings.cpython-37.pyc
│ │ │ ├── urls.cpython-37.pyc
│ │ │ └── wsgi.cpython-37.pyc
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ └── static
└── web
├── Dockerfile
└── requirements.txt
conf 파일에서 정적 응답과 동적 응답을 나누고 있는 이미지.
conf/mysite_nginx.conf
upstream django {
ip_hash;
server web:8000;
}
server {
listen 8000;
server_name 127.0.0.1;
charset utf-8;
client_max_body_size 75M;
location /static {
alias /static;
}
location / {
uwsgi_pass django;
include /etc/nginx/uwsgi_params;
}
}
uwsgi_params는 그대로.
uwsgi_params
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REQUEST_SCHEME $scheme;
uwsgi_param HTTPS $https if_not_empty;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
Docker로 시작합시다.
requirement.txt를 고치면 build해 둔다.
docker-compose build
Docker 시작
docker-compose up
localhost:8000에 액세스
장고의 runserver와 마찬가지로 초기 화면이 표시되면 성공!
참고
Reference
이 문제에 관하여(【Docker+Nginx+Django+RDS】WEB 앱이 생길 때까지②Nginx로 Django의 환영 페이지에 도착한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/quantity82/items/88a6348135e25c661feb
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
docker-compose build
docker-compose up
Reference
이 문제에 관하여(【Docker+Nginx+Django+RDS】WEB 앱이 생길 때까지②Nginx로 Django의 환영 페이지에 도착한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/quantity82/items/88a6348135e25c661feb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)