AWS사용법 - 서버,DB 부분

유성훈·2022년 11월 25일
0

AWS사용법

목록 보기
2/2
📌주요 목표 : aws에 mysql 서버 만들기 (준비 : putty, .pem확장자, aws, sqlyog)

참고 싸이트1
참고 싸이트2
(두개 모두 동일)

📌Step1 준비 작업
푸티(켜기) -> aws로그인 -> ec2 -> 인스턴스 -> 만들고자 하는 해당 인스턴스 선택

🎈푸티켜기
푸티 켜기 -> 호스트name이름 앞에는 항상 ec2-user@ 로 시작 + 뒤에 퍼블릭 주소 붙이기, ssh에 auth에 .ppk키 파일 저장위치 선택해서 넣어주기 -> open -> 리눅스 터미널(아마존 리눅스) 켜지면 성공

📌AWS리눅스 명령창에서 명령어 작업 하기

<🎈sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

(->참고 자료 -> 복사안되면 f12로 해당 부분 선택해서 html에 들어 있는 코드로 복사해서 사용 가능)
✏️명령어에 입력 하는 부분

(MuSql설치)
$ sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 
$ sudo yum install mysql-community-server
(만약 안되면 두개 순서 바꿔서 하기, 모두 y하기)
(서버 자동 시작 설정 + mysql 서버가 실행 되있는지 확인)
->$ sudo systemctl enable mysqld
->$ sudo systemctl start mysqld
->$ sudo systemctl status mysqld
=>active (running)초록색으로 뜨면 성공
->sudo grep 'A temporary password' /var/log/mysqld.log -> 이명령어를 통해 아래 초기 비밀번호를 알아낸다
->초기 비밀번호 xxxxxxxxxxx (초기 비밀번호가 나온다.)
->mysql -u root -p -> 위의 초기 비밀번호 입력 (보안상 복사 불가, 입력하는 것이 안보인다.)
==>mysql이 나오면 성공
(비번 바꾸기)
ALTER USER 'root'@'localhost' IDENTIFIED BY '쓰고싶은 비빌번호'
(비번 규칙 : 특수문자, 대분자,대분자,소문자, 숫자 포함)
==>OK라고 뜨면 성공
(MYSQL권한 주기)
->GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '비밀번호';
==>ok나오면 성공
(이제 모든 데이터를 조회할 수 있다.)
(위의 방법이 잘 안되면 확인 방법)
exit;
sudo systemctl restart mysqld
sudo systemctl status mysqld(mysql이 돌아가나 확인 하기)
(sqlyog켜기)
sqlyoug -> 파일 -> 새연결 -> 인스턴스 ip주소 , 상요자 이름 root, 비번 아까 설정한 비빌번호 입력
[오류가 뜰경우 아래 순서로 실행 하기]
(AWS -> 네트워크믹 보안 -> 보안그룹 -> launch-wizard-1 -> 인바운드규칙편집 -> 규칙추가 -> 포트번호 : 3306, 소스 : anywhere ip4(첫번째 클릭) -> 규칙 저장)
📢참고
(기존 디비를 가지고 오는 방법 OR 그냥 코드만 복사해서 붙여넣기로 해도됨)
기존에 작업하던 localhost에서 해당으로 이동 ->해당데이터 베이스 우클릭 -> 백업내보내기 -> 데이터베이스를 sql 덤프로 백업 -> 구조및 데이터 클릭 -> 내보내기 -> 바탕화면에 생김 -> 해당 코드 가지고 오기

📌마지막으로 기존 에서 수정해주어야 하는 것들
(기존 server.js에서 호스트 주소랑 비밀번호만 바꾸어 주면 된다.) :
==>기존 로컬 디비로 사용하던 것을 AWS로 바꾸기

DB2.add("project_apart", {
  //데이터베이스 이름 + 객체
  host: `127.0.0.1`, // == localhost
  user: "root",
  password: "",
  database: "project_apart", //sql에서 만든 데이터 베이스 이름
  port: 3306,

++

awiat axios 에서 url를 로컬호스트가 아닌 AWS 퍼블릭 주소로 모두 바꾸어 주면 된다

++

(서버 켜기)
ls -> 지금 폴더가 갖고 있는 파일들을 보여준다. -> ->cd 프로젝트명
->ls -> cd server -> node server.js

++

(만약 자기 서버 포트 번호가 4000이면 4000도 추가해야 한다.)
AWS -> 네트워크믹 보안 -> 보안그룹 -> launch-wizard-1 -> 인바운드규칙편집 -> 규칙추가 -> 포트번호 : 4000, 소스 : anywhere ip4(첫번째 클릭) -> 규칙 저장

===============AWS서버 연결 완료===================

📌간단 부가 설명(무중단 서비스 방법)
리눅스 입력창을 종료하면 서버도 종료된다. -> 항상 켜놓지 않고 끄더라고 서버가 실행되도록 하는 방법> ==> https://to2.kr/d9e(참고)
(컴퓨터가 꺼져도 서버가 유지되기 위해서는 무중단 서비스를 해야 한다.) pm2설치 필요
vsCode ->server기준으로 통합터미널 열기 -> npm install -g pm2@latest (gloabal로 했기 때문에 package.json에는 안보인다.) -> server폴더 안에

ecosystem.config.js만들기 -> 
module.exports = {
	app : [
		{
			name : "myapp",
			script : './server.js', //시작할 프로그램(서버 .js파일 이름이랑 같게)
			instances: 1, //cpu코어 수만큼 프로세스 생성
			exec_mode : "cluster", //클러스터 모드
			autorestart : false,
			watch: false,
		},
		],
};

-> 깃허브에 올리기 -> 푸티 리눅스 명령창에서 git pull origin master(수정된 프로젝트 받아오기) ->

푸티 끌때 exit로 종료 해주기

profile
프로그래밍 공부

0개의 댓글