물에 살고싶은 개발자

AWS EC2 서버에 코드 업로드 및 배포방법 본문

AWS

AWS EC2 서버에 코드 업로드 및 배포방법

돼지사랑 2021. 6. 8. 18:10

시작하기에 앞서, 이 글은 AWS EC2 서버(이하 서버)를 전제로 설명하는 글이며, 필요한 프로그램이나 키 파일을 마련하는 방법에 대해선 간단한 설명글 링크만 두고 넘어가고 코드 업로드 및 배포방법에 대해서만 다룬다는것을 미리 밝힙니다. 또한, 기술은 편의상 프론트는 React, 백앤드는 Node, 서버 실행은 forever를 기준으로 설명합니다.

(사실 특정 기술스택은 큰 의미는 없음;)

 

언제나 그랫듯 선결론 

선 요약

1. 개발한 코드 파일을 서버에 업로드

2. SSH 접속으로 해당 코드를 실행 혹은 관련 프로그램을 시작 또는 재시작

 

시작 !

백앤드나 웹을 개발하고 나면 언젠가는 로컬에서 npm start 등의 명령어로 실행해서 테스트하던것(localhost:8080 등의 주소)에서 벗어나 실제 url만으로도 접속가능한 서버에 배포해야할때가 다가온다. 혹은 이미 배포되어있는걸 수정할때 역시 마찬가지. 그러므로 이번 글에서는 그 방법에 대해서 적으려 한다.

 

추가로 미리 얘기해둘것은 이 이외에도 서버에 배포하는 방법은 다양하지만, 일단 이 글에선 FileZilla와 putty를 이용해 배포하는 방법에 대해서만 설명한다. 또한 이 글은 필요이상으로 친절하게 느껴질 수 있으므로 Node 서버를 배포하는 방법은 이미 알고있고, Nginx로 리액트를 배포하는 방법이 궁금해서 들어온 사람들은 필자가 이전에 포스팅한 이 글이 더 빠른 도움을 줄 수 있음을 밝힌다. 

 

준비물

1. SSH 접속 프로그램 putty -> AWS EC2 서버(이하 서버)에 터미널 형태로 접속

2. FTP 접속 프로그램 FileZilla -> 서버에 파일을 업로드 할 수 있도록 접속

3. AWS EC2 키파일(ppk파일) -> 위 두가지 프로그램을 통해 서버에 접속할 때 필요한 키 파일

(키 파일 생성 및 putty로 접속하는방법 링크)

 

필요한 작업(개인적으로 내가 하는 순서대로 설명하겠다)

1. FileZilla로 개발 및 수정한 배포하려는 파일을 업로드

1-1. 접속 사이트 추가

위에 빨간 동그라미로 표시한 버튼을 클릭해 사이트관리자 창을 띄운다.
사이트 관리자 창

위 이미지에 대한 설명을 하자면

1번 클릭으로 새 사이트 생성

2번 클릭으로  SFTP 선택

3번에 서버주소를 입력 -> 따로 설정한게 없다면 포트는 비워둔다

4번 클릭으로 일반 선택

(혹은 키 파일을 선택 후 사용자명과 키파일을 추가해도 된다. 여기선 편집에서 추가하는 방법으로 설명할거니 일단 패스)

5번에 사용자명 입력(EC2에 따라 달라지는데 인스턴스를 우분투로 했다면 ubuntu 그 외 대부분은 ec2-user다. 자세한 사항은 관련내용링크)

5번까지 입력이 끝나면 연결로 연결이 가능하다. 하지만 아직 키파일을 세팅 안했으므로 확인으로 일단 놔두자 (연결이 안된다면 이 포스팅을 참고)

 

1-2. AWS EC2 키 파일(ppk파일)을 추가

편집-설정으로 설정창을 띄워 추가해준다.

키 파일 추가 버튼을 통해 ppk파일을 추가해준다.

여기까지 하면 정상적으로 접속될것이다. 위에서 설정한 사이트를 클릭 해 연결버튼으로 접속하자.

 

1-3. 접속 후 프로젝트 폴더에 해당 프로젝트파일(또는 폴더) 업로드

성공적으로 접속되면 아래와 같은 화면을 볼수있다

정상적으로 접속됏을떄 볼 수 있는 화면(가린건 ip 혹은 프로젝트명이라..ㅎ)

이부분은 자세한 설명이 필요없다고 생각한다. 그러므로 (대충 원하는 파일을 업로드하면 된다는 내용)

팁하자 주자면, 프로젝트를 통채로 업로드할때는 밑줄쳐둔 node_modules는 제외하고 업로드하는게 좋다.

저 폴더내부엔 어마어마한 양의 모듈들이 있기떄문에 쓸데없이 시간이 오래걸리고 서버리소스도 잡아먹음

2. putty로 접속해서 forever restart 혹은 forever start로 변경사항을 적용 및 실행

(간단한 forever 사용법 , forever github )

1. 서버 키파일(FileZilla에서 했던거랑 같은 ppk파일) 세팅

SSH -> Auth 클릭 후 Browse... 버튼을 클릭 해 추가

키 파일 추가를 위한 Auth

 

2. Session 에서 Host Name을 추가 후 아래 Saved Sessions에 원하는 이름을 지정 후 Save 버튼으로 저장

putty.exe

3. Open 버튼으로 연결

 

4. 서버에서 지정한 아이디로 인증 후 프로젝트 폴더로 이동(AWS EC2 인스턴스 종류별 사용자명 링크)

 

5. forever start 혹은 forever restart 명령어로 실행 혹은 재시작

(pm2 라던가 다른거 쓰면 그거 사용법대로 하면됨)

(프론트엔드를 배포하는 경우 웹서버도 같이 재시작해주자 Nginx의 경우 배포 방법 링크)

 

3. 서버의 URL로 접속해 잘 적용되었는지 확인

설명이 필요한가!?

 

글을 작성하면서 리얼타임으로 힘이 빠졋으므로 마무리는 생략하고 끗!

Comments