티스토리 뷰
안녕하세요 여러분!
지금까지 열심히 만들어 온 프로젝트를 드디어! 서버에 배포하는 방법에 대해 알아보겠습니다.
1. AWS EC2 인스턴스 생성
* EC2란?
Elastic Compute Cloud의 약자로, 아마존 웹 서비스에서 서버를 배치하기 위해서 사용되는 서비스 à EC2의 Instance를 생성해 서버를 사용할 것!
- Instance 생성 방법
1) www.aws.amazon.com/ko 접속
2) Likelion.org 계정으로 로그인
3) Services > Compute > EC2 메뉴 클릭
4) Launch Instance 클릭!
위 4가지 단계를 완료하셨다면, 본격적으로 Instance 및 서버 생성을 위한 Step들을 순서대로 따라서 해주시면 됩니다.
Step1: AMI는 Ubuntu Server로 Select 해줍니다.
Step2: Type은 Free tier인 12micro를 선택합니다.
Step3: 다음(Next: Add Storage 클릭)
Step4: 최대 30GB까지 제공하므로 30GB로 수정합니다.
Step5: 다음(Next: Configure Security Group 클릭)
Step6: Security Group 설정 à 특정 포트에서만 접속하기 위함
SSH는 놔두고 HTTP 포트를 추가합니다.
Step7: 다음(Launch 클릭)
Create a new key pair à Download Key Pair à Launch Instances 클릭
다운로드 된 key(.pem)는 재발급이 불가하므로 ★보관★에 유의해야 합니다!
Name까지 지정해주면 서버 생성 완료~!
2. GitHub 활용
Instance를 생성하면서 만든 서버에 내 프로젝트를 올리기 위해서는, 준비해야 할 과정이 2가지가 있습니다. 하나는 프로젝트에 Gem 설치 및 설정하는 것과 다른 하나는 프로젝트를 GitHub에 업로드하는 것입니다.
- 프로젝트에 Gem 설치
복잡한 setting 과정을 간단하게 script로 해결할 수 있습니다. 아래의 문서를 참고해 그대로 따라서 하면 바로 성공입니다!
https://github.com/likelion-net/auto-deploy-script (클릭)
* Figaro Gem : 우리가 만든 Key를 관리해주는 보안용 젬
- 프로젝트를 GitHub에 업로드
프로젝트를 GitHub에 업로드 해두어야 서버에 올릴 때 .git을 다운받아서 배포할 수 있습니다. 깃헙에 내 프로젝트를 올리기 위해서는 내 계정의 새로운 저장소(repository)를 만들어 줍니다.
1) New repository 클릭
2) Repository name 입력 (마음대로)
3) Public인 상태에서 Create repository 클릭
4) Repository가 다 만들어졌다면 프로젝트의 bash창에 다음 순서대로 명령어를 입력해 줍니다.
$ git init
$ git remote add origin repo주소(.git)
$ git add .
$ git commit -m "아무말 "
$ git push
$ 깃헙 아이디와 비번 입력
è 깃헙 저장소에 내 프로젝트 업로드 완료!
3. SSH 그리고 Deploy
배포를 위한 마지막 단계로 2가지 과정을 거치면 됩니다. 먼저, 프로젝트를 올릴 아까 만든 서버에 접속하는 과정과 다음으로 서버에 프로젝트를 배포하는 과정입니다.
이 2가지 과정 모두 운영체제가 리눅스(iOS 포함) 혹은 Windows에 따라 방법이 다르니 나눠서 설명해드리겠습니다.
- 리눅스 (iOS)
1) 서버 접속하기 <SSH>
: 리눅스 운영체제는 간편하게 터미널로 바로 들어가 시작이 가능합니다. 터미널에 접속하여 다음 순서대로 명령어를 입력합니다.
$ ls 위치/~.pem
è Pem Key 다운로드 확인
(* 위치 : pem key가 다운로드 된 위치)
(* ~.pem : ~에 자신의 pem key 이름 입력)
$ mv 위치/~.pem .ssh/
è Pem Key 위치를 ssh로 이동
$ sudo chmod 400 ~.pem
è Pem Key 접근이 가능하도록 권한 설정
$ 컴퓨터 암호
è 자신의 컴퓨터 부팅 시 입력하는 암호
$ ssh –i .ssh/~.pem ubuntu@서버 주소
(* 서버 주소 : 자신의 instance 정보에 있는 IPv4 Public IP)
è 서버 접속 완료!
2) 서버에 프로젝트 배포하기 <Deploy>
: Auto Deploy Script (자동 배포 문서)를 이용해 상당히 복잡한 배포 관련 코드를 간단한 표현으로 완성할 수 있습니다. 아래 문서의 EC2 설정 부분부터 참고하여 바로 따라서 하시면 됩니다.
https://github.com/likelion-net/auto-deploy-script (클릭)
- Windows
1) 서버에 접속하기 <SSH>
: 먼저 putty.org 에 접속해 putty.exe와 puttygen.exe 2가지 파일을 다운로드 합니다. 두 파일 모두를 이용해 서버에 접속하도록 할 것인데 먼저 putty.exe부터 사용합니다.
[putty.exe]
Pem key를 load (All Files로 열어줍니다.) à Save private key로 저장 à .ppk 확장자로 pem key가 새로 생성!
[puttygen.exe]
SSH>Auth 메뉴를 클릭해 아까 생성한 ppk를 선택 à Sessions 메뉴에서 Host Name for IP에 key의 IPv4 Public IP를 입력한 후 Open
마지막으로, putty 창에서 ubuntu를 입력하면 서버에 정상 접속이 된 것을 확인할 수 있습니다.
2) 서버에 프로젝트 배포하기 <Deploy>
: 리눅스와 달리 설정해 줄 것이 많은 Windows의 경우 아래 문서에서 참고해 순서대로 진행하면 훨씬 수월할 것입니다!
http://sooyoung32.blogspot.kr/2015/03/blog-post.html (클릭)
지금까지 직접 만든 서버에 직접 만든 프로젝트를 배포하기 위한 3 STEP 과정이었습니다.
숙대 멋사 여러분~! 곧 얼마 남지 않은 해커톤 준비 힘내시고 이번에 설명해드린 배포 방법을 곧! 유용하게 쓰실 수 있으면 좋겠습니다!
화이팅~!!!!!!!
'교육팀과 함께하는 > ruby on rails' 카테고리의 다른 글
[방학 2주차] REST API 정복하기 - (1) RESTful & (2) 다음 카카오 검색 API & (3) 네이버 성인검색어 판별 API (3) | 2017.08.14 |
---|---|
[방학 6주차] 좋아요 & 검색 기능 (4) | 2017.08.13 |
[방학 6주차] 권한 설정하기 (0) | 2017.08.04 |
[방학 2주차] 소셜로그인 (0) | 2017.08.03 |
[방학 1주차] 스캐폴딩과 리소스 라우팅 (0) | 2017.07.09 |