42서울_오픈소스프로젝트

#1.1 EC2 접속 및 서버 환경 준비하기

코딩클로스 2021. 7. 10. 23:20

배포 과정

  • EC2 인스턴스
  • node.js
  • git
  • git clone
  • nginx
  • copy .env, awsconfig.json
  • mariadb
  • S3
  • domain change (Router 53)
  • SSL
  • db migration
  • deploy script 수정
  • 데이터 백업

EC2에 접속하기

밑의 경로로 들어가면 액세스 키와 시크릿 키를 발급받는 방법이 있다. 미리 발급 받자. 

https://www.44bits.io/ko/post/publishing_and_managing_aws_user_access_key

 

아마존 웹 서비스 IAM 사용자의 액세스 키 발급 및 관리

아마존 웹 서비스 계정은 하나의 루트 계정과 다수의 IAM 사용자로 구성됩니다. 각 사용자는 자신의 권한으로 외부에서 API를 호출할 수 있는 토큰을 발급받을 수 있습니다. 이 액세스 키를 발급

www.44bits.io

$ brew install awscli 
$ awsconfigure

 

region name은 밑에 그림 처럼 로그인된 AWS URI를 잘 참고해라

output format은 json으로 하면된다.

 

이제 EC2에 접속하자

인스턴스 상태가 Pending 에서 Running이 될 때까지 기다리자.

Public IP를 복사하자. 

 

$ chmod 400 thesaver.pem 
$ ssh -i thesaver.pem ec2-user@[Public IP]

입력해서 접속하자.

접속 성공!

 

$ sudo yum update

명령어로 업데이트하자.

 

Nodejs 설치

$ wget https://nodejs.org/dist/v14.17.3/node-v14.17.3-linux-x64.tar.xz
$ tar xvf node-v14.17.3-linux-x64.tar.xz

 

명령어로 설치하면 된다.

그리고 bash_profile 설정

설정 이유는  밑의 경로에 들어가서 보면된다.

https://server-talk.tistory.com/8

 

bash_profile 시스템 환경변수 등록

bash_profile 시스템 환경변수 등록 알아보기 이번 포스팅에서는 리눅스를 사용하시다보면 보편적으로 컴맨드(명령어)로 사용하는 경우가 많습니다 리눅스에서는 이러한 경우에 사용자가 직접 명

server-talk.tistory.com

$ vi ~/.bash_profile

git 설치 및 clone

이제 제작한 프로젝트를  git clone [주소]  하면 된다.

 

$ git clone https://github.com/innovationacademy-kr/slabs-saver
 

innovationacademy-kr/slabs-saver

Software Labs CMS Open Source Project. Contribute to innovationacademy-kr/slabs-saver development by creating an account on GitHub.

github.com

 

nginx 설치 및 실행

$ sudo amazon-linux-extras install nginx1.12

$ sudo systemctl start nginx

 

AWS 인바운드 규칙 설정

실행중인 EC2를 확인 해보자

443 포트와 80 포트를 열어주자.

잘 연결되었는지 확인 해보자.

잘 접속이 됩니다.

MariaDB 설치

밑의 링크를 참고해라.

https://okdevtv.com/mib/mariadb

 

mariadb

 

okdevtv.com

MariaDB.repo 파일을 수정하자.

$ sudo vi /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

입력 해주자. 그리고 밑의 명령어를 순서대로 입력

$ sudo yum install MariaDB-server MariaDB-client

$ sudo systemctl start mariadb

$ sudo mariadb-secure-installation

 

MariaDB 데이타베이스 설정

터미널에 mysql이 제대로 돌아가는지 확인 해보자.

$ mysql

$ show databases;

그럼 이제 쿨하게 

$ Bye

그럼 MariaDB가 붙잡을 것이다.

다 yes로 해주고 비밀번호도 설정해주자.

다시 접속해보자.

$ mysql -uroot -p

$ [비밀번호 입력]

show databases;

mysql 데이타베이스가 보인다.

이제 우리가 사용할 데이터베이스를 생성하고 권한을 주자.

mysql 커맨드에 밑의 명령어를 입력하자.

create database [데이터베이스 명]

GRANT ALL PRIVILEGES ON [데이터베이스 명].* TO [유저 명]@localhost 
IDENTIFIED BY '[유저명]' WITH GRANT OPTION;

copy .env, awsconfig.json

환경변수에 숨켜야할 비밀번호등을 저장하는것 이다.

이 부분은 알아서 할 수 있을거라 생각한다.