AWS에 node.js 프로젝트에 Docker와 Sequelize를 이용해 Mysql 연동

김진수·2021년 4월 1일
0
post-thumbnail

Ec2 ubutu서버 접속

ssh -i [aws에서 받은 keypair 끌어 넣기 ] ubuntu@ [aws public ip]

Node.js 설치

sudo apt-get install -y nodejs

docker에 있던 모든 것 삭제

sudo apt-get remove docker

도커 설치

sudo apt-get install docker.io

apt-get upgrate

sudo apt-get update

docker 버전확인

docker --version

권한 부여

sudo chmod 666 /var/run/docker.sock

docker내 mysql 연동

docker run -p 3306:3306 --name test-db -e MYSQL_ROOT_PASSWORD=1234 mysql:5.7 mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

test-db부분을 원하는 이름으로 바꾸고 password도 1234로 하면 유출 위험이 있기 때문에 보안성이 강한 password로 바꿔주세여

docker 접속

docker exec -it test-db /bin/bash

test-db에 위에서 만든 mysql 이름을 넣어 줍니다.

mysql 접속

mysql -u root -p

영원히 꺼지지 않는 pm2 설치

sudo -s
npm install -g pm2

filezilla를 이요해 ec2서버로 폴더들 올리기

오른쪽에

  1. 프로토콜 : SFTP 선택
  2. 호스트 : ec2 public ip 입력
  3. 포트 : 22입력
  4. 로그온 유형 : 키 파일 선택
  5. 사용자 : ubuntu(aws ec2 생성할때 선택했던 os 입력)
  6. 키파일 : ec2 생성 시 만든 키파일 끌어 올리기

연결 버튼을 누릅니다.

위와는 다르게
오른쪽에 서버가 연결되어 ec2 폴더구조가 보입니다.

ec2서버에 접속하여 프로젝트 폴더로 이동

위에 맨처음 입력했던

ssh -i [aws에서 받은 keypair 끌어 넣기 ] ubuntu@ [aws public ip]

을 입력하고

cd [프로젝트 폴더 이름]

sequelize 설정

npm install -g sequelize-cli

데이터베이스 생성및 적용

npx sequelize db:create
npx sequelize db:migrate

pm2 시작

pm2 start app.js(시작 파일)

80번 포트를 3000번포트로 연결

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000

보시는 바와같이 정상적으로 동작합니다.

profile
백엔드 개발자

0개의 댓글