아마존 EC2 인스턴스를 통한 서버 배포

2024. 3. 15. 00:07카테고리 없음

728x90
반응형

#0. 개요

  • 아마존 ec2 서비스로 서버를 실제로 만들어 서버를 구축하고 싶은데, 매번 할 때마다 조금씩 찾아봐야 했어서 졸업프로젝트를 진행하는 과정에서 겪었던 문제와 함께 서버 구축 과정을 정리하였다.
    • 커맨드 위주

#1. 초기 세팅

1. 아마존 ec2 인스턴스 시작

https://codemonkyu.tistory.com/entry/AWSEC2-인스턴스-생성하기-12

  • 우분투 선택
  • 키페어 챙기기
  • 보안그룹설정
  • 탄력적 ip 설정

https://velog.io/@mintmin0320/AWS-EC2를-활용한-Nest.js-서버-배포

  • 인바운드 규칙
    • 포트번호 유의!
💡 진입 명령어: (window: cmd 창)
ssh -i "키페어 이름.pem" ubuntu@ec2-ip.ip.ip.ip.compute-1.amazonaws.com

 

2. 서버 세팅

  • npm 설치
sudo apt update

sudo apt install nodejs npm

npm -v
  • 깃헙 코드 연동
git clone <http://깃헙주소>

#2. 노드(ts) 실행 - 서버 커맨드

1. 서버 실행

  • 실행전 ts-문제 있을 때
    • 프로젝트 폴더
//typescript 가 아닌 javascript인 경우 아래 코드 무시 가능
npm install --save-dev typescript ts-node

npm install

npm run build
  • 실행
npm run start

2. 강제 삭제

  • 프로젝트 폴더 문제 있을 때
rm -r -f project-name

3. node_module 문제

  • node_module 문제
rm -rf node_modules

---

npm install

4. node 버전 문제

https://www.freecodecamp.org/korean/news/how-to-install-node-js-on-ubuntu-and-update-npm-to-the-latest-version/

https://iter.kr/우분투-nvm-node-js-설치-설정/

curl -o- <https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh> | bash

source ~/.bashrc

nvm -v

nvm install --lts # 최신 LTS 버전 설치

nvm ls # 설치된 Node.js 버전 목록

nvm run default --version # 현재 설정된 기본 노드 버전 확인

nvm alias default lts/* # LTS 버전 -  Zsh은 'lts/*'

#3. sql 설치

https://velog.io/@seungsang00/Ubuntu-우분투에-MySQL-설치하기

1. 서버 설치

sudo apt-get update

sudo apt-get install mysql-server

2. mysql 기본설정

//외부 접속 기능 설정 (포트 3306 오픈)
sudo ufw allow mysql

//MySQL 실행
sudo systemctl start mysql

//Ubuntu 서버 재시작시 MySQL 자동 재시작
sudo systemctl enable mysql

//MySQL 접속
sudo /usr/bin/mysql -u root -p

//사용자 정보 확인
SELECT User, Host, authentication_string FROM mysql.user;

//사용자 만들기
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'mysql비번';
FLUSH PRIVILEGES;
SELECT User, Host, authentication_string FROM mysql.user;

//사용자에게 특정 데이터베이스를 사용할 권한을 부여
GRANT ALL PRIVILEGES ON project.* TO 'project'@'localhost';
FLUSH PRIVILEGES;
SHOW GRANTS FOR 'project'@'localhost';

-------

//Mysql 비번 변경 방법
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('바꿀비번');

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '바꿀비번';

 

 

 

728x90
반응형