본문 바로가기
개발(Development)/Etc(기타)

[AWS] EC2 Node.js, Mysql 설치 및 세팅 방법

by 카레유 2022. 7. 4.

# AWS EC2 에서 Node.js 와 MySQL 을 설치, 세팅하는 방법

EC2(Elastic Compute Cloud)에서

1) 인스턴스(컴퓨터 1대)를 생성하고, 

2) SSH 접속하여,

3) node.js 와 MySQL을 세팅하는 방법을 정리한다.


1. EC2 생성

- 리전 : 화면 우상단에서 리전을 "서울" 등으로 선택하고 시작

- 인스턴스 시작 : EC2 서비스 화면에서 "인스턴스 시작"

- 이름 입력: 원하는 이름을 입력.

- OS 이미지 선택 : 원하는 OS를 골라준다. (이 글은 리눅스 우분투 기준이다)

- 방화벽(보안그룹) : ssh 22포트 체크 확인. (SSH 접속 용도)

   - 필요에 따라 http 80포트, https 443 포트를 추가해둔다. (웹서버 접속 용도)

- 키페어: SSH Key.pem 파일도 생성하여 잘 다운로드 받아둔다. (기존 게 있다면 그대로 사용도 가능)

 

 

2. EC2 접속(SSH)

- 터미널이나 Putty 등의 SSH 접속 프로그램을 켠다.

- SSH Key.pem 파일이 저장된 경로로 이동한다.(cd 명령어 등을 통해)

 

1) key.pem 파일 권한 수정

- chmod 400 SSHkey.pem

 

2) EC2 접속

 - ssh -i "SSHKey.pem" ubuntu@퍼블릭 IPv4 DNS

 

* 명령어를 직접 확인하려면

* EC2 > 인스턴스 경로에서, 인스턴스 선택한 다음 "연결"을 클릭 후,

 

* SSH 클라이언트 탭을 선택하면 볼 수 있다.

 

EC2 접속에 성공하면, 본격적으로 설치를 시작한다.

* 터미널에서하는 모든 작업은 권한 에러가 뜰 경우, sudo 를 붙여주거나 처음부터 sudo su 로 시작해주자.

 

3. Node.js 설치

- 아래의 명령어를 하나씩 차례대로 수행한다.

- apt-get update

- apt-get install -y build-essential

- apt-get install curl

- curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash --

- apt-get install -y nodejs

 

* build-essential을 설치하지 않으면, 일부 npm 모듈 설치가 잘 안 된다고 해서 가급적 설치하는 편이다.

* 위 명령어는  Node.js 14 버전을 설치한다. (Node.js 16이나 18 버전을 설치하려면, 숫자만 바꿔주면 된다)

* 참고 : https://github.com/nodesource/distributions/blob/master/README.md#debinstall

 

/* ------

Node.js 설치 후,

npm insall 으로 패키지 설치시, 아래와 같은 Bcrypt 설치 에러 등이 발생할 수 있다.

 

npm ERR! Failed at the bcrypt install script.

Pre-built binaries not installable for bcrypt@5.0.1 and node@14.19.3

Node Pre gyp install failed with error Error command failed node Pre gyp install fallback-to-build

 

아래 명령어 수행후, 터미널을 껐다가 재접속하여 npm install을 다시 해주면 된다.

 npm i -g node-pre-gyp 

------ */

 

 

4. mysql 설치

- 설치 : apt-get install -y mysql-server

- 설치 버전 확인: mysql --version

 

 

5. mysql 비밀번호 설정

- root 로 접속: mysql -u root -p 

  * password 는 없을 것이므로, 그냥 엔터 치면 된다.

 

- mysql 데이터베이스 사용: use mysql;

- 계정 정보 확인: select Host, User, authentication_string from user;

 

- root 비번 변경 : alter user 'root'@'localhost' identified with mysql_native_password by '사용할비밀번호';

- 적용: flush privileges;

 

- 확인: select Host, User, authentication_string from user;

 

- 다음부터 설정한 비번으로 root 접속하면 된다.

 

- 만약 MySQL System Time Zone을 KST 변경하려면, 터미널 상에서 아래 명령어 수행.

cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime


자주 하는 작업이 아니라, 할 때마다 헷갈려서 정리해둔다.

 

 

 

댓글