본문 바로가기

Server

(4)
3계층형 시스템 아키텍처 흔히들 개발 시스템을 구성할 때 3계층형을 사용하게 됩니다. 프레젠테이션, 애플리케이션, 데이터 계층을 의미하는 데, 각각을 살펴보겠습니다. 🧾 목차1. 3계층 개념2. 정적 콘텐츠 Vs 동적 콘텐츠3. 그림으로 살펴보는 시스템 구성도 예제4. NGINX1. 3계층 개념 (3-tier)1-1. 프레젠테이션 계층- 사용자가 마주하는 UI를 제공- 정적 컨텐츠(Html, Css, Javascript)를 NGINX를 통해 제공 1-2. 애플리케이션 계층- 비지니스 로직 수행- 동적 컨텐츠를 제공- 자신이 계산할 수 있는지, 아니면 DB 접속이 필요한지를 판단하여 DB 서버로 요청 전달 1-3. 데이터 계층- 데이터베이스, 파일 저장소- 애플리케이션의 요청을 받아 데이터 입출력 수행 2. 정적 콘텐츠 Vs 동..
AWS EC2로 Node.js 프로젝트 배포하기: 인스턴스 생성부터 백그라운드 실행까지 AWS EC2는 물리적인 서버를 대신 하는 가상화 서버라고 생각하면 됩니다.시간과 비용이 많이 드는 물리적인 서버 대신 AWS의 힘을 빌려 Node.js 프로젝트를 배포해봅시다!목차1. EC2 인스턴스 생성하기2. EC2 인스턴스에 접속하기3. EC2 인스턴스에 Node.js 설치하기 (feat. nvm 설치)4. Node.js 프로젝트 실행하기5. PM2로 Node.js 애플리케이션 백그라운드 실행하기1. EC2 인스턴스 생성하기웹 서버의 이름을 작성합니다.웹 서버의 근간이 될 운영체제를 선택하는 데, 프리 티어 사용가능한 Ubuntu를 선택했습니다.키 페어 생성을 누르면 이름.pem 이라는 파일이 하나 다운로드 받아집니다. 이후에 인스턴스를 안전하게 접속하기 위해 꼭 필요하니 잘 보관해둡니다.네트 워..
서버 배포한다는 것의 의미 서버 배포란?서버 배포란 우리가 만든 프로젝트( = 프로그램)을 실제 서버 컴퓨터에서 실행하고, 이를 인터넷을 통해 사용자가 사용할 수 있는 상태를 만드는 과정이다.서버 배포 과정1. 서버 컴퓨터 준비사용자가 언제든 우리의 프로그램(ex. 웹 앱 서비스, 소프트웨어)을 사용할 수 있도록 24시간 내내 돌아갈 수 있는 고성능의 컴퓨터가 필요하다. 따라서 고성능 컴퓨터를 준비하거나 편하게 가상 서버(AWS EC2)를 사용한다. 2. 프로그램 준비로컬에서 만든 우리의 프로젝트를 말한다. 예를 들어 Node.js 기반의 백엔드 프로그램일 수도 있고 React 기반의 프론트엔드 프로그램일 수도 있다. 3. 서버 컴퓨터에서 프로그램 실행이제 서버 컴퓨터에서 프로그램을 실행해야 한다. 일반 컴퓨터처럼 "실행" 명령을..
서버 vs 일반 컴퓨터 "서버" 컴퓨터란 물리적인 컴퓨터 장비를 의미합니다. 일반 컴퓨터와 마찬가지로 여러 개의 CPU, 메모리, 디스크 등으로 구성되어 있습니다. 보통 데이터센터라는 큰 공간에 위치하여, 어두운 곳에서 여러 대의 큰 컴퓨터가 24시간 계속해서 돌아가는 모습을 상상할 수 있습니다.서버 컴퓨터"서버"는 대규모의 데이터 처리나 웹 호스팅, 데이터 베이스 관리를 합니다. 개인용 컴퓨터와는 다르게 항상 켜져 있어야 하고, 냉각과 보안이 중요한 데이터 센터와 같은 환경에서 운영됩니다.cf ) 클라이언트-서버 모델에서의 서버클라이언트 - 서버 모델에서의 "서버"는 물리적인 장비가 아닌 역할을 의미합니다. 클라이언트는 요청을 하고 서버는 클라이언트의 요청에 응답하여 서비스나 데이터를 제공합니다. 예를 들어 집에서 개인용 P..