강의 내용
서브 도메인
보조 도메인으로써, 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
명령어 입력 후 이메일 등록하면 설치 완료
SSL Server Test (Powered by Qualys SSL Labs)
SSL Server Test This free online service performs a deep analysis of the configuration of any SSL web server on the public Internet. Please note that the information you submit here is used only to provide you the service. We don't use the domain names or
www.ssllabs.com
이 링크에서 도메인 주소를 입력해서 테스트 하기
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 |