AWS ec2로 배포하기

강보석·2021년 8월 2일
0

✨준비하기

AWS는 웹을 배포할 때 가장 많이 쓰는 클라우드 컴퓨팅 사이트입니다. 웹을 배포하는 데 필요한 서버를 제공하고 시간 당 쓴 서버 스펙에 걸맞는 돈을 지불하게 합니다. 처음 회원가입할 때 결제할 카드를 써야하니 자기도 모르는 새 큰 돈이 나갈 수 있으니 주의하세요.

처음 가입하게 되면 free tier라고 1년 간 여러가지 혜택을 주는데 그 중 t2.micro라는 ec2를 달마다 750시간을 쓰게 해줬던 걸로 기억합니다. 웹을 배포하려면 이 ec2를 쓸 줄 알아야합니다.

먼저 ec2를 만들었다고 가정하고 설명을 시작하겠습니다.

ec2에 연결하려면 vscode 터미널로 연결하거나 윈도우 같은 경우는 putty나 xshell을 이용해서 연결을 합니다.

연결을 하면 ec2를 만들었을 때 ubuntu를 선택했냐 혹은 윈도우를 선택했냐에 따라서 다른 화면이 나올텐데 저는 ubuntu를 선택했습니다.

✨세팅하기

🎐Node.js 다운

우분투에 접속하면 일단 기본적인 세팅을 해주어야 합니다. 저는 node로 웹을 만들었기 때문에 node를 다운받아야 합니다.

sudo apt-get update
sudo apt-get install -y build essential
sudo apt-get install curl //curl이 이미 깔려있을 경우 필요 없음
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash --
sudo apt-get install -y nodejs

이 명령어를 입력하고 node -v, npm -v를 입력해서 버전 정보가 나오면 정상적으로 node가 깔린 것입니다.

🎐코드 가져오기

그 후엔 코드들을 갖고 와야 하는데 github을 이용한 방법이 가장 편한 것 같습니다. 코드들을 github 레포지토리에 푸시하고 ec2에서 'git clone 해당경로'를 통해 코드를 가져옵니다. 그 후엔 package.json이 있는 폴더로 들어가 npm run start같은 명령어를 입력하면 배포가 완료가 됩니다.

그 외에 backend같은 경우는 데이터베이스도 필요할 수 있습니다. 저는 mysql을 써서 mysql을 다운 받는 법을 쓸 거지만 다른 것들은 구글에 입력하면 나올 겁니다.

MySql 다운 및 설정

기본적으로 mysql을 깔면 아마 5버전으로 다운이 될텐데 저는 8버전을 쓰고 싶기 때문에 그에 맞는 명령어를 가져왔습니다.

wget -c https://repo.mysql.com//mysql-apt-config_0.8.13-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
sudo apt update
sudo apt-get install mysql-server

아마 이 과정에서 설정하는 설명문이 나올텐데 영어를 조금이라도 하실 줄 아신다면 큰 어려움을 없을 겁니다.

이제 비밀번호를 설정해야합니다.

sudo su
passwd root
비밀번호 입력 후 exit;
sudo mysql_secure_installation
mysql -uroot -p
ALTERUSER'root'@'localhost'IDENTIFIED WITH mysql_native_password BY'비밀번호';

이렇게 하면 mysql 설치도 완전히 끝납니다. 참고로 .env 같은 파일은 레포지토리에 올리지 않았기 때문에 수동으로 만들어야 합니다.

원래 .env가 있어야할 폴더에 들어간 뒤 vim .env로 파일을 만든 후 i를 눌러 내용을 쓰신 후 esc를 누르고 :wq을 하면 저장하고 나가집니다.

그렇게 한다음 평소에 하는 것처럼 npm run start 같은 명령어로 실행시켜주시면 됩니다.

여기까지 ec2로 웹을 배포하는 법이었습니다.

profile
안녕하세요. 컴퓨터를 공부하는 학생입니다.

0개의 댓글