AWS - 백엔드 서버 구축

UnKnown12·2023년 3월 8일
0

OS - 운영체제

목록 보기
3/3

📌 서버 - 클라이언트 개념 정리

서버 = 클라이언트 요청의 응답을 담당

  • 비지니스 로직 구조에서 첫 시작점
    클라이언트 <-> 서버 <-> BackEnd 로직 <-> DB

  • 서버 예시
    ( 웹 서버 - Apache , Ngix , Tomcat, Express
    사용언어 - ASP, JSP , PHP , Node.js(Express), Django , Spring
    DBMS - MySql , MSSQL , Oracle, Mongo )

  • 서버 주소
    IP , 클라이언트에게는 도메인 ( www. ) 으로 보여진다.

( ! cmd - nslookup (도메인주소) 로 IP 주소를 확인할 수 있다. )

📌 프로토콜 과 포트

클라이언트가 서버에 접근하기 이전
접근하는 방법과 주소를 뜻한다.
ex ) 프로토콜 = 도보 차량 지하철 , 포트 = 입구

  • 프로토콜 = 클라이언트 <-> 서버에 접근하는 방법
    ex) HTTP , HTTPS(보안) , SSH , SFTP, FTP , MySql

  • 포트(Port) = 클라이언트가 서버에 접근할 수 있는 주소
    각 프로토콜 마다 각기 다른 포트가 정해져 있어
    정해진 포트에 접근 시 특정 프로토콜로 연결이 가능하다.
    ex) HTTP - 80 , HTTPS - 443 , SSH , SFTP - 22 , FTP - 21 , MySQl- 3306

  • HTTP , HTTPS = 일반적인 접근 방법

  • SSH , SFTP , FTP(파일전송) , MySql(DB관련) 포트 - 관리자 접근 방법

📌 AWS 서버구축 설정

1. EC2 서비스 선택

2. 인스턴스 생성

  • 인스턴스 시작 - Ubuntu 18.04 ver
  • 인스턴스 유형 - t2.micro ( 기본 값 )
  • 키 페어 - 새 키 페어 생성
  • 스토리지 구성 - 8gb gp2 ( 기본 값 ) ※ 최대 32기가 가능

3. 탄력적 IP 설정 ( 고정 IP )

  • 탄력적 IP - 작업 - 탄력적 IP 생성
    기존에 있는 인스턴스 IP 키와 연동 후 탄력적 IP 생성

📌 Winscp , Putty 설정

Putty = SSH 프로토콜 접근 클라이언트
Windscp = FHP 프로토콜 접근 클라이언트

다운로드 링크
https://gunbin91.github.io/aws/2020/01/10/aws_1_putty,winscp_.html

  • Winscp ( 64비트 , 개인설정에 맞게 )
  • putty.exe 다운로드

Winscp + Putty 연동

  • 환경설정 - 통합 (프로그램 ) - 내 Putty 위치경로 설정
    = Putty 자동연결 성공

New 세션 생성

  • 세션 생성

  • 호스트이름 = 탄력성 IP 주소

  • 사용자 이름 = 생성한 인스턴스 이름 ( ex. ubuntu )

  • 비밀번호 = 생성한 pair 파일
    ( 모든 key 설정 후 putty 파일로 자동 변환 필요 )

  • 저장 후 로그인

  • Crtl + P 로 Putty 명령창이 뜬다면 성공

📌 putty 터미널 설정

  • sudo su = 관리자 권한으로 변경

  • apt-get update = 패키지, 서버 , node , SQL 업데이트

  • apt-get nginx install - ngix 설치

📌 생성한 Nginx 포트 설정

    1. 생성한 인스턴스 페이지 -> 보안 탭 -> 인바운스 규칙
    1. 인바운스 규칙 편집
  • 인바운드 규칙 추가 -> HTTP 유형 - > 소스 ipv4 유형 설정 후 규칙저장

  • Mysql/Aurora 유형 -> ipv4 유형 설정 후 추가

    1. 웹 브라우저에 IP 주소 입력 후 서버에 접근

해당 결과가 나온다면 웹 서버 설치 성공

📌 Node.js 설정

  • putty 터미널에서
    apt-get install nodejs 명령 후 설치
    ( 기본 8 버전이 설치됨 )

  • node.js 14 버전 설치 ( putty 터미널 입력 코드 )

    	 curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
    
    	sudo apt-get install -y nodejs
  • node -v , npm -v - 버전 및 설치 확인

📌 DB ( Mysql 서버 ) 설정

  • apt-get install mysql-server - DB ( mysql ) 설치

  • mysql -u root -p = mysql 접속
    ( 초기 password 는 입력 없이 바로 엔터 )

  • 루트 계정 비밀번호 생성

    	ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password' BY '원하는 비밀번호' 
  • 이후
    mysql -u root -p 통하여 mysql 재접속

❗ 비밀번호 잊었거나 잘못 설정했다면 ?

관리자 권한으로 수정해야한다
해당 페이지 참조 >>>링크텍스트<<<

📌 Mysql 외부 접속

  • mysql 접속후 모든 IP 허용

    	 grant all privileges on *.* to ‘root’@‘%’ identified by ‘000001’;
  • 변경 저장 완료
    flush privileges;

  • LISTEN IP대역 변경
    ubuntu 터미널에서 아래 코드 입력

    	vi /etc/mysql/mysql.conf.d/mysqld.cnf 
  • bind-address ( 로컬호스트만 접근가능 )
    부분을 주석처리
    ( 'i' = 수정 '#' = 주석처리 'esc' = 뒤로가기 )

  • 이후 :wq! ( 저장하고 종료 )
    저장이 되지 않는다면 관리자 권한으로 수정
    :w !sudo tee % > /dev/null
    :q! #나가기

📌 모든 설정 이후 Mysql workbench 또는 Datagrip 에서 생성한 DB 조회 및 수정이 가능하다

🖇️ ubuntu , putty 터미널 에러 해결 방법 >>>링크텍스트<<<

🖇️ 영상 참고 자료 링크텍스트

profile
Hyobin12

0개의 댓글