Supersett
개발자의 하루
Supersett
Blockchain Dev
전체 방문자
오늘
어제
  • 분류 전체보기
    • 프론트
    • 회사생활
    • 블록체인
    • 프로젝트
      • 창업 프로젝트 (DRF + AWS)
      • Spring 프로젝트
    • [중앙대]멋쟁이 사자처럼
    • 기술서적
    • Problem Solving
      • 알고리즘
    • 일기장
      • 하루 정리
      • 삽질 일기
      • 조급할 때 눌러보기

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 국비교육
  • java
  • 블록체인정보가공
  • 멋쟁이사자처럼 중앙대
  • 글리치해커톤
  • 컴퓨터학원
  • 자바
  • 블록체인 서버설계
  • 해커톤
  • Near Explorer
  • 취업준비
  • 비트코인
  • 자바스크립트
  • 국비
  • Near Scan
  • 프로젝트
  • 멋쟁이 사자처럼 면접
  • 구글소셜로그인
  • 멋쟁이 사자처럼
  • 초보개발자
  • Luniverse
  • DEPROMEET
  • 니어프로토콜
  • 디프만16기
  • 면접준비
  • Multichain API
  • 멋쟁이 사자처럼 서류
  • 국비지원
  • 멋사 중앙대
  • 신입개발자

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Supersett

개발자의 하루

[AWS EC2 배포][ubuntu] 배포하며 쌓은 내실을 정리해 보자
프로젝트/창업 프로젝트 (DRF + AWS)

[AWS EC2 배포][ubuntu] 배포하며 쌓은 내실을 정리해 보자

2022. 8. 31. 01:28

Q. Linux가 뭐예요? Ubuntu가 뭐예요?

이걸 알기전에 운영체제(Operation System)에 대해서 알 필요가 있어.

 

[운영체제]

: 컴퓨터 시스템의 각종 하드웨어,소프트웨어 자원을 효율적으로 운영,관리 함으로써 사용자가 시스템을 이용하는데 편리함을 제공하는 시스템 소프트웨어야.

→ 핵심 목적 : 사용자가 편리하고 효율적인 방식으로 프로그램을 실행하는 환경을 제공하는데 있어.

 

[커널]

 : 컴퓨터 운영체제의 핵심이 되는 컴퓨터 프로그램의 하나. 시스템의 모든것을 완전히 통제해. 보안,자원관리,추상화 역할

 

■ 운영체제 = 사용자 영역 + 커널 영역

■ 리눅스에서 작동하는 여러 종류의 프로그램을 꾸러미 하나로 모아놓은 것 = Linux 배포판

→ Ubuntu는 상호작용이 잘되는 Linux 배포판 중에 하나

■ 리눅스는 커널이고, 이러한 리눅스 커널을 기반으로 운영체제가 만들어졌다. 배포판.


Q. NGINX, WSGI 는 뭐고 왜 필요한건가요?

[웹 서버] web server

■ 웹 페이지를 클라이언트로 전달. 주로 정적컨텐츠를 전달한다.

 

[웹 어플리케이션 서버(WAS)] web application server

■ 동적 컨텐츠를 제공하기 위해 만들어진 어플리케이션 서버(db 조회, 로직처리)

■ 웹서버+컨테이너 = WAS

 

Q. WAS 만 사용해도 되는거 아니야?

■ 아니! , was의 역할은 db조회 및 로직 처리하게 두고, 정적인 컨텐츠를 웹서버에 맡기고 기능을 분리하는것이 서버부하를 방지하고 효율을 높일 수 있어

 

uwsgi, gunicorn

■ WSGI 규칙을 따라 만들어진 소프트웨어. 정적인 웹서버(Apache,Nginx) 와 python으로 작성된 웹프레임워크(Django)사이의 통신을 도와주는 역할

■ nginx는 python을 모르기 때문에 gunicorn을 통해 http request를 python으로, django로 부터 받은 응답을 nginx가 알 수 있도록 변환해줌!

 

WSGI(Web Server Gateway Interface)

■  파이썬 어플리케이션이 웹 서버와 통신하기 위한 명세.프레임워크의 웹 서버로 파이썬 스크립트가 웹 서버와 통신하도록 도와주며 웹 서버와 웹 애플리케이션 사이에 위치한다.

 

Nginx 쓰면 좋은 점!

■ 도메인 라우팅 관리, 정적 파일 제공, 한번에 들어오는 많은 요청 처리, 느린 클라이언트 처리, 동적 요청을 wsgi에 전달, ssl(HTTPS),컴퓨터 리소스 절약, 로드밸런싱, 캐싱

 

WSGI 기능

■ 작업자 프로세스,스레드 풀 실행 , NGINX에서 들어오는 요청을 WSGI와 호환되도록 번역

■ 앱의 WSGI 응답을 적절한 HTTP 응답으로 변환


Q. HTTP → HTTPS 어디에 무슨 설정을 해야 하나요?

[문제 상황]

■ AWS의 Elastic Load Balancing 설정으로 해서 적용이 되지 않았음.

[해결]

■ Nginx의 웹서버 설정을 바꿔줌

#80번 포트로 전달되는 http 요청을 https 요청으로 변환
server {
        listen 80;
        server_name cameet.site;
        rewrite        ^ https://$server_name$request_uri? permanent;
}

#웹서버에서 발급받은 보안인증서를 토대로 https 세팅
server {
        listen 443 ssl;
        server_name cameet.site;
        charset utf-8;
		(ssl 세팅)
        
		(경로 세팅)
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'프로젝트 > 창업 프로젝트 (DRF + AWS)' 카테고리의 다른 글

[OAuth 2.0]구글 소셜 로그인(feat. React & django rest framework)  (1) 2022.09.21
[점검] 프로젝트 피드백, 단기 목표 설정  (0) 2022.09.06
[프로젝트][에러][uWSGI] 클라이언트 연결 닫음 [해결]  (0) 2022.08.29
[회고][Django][DRF][RestAPI] 아이디어 '캐밋'을 구현하며  (4) 2022.08.23
[JWT 인증] 토큰은 어디에 담겨있나요?  (0) 2022.07.29
    '프로젝트/창업 프로젝트 (DRF + AWS)' 카테고리의 다른 글
    • [OAuth 2.0]구글 소셜 로그인(feat. React & django rest framework)
    • [점검] 프로젝트 피드백, 단기 목표 설정
    • [프로젝트][에러][uWSGI] 클라이언트 연결 닫음 [해결]
    • [회고][Django][DRF][RestAPI] 아이디어 '캐밋'을 구현하며
    Supersett
    Supersett
    하루를 돌아보고 공부한 티를 내기 위해 블로그를 만들었습니다.

    티스토리툴바