UMC 3주차

Simple·2021년 10월 21일
0

UMC 1기 Server

목록 보기
3/9

by 심플


목차

  1. 학습 목표
  2. 3주차 수업 후기
  3. 실습
  4. 핵심 키워드
  5. 논의해보면 좋은 것들
  6. 4주차(DB) 수업 전 준비사항

1. 학습 목표

  1. OS 개념 적립
  2. 리눅스 환경 이해
  3. 도메인, 서브도메인, 리디렉션에 대한 이해
  4. AWS 기초적인 서비스 개념 이해
  5. AWS EC2 임대

2. 3주차 수업 후기

내가 하고싶었던 AWS EC2 임대해보기를 해서 좋았다.
점점 서버 개봘과 관련된 학습을 하는 것 같다.

3. 실습

과제

📝실습 체크리스트

  • AWS EC2 인스턴스 생성
  • ssh 사용하여 ubuntu 인스턴스 외부 접속
  • Nginx 패키지 설치 후 http 외부 접속
  • Mysql 패키지 설치 후 접속
  • PHP 패키지 설치 sudo apt install php-fpm , sudo apt install php-mysql
  • PHP와 Nginx 연동하기
  • Datagrip or Workbench 등으로 Mysql 외부 접속
  • 가비아 or 후이즈에서 domain 연결 (.shop 도메인)
  • Let's Encrypt 를 이용해 HTTPS 적용
  • Sub Domain 적용 (dev, prod)
  • Redirection 적용 (IP to Domain)

참고 사이트:

WinSCP와 PuTTY를 이용해서 AWS EC2 인스턴스에 접속하기

🔥 트러블 슈팅(실패한 경험도 성장을 위한 경험!)

  • 트러블 슈팅 양식

    [ 문제 원인 ] Mysql 권한을 주는 도중 오류났다. Mysql 8버전부터는 grant로 user생성이 불가하다.
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by '1234'' at line 1

    [ 해결 방안 ] Mysql 8버전부터는 grant로 user생성이 불가하다.

    CREATE USER 'simple'@'%' IDENTIFIED BY 'password';

    GRANT ALL PRIVILEGES ON . TO 'simple'@'%' WITH GRANT OPTION;

    FLUSH PRIVILEGES; 해결!

    [ 참고 자료 ]

    How to grant all privileges to root user in MySQL 8.0

4. 핵심 키워드

  • 운영체제(OS) 시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공하는 시스템 소프트웨어이다.



- 운영체제
    
    [IT관련용어 [ OS ] 운영체제 란 무엇인가? (운영체제 종류와 특징)](https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=pst8627&logNo=221663921157)
    
  • Linux :유닉스를 기반으로 만들어진 오픈소스 운영체제로서 윈도우의 GUI환경과 달리 CLI환경이며, 서버 개발에 주로 사용된다. <리눅스 구조>

여기서 커널=리눅스라고 봐도 무방하다. 쉘=윈도우의 cmd로 생각!

<리눅스 디렉토리 구조>

파일을 효율적으로 관리하기 위해 위와 같은 트리구조로 관리한다.

[기본설명 및 개념]리눅스의 구조 및 특징, 커널 버전, 다중 사용자 (다중작업)시스템

[Linux] 리눅스 파일의 종류와 디렉토리 구조

  • IP :인터넷 상의 고유한 주소 ex) 우리 집주소 경기도 성남시 xxx xxx = 192.168.xxx.xxx <심화> 어느 컴퓨터에게 데이터를 전송할지 '주소'를 갖고 있어서 통신. 우리가 자주 듣는 IP 주소가 바로 네트워크 계층 헤더에 속해있습니다. 여기서의 데이터는 '패킷'을 의미한다. OSI 7계층중에서 3계층(네트워크 계층), TCP/IP의 3계층(인터넷 계층)

[네트워크] OSI 7 계층 (OSI 7 Layer) 기본 개념, 각 계층 설명

- Packet(=내 집주소(IP주소)로 택배를 보낼 때 택배상자!)
    
    :클라이언트와 서버가 주고 받는 데이터
    
    - Header
        

[네트워크 보안] 패킷 헤더 구조(TCP, IP, UDP, ARP, ICMP)

    - Body
        - HTTP 요청이 전송하는 데이터를 담고 있는 부분
        - 전송하는 데이터가 없다면 body 부분은 비어있다
    

Lee's Grow Up

- IPv4
    - 32비트 길이의 식별자
    - 12자리의 번호로 이루어짐
    - 인터넷 사용자수가 급증 → 이를 해결하기 위해 IPv6등장
- IPv6
    - 128 크기의 식별자
    - 품질보장 용이, 모바일 IP 용이

IP주소란? (IPv4와 IPv6)

- Domain
    
    숫자로 된 IP를 알기 쉬운 영문으로 표현.
    

구조 파헤치기

- HTTP: 프로토콜(인터넷 통신간 정해진 규약)
- [www.example.com](http://www.example.com/) 은 도메인 이이며 이것은 어떤 웹 서버가 요구되는 것인 지를 가리킨다. 대안으로 IP주소를 사용해서 접속할 수 있지만 불편하므로 도메인 네임을 이용한다.
- :80 은 포트로서 이것은 기술적으로 웹서버에서 자원을 접근하기 위해 사용하는 "관문(gate)"이라고 할 수 있다.
- /path/to/myfile.html 은 웹서버에서 자원에 대한 경로
- ?key1=value1&key2=value2 는 웹서버에 제공하는 추가 파라미터,웹 서버는 자원을 반환하기 전에 추가적인 작업을 위해 이런 파라미터들을 사용할 수 있다.
- #SomewhereInTheDocument 는 자원 자체의 다른 부분에 대한 anchor(닻). An anchor 는 일종의 자원 안에서 "bookmark" 입니다. 즉, "bookmarked" 지점에 위치된 내용을 보여주기 위해 브라우저에게 방향을 알려줍니다.  (예시로 웹프로그래밍에서 <a href>로 특정 위치로 스크롤 이동되는 것을 생각하면 된다!)
    
    

데이터 분석을 위한 기초, URL 이해하기 | 뷰저블

What is a URL? - Web 개발 학습하기 | MDN

  • Domain 도메인은 인터넷에 연결된 컴퓨터를 사람이 쉽게 기억하고 입력할 수 있도록 문자(영문, 한글 등)로 만든 인터넷주소
  • Name Server <도메인 네임 스페이스>

문자열로 표현된 도메인 이름을 실제 컴퓨터가 통신할 때 사용하는 Ip주소로 변환시키기 위해서는 도메인 네임 스페이스의 트리구조에 대한 정보가 필요하며, 이러한 정보를 가지고 있는 서버를 네임 서버라고 한다.
  • Sub Domain :도메인의 보조적 역할을 하는 것

예시: https://www.naver.com = https://naver.com = naver.com 만 쳐도 같은 네이버가 나온다

  • blog.naver.com, cafe.naver.com , m.naver.com도 모두 서브 도메인 이다.
  • Redirection :Re(다시) + direction(지시)하다.

더 쉬운 예로 

- 클라이언트가 네이버 카페에 접속하기 위해 서버에 요청을 보냈다.
- 하지만 접근권한이 있어야 하므로 서버는 클라이언트에게 로그인 요청을 보내고
- 클라이언트는 로그인을 하여 서버에게 다시 요청을 보낸다.
  • AWS :아마존의 클라우드 컴퓨팅 플랫폼, 클라우드 컴퓨팅 개념을 알고 알아야 도움이 된다.
    • 클라우드 컴퓨팅이란?

      **인터넷을통해** IT 리소스와 애플리케이션을 **온디맨드**로 제공하는서비스,**종량 과금제**
      
      온디맨드: 수요가 모든 것을 결정하는 시스템
      
      즉, 여기서 내가 스펙을 요구하는 만큼(=온디맨드), 사용하는 만큼 과금을 내는 것(=종량 과금제)
      
      원격지 서버에 접속을 하는 것,  내가 컴퓨터를 갖고 있지 않아도 원격지에 있는 컴퓨터를 임대할 수 있음

      아마존 웹서비스와 클라우드 - 생활코딩

  • AWS EC2 :Amazon Web Services(AWS) 클라우드에서 확장 가능 컴퓨팅 용량을 제공
    • 더 빠르게 애플리케이션을 개발하고 배포할 수 있습니다.

    • Amazon EC2를 사용하여 원하는 수의 가상 서버를 구축하고 보안 및 네트워킹을 구성하며 스토리지를 관리할 수 있습니다.

      Amazon EC2이란 무엇입니까?

      EC2 소개 - 생활코딩

5. 논의해보면 좋은 것들

  • 클라우드 컴퓨팅이란? 인터넷을통해 IT 리소스와 애플리케이션을 온디맨드로 제공하는서비스,종량 과금제 온디맨드: 수요가 모든 것을 결정하는 시스템 즉, 여기서 내가 스펙을 요구하는 만큼(=온디맨드), 사용하는 만큼 과금을 내는 것(=종량 과금제) 원격지 서버에 접속을 하는 것, 내가 컴퓨터를 갖고 있지 않아도 원격지에 있는 컴퓨터를 임대할 수 있음
  • AWS의 다양한 서비스에 대해서 알아보기(ex. RDS, S3...) RDS:Amazon Aurora, MySQL, MariaDB, Oracle, Microsoft SQL Server 및 PostgreSQL과 같은 6개의 익숙한 데이터베이스 엔진을 제공합니다. 즉, 기존 데이터베이스에서 이미 사용하고 있는 코드, 애플리케이션 및 도구를 Amazon RDS에서 사용할 수 있습니다. Amazon RDS는 프로비저닝, 패치, 백업, 복원, 장애 탐지, 복구 등 일상적인 데이터베이스 작업을 처리합니다.

Amazon RDS 기능 | 클라우드 관계형 데이터베이스 | Amazon Web Services

S3: Simple Storage Service 즉 저장공간을 제공

S3 소개 - 생활코딩

후기: 3주차는 2주전에 진행했지만 시험기간으로 인해 시험끝난 오늘 업로드를 했다. 너무 피곤하다. 4주차를 수행하러 가야지,,

profile
몰입하는 개발자

0개의 댓글