BackEnd/Server Study

[UMC] Server 2주차 워크북 (클라우드 구축)

하노정 2023. 4. 10. 21:00

UMC Server 2주차 워크북 기록입니다. 


📌 실습 및 미션

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

 

1. AWS EC2 인스턴스 생성

aws ec2 인스턴스 생성

 

2. ssh 사용하여 ubuntu 인스턴스 외부 접속

https://thekoguryo.github.io/oci/chapter03/5/2/

 

3.5.2 Windows에서 PuTTY로 접속하기

3.5.2 Windows에서 PuTTY로 접속하기 PuTTY Key Generator로 생성한 SSH Key는 Save private key를 통해 PuTTY Private Key (PPK) .ppk로 저장하여 PuTTY에서 사용

thekoguryo.github.io

putty download
ssh 외부 접속 화면
ssh 외부 접속 성공

 

3. Nginx 패키지 설치 후 http 외부 접속

https://ye5ni.tistory.com/131

 

[ec2 1탄] AWS EC2 임대 및 서버 구축해보기

1. AWS EC2 인스턴스 생성 자세한 과정은 밑에서 확인!!! ↓↓↓ 더보기 ✅ AWS(Amazon Web Service) EC2 뽀개기 1. AWS 회원 가입하기 https://ap-northeast-2.console.aws.amazon.com/console/home?region=ap-northeast-2# https://ap-nor

ye5ni.tistory.com

nginx 설치
aws ec2 http 인바운드 규칙 추가
http 외부 접속 성공

 

4. Mysql 패키지 설치 후 접속

mysql 설치 후 접속 성공

 

5. PHP 패키지 설치

php 설치

 

6. PHP와 Nginx 연동하기

php와 nginx 연동
php 파일 생성
php 접속 성공

 

7. Datagrip or Workbench 등으로 Mysql 외부 접속

https://jminie.tistory.com/101

 

MySQL 외부접속 - MySQL Workbench 사용

현재까지 내 환경을 정리해보면 클라우드 서버 : AWS EC2 WebServer : Nginx BackEnd Language : PHP DBMS : MySQL 이 환경이 구축되어 있지 않다면 앞선 포스팅을 통해 구축을 하고 와야 한다. AWS에 Nginx, MySQL, PHP

jminie.tistory.com

aws ec2 mysql 인바운드 규칙 추가
workbench mysql 외부 접속 성공
workbench mysql 접속 화면

 

8. 가비아 or 후이즈에서 domain 연결 (.shop 도메인)

https://ye5ni.tistory.com/132

 

[ec2 2탄] 가비아에서 도메인 구매 후 연결하기 & HTTPS 적용하기

https://ye5ni.tistory.com/131 [ec2 1탄] AWS EC2 임대 및 서버 구축해보기 1. AWS EC2 인스턴스 생성 자세한 과정은 밑에서 확인!!! ↓↓↓ 더보기 ✅ AWS(Amazon Web Service) EC2 뽀개기 1. AWS 회원 가입하기 https://ap-no

ye5ni.tistory.com

https://velog.io/@banjjoknim/Lets-encrypt%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC-Nginx%EC%97%90-HTTPS-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0

 

Let's Encrypt를 이용하여 Nginx에 HTTPS 적용하기

먼저, 본 과정을 진행하려면 전제조건이 필요하다.Ubuntu 16.04 서버 1개(버전에 따라 대동소이할 것이다. 참고자료를 살펴보자).완전히 등록 된 도메인 이름(본인의 경우에는 가비아에서 구매한 도

velog.io

가비아 도메인 구매
가비아 dns 설정
도메인 주소 연결 성공
도메인 nslookup

 

9. Let's Encrypt 를 이용해 HTTPS 적용

nginx 설정 파일
nginx 설정 파일 수정
nginx 설정 파일 테스트
방화벽 통한 https 허용 확인
ssl 인증서 받기
https 성공 (자물쇠 확인)

 

10. [선택] Sub Domain 적용 (dev, prod)

https://velog.io/@banjjoknim/%EC%84%9C%EB%B8%8C-%EB%8F%84%EB%A9%94%EC%9D%B8-%EB%B0%8F-Redirection-%EC%A0%81%EC%9A%A9

 

Ubuntu Nginx에서 서브 도메인 및 IP to Domain Redirection 적용

라이징 프로그래머2의 2주차 챌린지 과제로 주어진 것은 다음과 같다. Ubuntu Nginx LEMP(Linux, Nginx, MySQL, PHP)환경에서 서브 도메인 적용하기 IP to Domain Redirection 적용하기 진행하기에 앞서, 본인은 가

velog.io

sub domain dns 설정

/etc/nginx/sites-available에 default 말고 dev.hojeong.shop 파일을 따로 만들어 여기에 sub domain server block을 추가했다. 그리고 /var/www에 dev.hojeong.shop 생성해서 여기에 index.html 파일을 작성했다.

혹시 sub domain 주소로 접속이 안 된다면, aws ec2에 80번 포트가 열려 있는지 확인해보기 !

80번 포트 확인
sub domain 적용 성공

 

11. [선택] Redirection 적용 (IP to Domain)

aws ec2 인스턴스 ip 주소 입력
redirection 성공, https 적용