강의 내용
서브 도메인
보조 도메인으로써, URL로 전송하거나 계정 내의 IP주소나 디렉토리로 포워딩되는 도메인 이름의 확장자
ex) 네이버 블로그 - blog.naver.com
네이버 메일 - mail.naver.com
리다이렉션
URL을 웹 서버에게 요청했을때 HTTP 응답 메시지를 통해 브라우저에게 다른 URL을 지시하는 것
HTTPS
인터넷 상에서 정보를 암호화하는 SSL 프로토콜을 이용하여 클라이언트와 서버가 데이터를 주고 받는 통신 규약
실습 내용
리눅스에 nginx, php, mysql 설치하기
nginx 설치하기
$ sudo apt update
$ sudo apt install nginx
mysql 설치하기
$ sudo apt install mysql-server
$ sudo mysql_secure_installation
비밀번호 보안 강도 => 0 (Low)
Disallow root login remotely? => n
나머지 => y
php 설치하기
$ sudo apt install php-fpm php-mysql
=> 탄력적 주소로 검색하면 nginx 화면이 뜨면 성공
nginx와 php 연동하기
phpinfo.php 생성
$ cd /var/www/html
$ sudo vi phpinfo.php
<?php
phpinfo();
?>
nginx와 php 연동
$ sudo vi default
위의 명령어로 nginx 설정 파일로 들어간 다음
이 부분의 주석 제거 및 php 버전에 맞게 수정
$ sudo nginx -t
명령어를 사용하여 test가 success되는지 확인
$ sudo service nginx restart
설정 변경 후에는 항상 위의 명령어를 사용하여 재시작해야함
=> 탄력적 주소/phpinfo.php를 검색하여 phpinfo 창이 뜨면 성공
도메인 구입하여 적용하기
https://www.gabia.com 에서 가장 싼(500원) .shop으로 도메인 구매
=> www.umc-jeje.shop (현재 aws 해지한 상태라 접속X)
DMS 레코드 수정 창에서 아래와 같이 레코드 추가
타입 | 호스트 | 값/위치 | TTL |
A | @ | (탄력적 주소) | 3600 |
A | www | (탄력적 주소) | 3600 |
CNAME | dev | (나의 도메인 주소) | 3600 |
CNAME | prod | (나의 도메인 주소) | 3600 |
nginx 설정 파일에서 server_name에 연결할 url 입력
ex) server_name umc-jeje.shop www.umc-jeje.shop;
=> 도메인으로 접속하여 잘 접속이 되면 성공
서브 도메인 적용하기
/var/www/html 로 이동하여 dev와 prod 폴더를 생성한 후 각각 html 파일을 생성
$ cd /var/www/html
$ sudo mkdir dev
$ sudo mkdir prod
$ sudo vi index.html
dev의 index.html에는
<h1>It Works! dev</h1>
prod의 index.html에는
<h1>It Works! prod</h1>
입력
이후 nginx 설정 파일에 sever 블록 2개 생성
server {
listen 80;
listen [::]:80;
root /var/www/html/dev;
index index.html;
server_name dev.umc-jeje.shop;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 80;
listen [::]:80;
root /var/www/html/prod;
index index.html;
server_name prod.umc-jeje.shop;
location / {
try_files $uri $uri/ =404;
}
}
=> nginx 테스트와 restart 후 주소창에 서브 도메인이 접속 후 dev에서는 It Works! dev, prod 에서는 It Works! prod가 나타나면 성공
리다이렉션 적용하기
nginx default 파일에서 server 블록 추가
server {
listen 80;
server_name (탄력적 주소);
return 301 http://umc-jeje.shop$request_uri;
}
=> 탄력적 주소로 검색했을 때 도메인 주소로 접속이 되면 성공
챌린지 과제
HTTPS 적용하기
Let's Encrypt를 통해 Cerbot를 설치
패키지 설치
$ sudo apt update
$ sudo apt upgrade
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt install python3-certbot-nginx
저장소가 최신 버전이어야 함
SSL 인증서 받기
ec2 인스턴스에 인바운드 규칙 HTTPS - 443 추가
$ sudo certbot --nginx -d umc-jeje.shop -d www.umc-jeje.shop -d dev.umc-jeje.shop -d prod.umc-jeje.shop
명령어 입력 후 이메일 등록하면 설치 완료
이 링크에서 도메인 주소를 입력해서 테스트 하기
server {
listen 80;
server_name (탄력적 주소);
return 301 https://umc-jeje.shop$request_uri;
}
http를 https로 변경
워크북 및 추가 개념
Let's Encrypt
무료로 TLS/SSL 인증서를 쉽게 가져오고 설치할 수 있는 방법을 제공하는 인증기관으로 암호화된 HTTPS를 사용할 수 있음
OS
운영체제
컴퓨터 시스템의 각종 하드웨어적인 자원과 소프트웨어적인 자원을 효율적으로 운영 관리함으로써 사용자가 시스템을 이용하는데 편리함을 제공하는 시스템 소프트웨어
Linux
리누스 토르발스가 커뮤니티 주체로 개발한 컴퓨터 운영체제
장점
- 유닉스와 완벽하게 호환 가능
- 공개 운영체제
- PC용 OS보다 안정적
- 무료
- 하드웨어의 기능을 알차게 사용
- 강력한 네트워크 구축
- 강력한 보안 기능
- 인터넷의 모든 기능을 지원
- 개발 환경이 풍부
단점
- 공개 운영체제이기 때문에 문제 발생시 보상 X
- 한글 입출력에 어려움
- 기술지원의 부족
- 특정 하드웨어에 대한 자원이 부족
- 사용자의 숙련된 기술이 요구
사용 이유
- 모든 소스가 오픈되어 있어 광범위하게 사용
- 다중사용자, 다중작업을 지원하기때문에 시스템적으로 서버를 운영하기에 적합
- 기업에서 많이 사용
IP
네트워킹이 가능한 장비를 식별하는 주소
URL(Uniform resource locator)
인터넷에서 정보의 위치를 알려주는 표준 주소체계
Domain
인터넷에 연결된 컴퓨터를 사람이 쉽게 기억하고 입력할 수 있도록 문자로 만든 인터넷 주소
Name Server
DNS라고도 하며 IP주소와 도메인 주소를 연결
후기
리눅스 명령어를 42서울의 라피신을 통해 알고있던 터라 빠르게 구축할 수 있었다.
cerbot은 설치 시 잘 되지 않는 부분이 있어 삭제 후 다시 설치 했더니 다행이 무사히 설치할 수 있었다.
나만의 도메인을 구입하여서 연결하는 부분이 가장 흥미로웠다.
도메인을 ec2의 환경에 적용하고, 적용한 내용이 반영이 되는 것이 신기하였다.
'동아리 > UMC 2기' 카테고리의 다른 글
[UMC 6주차] Restful API와 프레임워크 (0) | 2022.08.27 |
---|---|
[UMC 5주차] 데이터베이스 실전 (0) | 2022.08.27 |
[UMC 4주차] 데이터베이스 이론 및 설계 (0) | 2022.06.30 |
[UMC 2주차] 포트포워딩 & AWS (0) | 2022.06.23 |
[UMC 1주차] 서버 개요 (0) | 2022.06.22 |