본문 바로가기
WIL

11주차 WIL

by dev_junseok 2022. 11. 13.

이번주는 프로젝트를 끝마치고, 리눅스와 Docker에 관하여 공부해보았다.

 

2022-11-09 TIL (리눅스 기본적인 필수 명령어) (tistory.com)

 

2022-11-09 TIL (리눅스 기본적인 필수 명령어)

오늘은 리눅스를 공부하게 되었는데 리눅스에 대해 기본적인 명령어들을 정리하고 넘어가볼까 한다. 정확히는 리눅스의 os중 하나인 우분투이다. ls # 파일 목록을 보여주는 명령어 ls -l # -l : 파

jundevlog.tistory.com

2022-11-10 TIL (도커 Docker 공부) (tistory.com)

 

2022-11-10 TIL (도커 Docker 공부)

일단 도커란 무엇인가? django, db, web server 등 다양한 어플리케이션을 컨테이너 환경에서 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. 컨테이너 환경은 가상 머신(Virtual machine)에서 사용되

jundevlog.tistory.com

2022-11-11 TIL(도커 volume, Dockerfile, entrypoint, 포트포워딩) (tistory.com)

 

2022-11-11 TIL(도커 volume, Dockerfile, entrypoint, 포트포워딩)

포트포워딩(port forwarding)이란? - 포트 포워딩이라는 이름과 같이, 외부에서 서버의 특정 포트에 접근했을 때 지정한 서비스로 전달해 주는 것을 의미한다. docker-compose.yml 을 다음과 같이 수정한다

jundevlog.tistory.com

 

추가로 gunicorn과 nginx에 관하여 공부해보았다.

 

구니콘(gunicorn)이란? - 지유니콘이라고 읽기도 한다.

💡 django 프로젝트를 실행할 때 사용되는 runserver와 같이, 사용자의 요청을 받아 django에 작성한 코드를 실행시켜 주도록 하는 역할을 해줍니다.

단순하게 생각해서 배포용으로 사용되는 runserver라고 생각해도 무관합니다.

 

 

runserver가 아닌 gunicorn을 사용해 배포하는 이유?

💡 기본적으로 runserver는 배포용이 아닌 개발용으로 사용되는 명령어이며, 공식문서에서도 runserver로 배포하는 것을 권장하지 않고 있습니다.

또한 runserver는 기본적으로 싱글 스레드에서 동작하지만, gunicorn은 멀티 스레드로 동작하도록 설정할 수 있기 때문에 많은 요청을 더 효율적으로 처리할 수 있습니다.

이외에도 runserver에 비해 속도, 안정성 등 다양한 장점을 가지고 있기 때문에 배포 환경에서는 gunicorn을 사용하는 것을 권장하고 있습니다.

 

nginx란?

nginx는 클라이언트의 request 요청을 처리해주는 웹 서버(web server)입니다. reverse proxy, 로드밸런싱, 캐싱 등의 기능을 지원하며, 클라이언트의 요청을 nginx가 받은 후 service(django) 데이터를 넘겨주는 역할을 해줍니다.

 

nginx를 사용하는 이유?

💡 로드밸런싱을 활용해 트래픽을 분산할 수 있습니다.

SSL 기능을 사용해 데이터를 안전하게 전달할 수 있습니다.

reverse proxy 기능을 통해 client에서 서버에 직접적으로 접근하는 것을 막아줍니다.

콘텐츠를 캐싱하여 동일한 요청에 대해 더 빠른 속도로 처리할 수 있게 해줍니다.

 

nginx/ postgresql/ django 를 연동하여 내가 만든 프로젝트를 배포할 수 있다. 이건 다음주에 공부하도록 해야겠다,

'WIL' 카테고리의 다른 글

13주차 WIL (djangorestframeworksimple-jwt 커스텀)  (0) 2022.12.04
12주차 WIL (장고 ORM)  (0) 2022.11.20
10주차 WIL  (0) 2022.11.07
9주차 WIL (RESTful API란?)  (0) 2022.10.30
8주차 WIL (장고 비밀번호 유효성 검사)  (0) 2022.10.24