배포 과정
- 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
$ 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
$ vi ~/.bash_profile
git 설치 및 clone
이제 제작한 프로젝트를 git clone [주소] 하면 된다.
$ git clone https://github.com/innovationacademy-kr/slabs-saver
nginx 설치 및 실행
$ sudo amazon-linux-extras install nginx1.12
$ sudo systemctl start nginx
AWS 인바운드 규칙 설정
실행중인 EC2를 확인 해보자
443 포트와 80 포트를 열어주자.
잘 연결되었는지 확인 해보자.
잘 접속이 됩니다.
MariaDB 설치
밑의 링크를 참고해라.
https://okdevtv.com/mib/mariadb
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
환경변수에 숨켜야할 비밀번호등을 저장하는것 이다.
이 부분은 알아서 할 수 있을거라 생각한다.
'42서울_오픈소스프로젝트' 카테고리의 다른 글
#1.0 나도 한번 서비스를 배포해보자! (EC2 인스턴스 생성 과정) (0) | 2021.07.10 |
---|