본문 바로가기

Server

서버 배포한다는 것의 의미

서버 배포란?

서버 배포란 우리가 만든 프로젝트( = 프로그램)을 실제 서버 컴퓨터에서 실행하고, 이를 인터넷을 통해 사용자가 사용할 수 있는 상태를 만드는 과정이다.

서버 배포 과정

1. 서버 컴퓨터 준비

사용자가 언제든 우리의 프로그램(ex. 웹 앱 서비스, 소프트웨어)을 사용할 수 있도록 24시간 내내 돌아갈 수 있는 고성능의 컴퓨터가 필요하다. 따라서 고성능 컴퓨터를 준비하거나 편하게 가상 서버(AWS EC2)를 사용한다.

 

2. 프로그램 준비

로컬에서 만든 우리의 프로젝트를 말한다. 예를 들어 Node.js 기반의 백엔드 프로그램일 수도 있고 React 기반의 프론트엔드 프로그램일 수도 있다.

 

3. 서버 컴퓨터에서 프로그램 실행

이제 서버 컴퓨터에서 프로그램을 실행해야 한다. 일반 컴퓨터처럼 "실행" 명령을 통해 프로그램을 시작한다.

(= Node.js 기반의 프로그램에서는 node index.js 명령을 통해 프로그램을 실행하는 것!)

 

프로그램 실행

우리가 만든 프로그램을 서버 컴퓨터에서 실행 시키고, 특정 포트에서 요청 받을 준비를 하는 것을 말한다. 예를 들어 3000번 포트 정류장에서 웹 어플리케이션이 실행된다는 것을 의미한다.

 

4. 프로그램을 백그라운드로 실행

서버 컴퓨터의 프로그램도 마찬가지로 24시간 내내 실행되어야 한다.

아까 터미널에서 "실행" 명령을 쳐서 실행시키다가 다시 터미널을 닫으면 프로그램이 꺼질것이다.

미널을 닫아도 프로그램이 계속 실행될 수 있도록 pm2 같은 도구를 사용하여 백그라운드로 프로그램을 실행한다.

 

5. 사용자들이 서버 컴퓨터에 접속할 수 있도록 설정

마지막으로 사용자들이 실제 인터넷을 통해 프로그램을 실행하기 위해 서버 컴퓨터에 접속해야 한다.

- IP 주소PORT 번호를 통해 접속하여 프로그램을 실행할 수 있다. 예를 들어 아까 3000번 포트로 서버에서 웹 어플리케이션이 실행되고 있다면 서버 IP 주소와 PORT(3000번) 번호가 필요하겠죠?

 

 

정리

서버 배포는 서버 컴퓨터에서 프로그램을 실행하고, 이를 인터넷을 통해 사람들이 사용할 수 있게 만드는 것을 말한다.
이 때 서버 컴퓨터는 24시간 내내 실행할 수 있는 고성능 컴퓨터 or 가상화 컴퓨터를 사용해야 한다.