본문 바로가기
AWS/EC2

AWS배포2. node/mysql 설치 및 환경변수 설정

by 혀닙 2022. 5. 11.

목차

  1. nodeJS 설치
  2. mysql 설치
  3. 워크벤치 접속 테스트
  4. mysql 외부 접속 설정
  5. 환경변수 설정

 

 

 


 

1. NodeJS 설치하기

1-1. 아래의 코드를 순서대로 입력

 

```sh
$ sudo apt update
$ sudo apt upgrade -y 
$ sudo apt install -y build-essential
$ sudo apt install net-tools
$ sudo apt install curl

 

 

1-2. nvm 설치

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

$ source ~/.bashrc

 

 

 

1-3. nvm 버전 확인

$ nvm --version

 

 

 

1-4. nodeJS LTS 설치

nvm install node --lts

 

 

 

1-5. 설치된 node 버전 확인

$ nvm ls

$ node --version
$ npm --version

 

 

 

2. mysql 설치

2-1. mysql 설치

```sh
$ sudo apt install mysql-server -y
$ mysql --version

 

2-2. mysql service 실행

$ sudo service mysql start

 

2-3. root 계정으로 mysql 접속

$ sudo mysql -u root

 

 

<참고> root 계정의 비밀번호 변경

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '비밀번호';

 

 

2-4. sql에 접속 후 아래의 코드 순서대로 입력

  • mysql에서 사용할 계정 생성 및 비밀번호 설정하여 권한 부여
use mysql;
UPDATE user SET plugin='caching_sha2_password' WHERE User='root';

create user '사용할계정명'@'%' identified WITH mysql_native_password by '비밀번호';
grant all privileges on *.* to '사용할계정명'@'%' with grant option;
FLUSH PRIVILEGES;

exit

 

<참고> root 계정예 비밀번호가 세팅되는 초기 비밀번호가 있는지 알아보기

select host, user, plugin, authentication_string, password_last_changed from user;

 

 

2-5. mysql service 재실행 및 생성한 계정으로 접속

sudo service mysql restart;
mysql -u계정명 -p;

 

 

3. 워크벤치 접속테스트

 

4. mysql 외부 접속 설정

4-1.

$ sudo netstat -ntlp | grep mysqld

 

 

4-2. 아래의 코드를 순서대로 입력

  • mysql.conf.d 디렉토리 내에 있는 mysql.cnf 실행
  • bind-address 부분을 0.0.0.0 으로 변경

$ cd /etc/mysql/mysql.conf.d
$ ls

$ sudo vi mysqld.cnf

 

4-3. mysql service 재실행 및 아이피주소 확인

$ sudo service mysql restart
$ sudo netstat -ntlp | grep mysqld

$ ifconfig # 아이피주소 확인해보기.

 

4-4. aws 사이트의 인스턴스에서 보안그룹 규칙 추가

https://yellow-w.tistory.com/283

 

링크의 3-6번 부분을 참고하여 보안그룹 규칙을 추가해보자.

 

 

 

 

5. 환경변수 설정

5-1. cross-env 설치

 

$ npm install cross-env

 

5-2. 노드JS환경에서 아래와 같이 입력

"scripts": {
    "test": "echo \Error: no test specified\" && exit 1",
    "start": "cross-env NODE_ENV=production node sample"
}

 

5-3. sample.js

const url = process.env.NODE_ENV === 'production' ? 'http://53.12.12.12' : 'http://localhost:3000'

 

5-4. 사용 예시

axios.defaults.baseURL = process.env.NODE)ENV === 'production' ? '' : 'http://localhost:3500/'

 

 

'AWS > EC2' 카테고리의 다른 글

AWS배포5. Next 빌드  (0) 2022.05.12
AWS배포6. 백그라운드에서 서버 돌리기  (0) 2022.05.12
AWS배포4. 탄력적ip 및 도메인 연결  (0) 2022.05.12
AWS배포3. NGINX  (0) 2022.05.12
AWS배포1.  (0) 2022.05.11

댓글