UMC 4th - SpringBoot
사실 실습을 하면서 포스팅도 바로바로 하려고 했으나 UMC외에도 소화해야할 일정이 많은 탓에
5주차인 지금 2주차를 업로드한다......
기억 나는대로 차근차근 복습한다는 느낌으로 포스팅 하겠다
Week 2 실습 리스트는 다음과 같다
- AWS EC2 인스턴스 생성
- ssh 사용하여 인스턴스 외부접속
- Nginx 패키지 설치 후 http 외부 접속
- Mysql 패키지 설치 후 접속
- PHP 패키지 설치
- Datagrip or Workbench등으로 Mysql 외부 접속
- 가비아 or 후이즈에서 domain 연결 (.shop 도메인)
- HTTPS 적용
- Sub Domain 적용 (dev,prod)
- Redirection 적용 (IP to Domain)
AWS EC2 인스턴스 생성
우선 aws 회원가입을 해주어야한다
프리티어 계정을 만들면 12개월간 무료로 사용이 가능하다고 하니 참고하자
로그인 후, EC2 서비스 -> 인스턴스 를 들어가준다.
참고로 EC2란 아마존 웹 서비스 AWS에서 제공하는 클라우드 컴퓨팅 서비스 중 하나이다.
원하는 컴퓨팅 리소스를 실행해볼 수 있고 다양한 운영체제와 소프트웨어에 적용시켜서 필요에 따른 가상 컴퓨터 인스턴스를 실행할 수 있게 해준다. 그냥 하나의 컴퓨터를 제공해준다고 생각하면 편하다.
그리고 인스턴스 시작 버튼을 통해 인스턴스를 생성해줄 것이다.
이름은 자유롭게, 서버는 우분투를 선택해준다.
명시해주는 속성들을 제외하면 다 디폴트값이다
키페어 이름은 자유롭게 설정하면 된다
자유롭게 로컬영역 디렉토리에 저장해주면 된다
필자는 desktop/AWS 디렉토리를 만들어 저장해주었다
이 키페어를 통해 서버에 접속할 수 있으니 유출에 절대 주의하자
그리고 나머지는 default로 설정 후, 인스턴스를 시작해준다.
정상적으로 실행되는 모습을 확인할 수 있다.
ssh 사용하여 인스턴스 외부접속
keypair를 저장해둔 디렉토리로 이동해서
한 줄을 입력하면 바로 접속할 수 있는데
IPv4 DNS는 AWS의 '인스턴스 ID'에 들어가면 확인할 수 있다
$ ssh -o "키페어이름.pem" ubuntu@"퍼블릭 IPv4 DNS"
를 쳐주면
성공적으로 SSH 외부접속 할 수 있다.
가비아 or 후이즈에서 domain 연결 (.shop 도메인)
에서 실습을 진행하였다.
회원가입 해준 후, 도메인을 검색해준다
.shop 도메인이 1년으로 구매하면 가장 저렴하니 .shop 도메인으로 구매해주자!
결제 후, My 가비아->DNS 관리툴 로 들어가준다
방금 만든 본인의 DNS의 설정으로 들어가서
레코드들을 추가해준다
A type의 값들은 본인 인스턴스의 ip주소를 넣어주고, CNAME의 값들은 DNS명을 적어주면 된다.
CNAME을 추가하는 것은 추후에 있을 서브도메인 적용에 관련된 내용이다.
저렇게 등록 후,
$ sudo vi /etc/nginx/sites-available/default
terminal에서 server_name ... 부분을 찾아서
server_name 도메인.shop www.도메인.shop
을 입력해주자
그리고 마지막으로 IP주소를 url에 입력했을 때
가 나오면 성공이다!
Sub Domain 적용 (dev,prod)
기본경로 (/var/www/html)로 이동해서
각각 dev,prod 디렉토리를 만들어서
각각 디렉토리 안에 index.html파일을 만들어서 기본 html을 넣어주자
필자는 다음과 같은 예시를 사용했다
그리고 nginx 기본 설정파일로 가서 서버블록을 추가해준다
$ sudo vi /etc/nginx/nginx.conf
$ sudo service nginx restart
nginx 재시작 후 접속
성공이다
Redirection 적용 (IP to Domain)
ip를 입력했을 때 도메인으로 이동할 수 있게끔 해주는 서비스이다
$ sudo vi /etc/nginx/sites-available/default
이동 후 마지막 부분에 서버블록을 추가해주면 리다이렉션이 가능하다
server {
listen 80;
server_name 15.165.222.42;
return 301 $scheme://lilyspace.shop$request_uri;
}
그리고
$ sudo service nginx restart
nginx 재시작 후 ip를 입력하면 도메인으로 연결된다 !
HTTPS 적용
// snapd 유무 확인
$ sudo snap install core
$ sudo snap refresh core
// certbot download
$ sudo snap install --clasic certbot
// certbot command settings
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
// HTTPS access on
$ sudo certbot --nginx
mail을 입력하고, 수많은 질문에 y를 눌러주고
도메인 (1,2,3,4)를 모두 선택해주면
HTTPS 연결 성공~
감사합니다
'대외활동 > UMC 4th' 카테고리의 다른 글
[FlagApp] SpringBoot - Server 배포 (0) | 2023.08.07 |
---|---|
Ch 7 API : 당근마켓 CRUD (0) | 2023.05.18 |
Ch4 SQL : RDS실습 (0) | 2023.05.17 |
Ch3 데이터베이스 : AWS RDS 구축 (0) | 2023.05.17 |
Ch1 Server : UTM Ubuntu LTS 설치 (1) | 2023.05.04 |