개발공부일지
AWS , PuTTY , FileZilla, apache 본문
목차
1. 서버란?
2. 호스팅
3. 호스팅과 클라우드 비교
4. AWS
5. PuTTY
6. FileZilla
1. 서버란?
- 외부에서 접속이 가능한 컴퓨터로 서비스를 배포할때 필요한
- 하나의 컴퓨터에 여러의 유저가 접속하는 것
- 로컬서버도 있지만 외부에서도 가능해야한다.
- 만약, 집에서 공유기 연결하고 80포트 열고 서비스를 제공한다고 하면!
- 컴퓨터를 항상 켜두어야한다.
- 외부에서 많은 사람이 몰릴 경우 인터넷 자체에 제한이 걸린다.
- 병목현상이 일어나지않게 서버구축을 해야한다.
→ 그래서 호스팅을 사용한다!
2. 호스팅 (웹 호스팅)
- 파일을 올려두면 서버 구축을 다 해준다.
- 유료이지만 자체 세팅이 되어있어서 편리하다.
- 단점 : 유동적으로 맞출수없어서 최대치로 시작하면 접속량이적을때는 비용손실이고,
낮게 설정하면 최대치 접속량일 경우 서버가 터진다. (그 예로 대학교 수강신청!)
→ 그래서 클라우드 시스템이 나왔다! (가상컴퓨터)
3. 호스팅과 클라우드 비교
- 호스팅은 CPU, RAM, HDD 등을 전부 지정을 해두고 사용하는것이고
- 클라우드는 CPU, RAM, HDD 등이 따로 모여있고, 각각에서 조금씩 뽑아 사용하는것 (유동적으로)
→ 대표적으로 AWS, 구글클라우드, 네이버, KT클라우드, AZURE
- 호스팅은 외부에 컴퓨터를 두는것이라 고정을 시켜두고, 유동적으로 다룰수없다.
- 클라우드는 수정이 가능하고, 유동적으로도 켜두고 꺼두고 처리가 가능하다. (세세한 조작이 가능)
- 컴퓨터에는 최소치로 CPU, RAM, HDD, MAINBOARD 가 필요하다.
- 회사들 마다 다르겠지만 단순 웹페이지라면 호스팅을 사용한다.
- 많은 클라우드 중에서 AWS로 EC2를 사용하기!
4. AWS
- 아마존 웹 서비스 (클라우드)
- 인스턴스 생성하기 → 우분투가 설치된 컴퓨터를 만든것과 같아!!!!
- EC2 : 하나의 컴퓨터라고 생각하면된다!
- ROUTE 53 : 호스팅영역을 이용해서 도메인과 아이피를 연결해준다.
- Ubunut : LTS(버그가 잡혀있고 오래 서비스를 할거라는??)
- 64비트 (x86)
- 키페어 : 윈도우는 ppk사용, 맥은 pem사용 guniee22 키파일 잃어버리않게 파일 보관잘하기!
- HTTP 트래픽 허용 : 80포트를 열어주겠다는것 HTTPS는 443
- 인스턴스 ID
- 퍼블릭 IPv4 주소 (외부주소)
- 퍼블릭 DNS (도메인네임서버)
- VPC ID, 서브넷 ID : 인스턴스 만들면서 자동으로 할당된 ID (따로 건드릴필요X)
- IAM 역할 : 권한과 관련된 서비스
- Auto Scaling 그룹 이름 : 자동으로 인스턴스를 생성해서 늘리거나 줄일때 사용, 로드 밸런싱과 같이 사용하게된다.
(접속량이 많을때 인스턴스를 생성하고 다시 줄이는)
- 보안에서 인바운드규칙, 아웃바운드 규칙
- 인바운드 규칙 : 서버기준으로 요청이 들어왔을때 (하나하나 조절해주기)
- 아웃바운드 규칙 : 외부요청 보낼때 규칙
★ Mac의 경우 (터미널에서 이대로입력)
1. SSH 클라이언트를 엽니다.
2. 프라이빗 키 파일을 찾습니다. 이 인스턴스를 시작하는 데 사용되는 키는 guniee22.pem입니다.
3. 필요한 경우 이 명령을 실행하여 키를 공개적으로 볼 수 없도록 합니다.
4. 퍼블릭 DNS을(를) 사용하여 인스턴스에 연결:
★ Window의 경우 putty를 실행해서 퍼블릭 주소입력, 키파일로 연결하기
5. PuTTY
- PUTTY는 열어두는동안 계속 실행이 된다.
- sudo apt update : 최신버전의 로그를 다운받는것
- sudo apt upgrade : 업그레이드는 최신버전 로그를 기준으로 설치를 하는것!
- sudo apt install apache2 : apache2 설치
6. FileZilla
- 파일질라를 다운받고 사이트 관리자 열고 주소, 키파일
- 권한에 -rw-r--r-- 읽는것밖에 안되는 상황
- chmod read, write, execute
- 소유자, 그룹, 그외 사용자가 있다.
- 소유자/ 그룹은 root (최상위)
- 나는 그 외사용자 others (ubuntu)
- chmod /var/www/html index.html
- sudo chmod 777 html -R 을 입력해줘서 권한을 수정하고 파일을 올릴수가있다.
- apache로 웹페이지를 배포함!
- 라이브서버처럼 apache라는 프로그램이 파일을 받아서 응답을 해준것
- sudo service apache2 stop, start : 백그라운드에서 하는것을 멈추고 실행하게 할수있다
- apache2 폴더에서 sites-evailable, ports.conf 포트관련된 내용들이 담겨있다.
★ 오늘의 포인트와 남겨두기 ★
※ 키 페어 키파일 관리 잘하기!!!
(해킹당하거나 잃어버리면 다른사람이 내 서버를 사용할수가있게되고 비용이 발생할수도있음)
※ 생성한 인스턴스 : 1GiB, 하드디스크 8GiB
※ 도커 : 백그라운드에서 돌아가고있는것 (도커라는 프로그램은 VM)
※ VM 버츄얼머신 (os안에 os를 실행하는, 컴퓨터에서 핸드폰을 실행시키는) - docker (도커)
※ 참고하기
https://recipes4dev.tistory.com/175
※ nginx : apache와 대비되는 최신배포
※ ip 주소는 숫자.숫자.숫자.숫자로 이루어져있다. (255.255.255.255)
- IP IPv4, IP IPv6
※ certbot / python3-certbot-apache
※ 포트포워딩
※ OS
- window, linux, mac os, android, unix, tizen, ios
- window는 커널이 달라서 winAPI를 사용한다.
- 리눅스는 유닉스 기반, 우분투는 리눅스 기반, red hat/ centOS도 리눅스 기반
- 리눅스(우분투)를 쓰는 이유 : GUI가 없어 가볍기 때문에(마우스 포인터 사용X)
※ 도메인 만들기
'ETC' 카테고리의 다른 글
Github - Repositories, token, (0) | 2023.08.22 |
---|---|
Git ② - Branch, merge, rebase (0) | 2023.08.21 |
Git ① - git workflow, git add, git commit (0) | 2023.08.18 |
Linux ② - User , Shell, Process, Package Manager (1) | 2023.08.17 |
WSL ① - 리눅스(Linux), 우분투(Ubuntu), CLI, 디렉토리 (0) | 2023.08.14 |