매일 땡기는 마라 코딩

[인프런] 맛집지도 만들기 (10) 본문

클론코딩

[인프런] 맛집지도 만들기 (10)

cmkoi1 2023. 2. 9. 19:23

비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지

 

비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지 - 인프런 | 강

내가 좋아하는 유튜버의 맛집지도를 만들면서 프론트엔드, 백엔드, 카카오맵 API 사용법, 배포까지 한번에 배울 수 있는 풀스택 맛집지도 강의입니다., - 강의 소개 | 인프런...

www.inflearn.com

※ 해당 링크 강의 내용을 바탕으로 작성된 포스팅입니다.

 

 

 

서버를 구축하자! 쉽게 이해하고 만드는 AWS 서버

클라이언트 - 서버 관계론 이해, 네트워크 필수 지식 정리

서버는 클라이언트 요청에 응답해야 한다.

클라이언트가 서버에 요청하면 서버는 Backend에 로직을 넘기고 Backend에서는 DBMS에 넘겨 저장. 응답은 반대 순서.

 

클라이언트: 웹, ios, Android 등

서버: Apache, Nginx, Tomcat, Express 등

Backend: ASP, JSP, PHP, Node.js, Django, spring 등

DBMS: MySQL, MSSQL, Oracle, mongoDB 등

 

클라이언트 요청에 필요한 것

1. 서버 주소(IP, Domain 등)

IP는 사람이 이해하기 어려운 형식이어서 Domain을 쓴다.

2. Port 번호

3. Protocol

각 프로토콜마다 주로 사용하는 포트 번호가 있음. 일반(HTTP - 80, HTTPS - 443), 관리자(SSH(터미널 접근) - 22, SFTP(파일 전송) - 22, FTP(파일 전송) - 21, MySQL(DB) - 3306) 등. 

 

AWS EC2 인스턴스 임대, Nginx + Node.js 설치

aws에서 서버 컴퓨터를 빌리는 과정

  • aws 가입 및 로그인  EC2 서비스 선택  지역 서울로 바꾸기  인스턴스 → 인스턴스 시작 버튼 클릭 → ubuntu 18.04 선택 → 인스턴스 유형 t2.micro 선택 → 새 key pair 생성→ 인스턴스 시작
 

클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services

 

aws.amazon.com

 

 

 

컴퓨터 접근을 위해 winscp putty툴 설치.

 

Putty, WinSCP사용법(Window서버 putty접속하는 방법)

AWS EC2 인스턴스에 원격 접속할 수 있는 Putty와 파일을 전송할 수 있는 WinSCP 사용법에 대해 알아보자. ( 여기서 EC2인스턴스의 생성법까지 다루진 않는다. )

gunbin91.github.io

putty: SSH 프로토콜, 터미널로 접근할 수 있게 도와주는 프로그램.

winscp: FTP 프로토콜로 접근할 수 있게 도와주는 클라이언트 프로그램.

 

winscp와 putty 연동 방법

  • winscp 실행 → 설정(Ctrl+Alt+P) → 통합 → 프로그램 → 찾아보기 → 다운로드에서 putty.exe 파일 찾이 연결

 

 

고정 IP 할당

퍼블릭 IPv4 주소는 변동되기 때문에 탄력적 IP 주소(고정 IP)를 할당.

  • aws → EC2 → 네트워크 및 보안 → 탄력적 IP → 탄력적 IP 주소 할당 버튼 클릭 → 할당 버튼 클릭 → 작업 → 탄력적 IP 주소 연결 → 인스턴스 선택하고 연결 버튼 클릭

생성한 고정 IP를 winscp의 로그인 창 호스트 이름에 넣어 준다. 사용자 이름은 ubuntu.

비밀번호는 고급  SSH  인증  key pair 파일찾기  모든 개인 키 파일로 선택해 찾기.

 

 

 

nginx 설치

  • PuTTY에서 열기(Ctrl+P)
  • 창이 뜨면 sudo su 명령어로 관리자 모드로 전환
  • apt-get update 명령어로 패키지 관리자 업데이트
  • apt-get install nginx 또는 apt-get install nginx -y 명령어로 nginx 웹 서버 설치

포트 열기

  • 인스턴스 → 보안 탭 → 인바운드 규칙 → 보안 그룹 링크 클릭 → 인바운드 규칙 탭 → 인바운드 규칙 편집 → 규칙 추가 → HTTP, Anywhere-IPv4 선택 후 규칙 저장
  • 크롬 창에 고정 IP를 입력.

정상적으로 서버 접근

 

 

 

Node.js 설치

  • apt-get install nodejs 명령어 입력
  • node -v 명령어로 버전 확인
  • curl -sh https://deb.nodesource.com/setup_14.x -o nodesource_14_setup.sh 명령어 입력
  • bash nodesource 적고 Tab(자동완성) 키 눌러 ppa 등록 완료
  • apt-get install nodejs 명령어 입력
 

Ubuntu 18.04 Node.js 설치 방법

(참고 링크) distro-stable version 설치 (apt) 간단하게 apt를 이용해 설치해보겠습니다. $ sudo apt update $ sudo apt install nodejs $ sudo apt install npm 그런데 버전이 너무 낮습니다. 최신 버전을 받기 위해 PPA(Person

torbjorn.tistory.com

 

 

 

My SQL  환경 구축, 외부 접속하는 방법

DB 설치 및 접근

  • apt-get install mysql-server 또는 apt-get install mysql-server -y 명령어로 설치
  • mysql -u root -p 명령어로 mysql 접근
  • password는 설정되어 있지 않기 때문에 enter 누르면 바로 접속됨
  • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '여기에 password'; 명령어로 password 생성
  • exit; 명령어로mysql 나가기
  • mysql 접근 및 설정한 비밀번호 확인

 

이런 오류 발생

해당 블로그 내용 따라하니 해결.

 

Access denied for user 'root@'@'localhost' 해결방법

Ubuntu에서 mysql의 root계정 로그인이 안되는 경우 해결방법 ! ubuntu같은 일부 리눅스 시스템에서 mysql을 설치하고 $ mysql -u root -p 으로 로그인 시도를하면 'ERROR 1698 (28000): Access denied for user 'root'@'localh

oziguyo.tistory.com

 

 

 

외부접속 설정

아이디는 'root'로 해도 되지만 다른 아이디로 설정하는 것이 보안상 유리하다.

 

모든 IP 허용

  • GRANT ALL PRIVILEGES ON *.* to 'root혹은 아이디'@'%' IDENTIFIED BY '패스워드'; 명령 입력
  • flush privileges; 명령어로 변경 사항 저장
  • exit; 명령어로 종료

 

 

Listen IP 대역 변경

  • vi /etc/mysql/mysql.conf.d/mysqld.cnf 패키지 관리자로 설치한 mysql 설정파일 경로 입력
  • ↓ 키로 'bind-address = 127.0.0.1' 찾아 i, # 눌러 주석 처리
  • esc 키 누르고 :wq! 입력하여 저장하고 나가기
  • service mysql restart 명령어로 mysql 재시작

※ vi 편집기 사용 시 관리자 모드로 수정하지 않으면 오류가 난다.

 

 

 

mysql 외부 접속

 

MySQL :: Download MySQL Workbench

Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Red Hat Enterprise Linux / Oracle Linux Fedora macOS Source Code Select OS Version: All Windows (x86, 64-bit) Recommended Download: Other Downloads: Windows (x86, 64-bit), M

dev.mysql.com

로그인 안 하고 설치.

 

+ 버튼 누르면 창이 뜸

 

Connection Name에는 원하는 이름, Hostname에는 인스턴스 고정 IP, Username에는 외부접속 설정 Id, Password는 새로 설정한 후 Test Connetion 누르면... 실행 안 됨 → 포트 문제

 

포트 열기

  • 인스턴스 → 보안 탭 → 인바운드 규칙 → 보안 그룹 링크 클릭 → 인바운드 규칙 탭 → 인바운드 규칙 편집 → 규칙 추가 → MYSQL/Aurora, Anywhere-IPv4 선택 후 규칙 저장

다시 Test Connetion 시도해 보면 아래와 같은 창 나옴. ok 누르기.

 

성공 개빡셌다

 

728x90