라이징 프로그래머2
의 2주차 챌린지 과제로 주어진 것은 다음과 같다.
Ubuntu Nginx
LEMP(Linux, Nginx, MySQL, PHP)
환경에서 서브 도메인
적용하기IP to Domain Redirection
적용하기진행하기에 앞서, 본인은 가비아라는 도메인 사이트를 이용했음을 밝힌다.
먼저, 서브 도메인을 적용하기 위해 가비아에 로그인한 뒤 My 가비아 - 도메인 관리
페이지에서 서브 도메인을 적용해줄 도메인을 선택한 다음, 우측 하단에 보이는 DNS 정보
에서 도메인 연결 옆의 설정 버튼을 통해 진입한다.
그리고 앞서 AWS EC2 Ubuntu 서버에 도메인 연결하기(가비아)에서 진행한 것과 마찬가지로 다음과 같이 서브 도메인을 추가해주면 된다. 여기서 타입은 CNAME
으로 해주고, 호스트에는 서브도메인으로 이용할 test
, product
를 입력했다.
다음으로는 Nginx
설정파일(나의 경우에 설정파일 경로는 /etc/nginx/sites-available/default
)에 다음 코드블럭을 추가해주면 된다.
server_name
에 원하는 서브도메인을, root
에는 연결할 디렉토리를, index
에는 사용할 우선순위를 정해주면 된다.
각각 test
, product
라는 서브 도메인에 해당하는 설정이며, 만약 서브 도메인으로 접근했는데 index.php
가 다운로드 된다면 사진 중간에 보이는 다음 코드블럭을 추가해줘야 한다(본인의 php 버전에 맞게 추가해줘야 함을 잊지말자).
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
이제 Nginx
설정파일 수정까지 완료되었으므로 Nginx
서버를 재부팅해준다.
sudo service nginx restart
추가로, 앞서 Let's Encrypt를 이용하여 Nginx에 HTTPS 적용하기의 SSL 인증서 발급 과정까지 마치면 각각의 서브 도메인에 HTTPS
를 적용된 모습까지 확인할 수 있다(URL의 자물쇠 모양).
Redirection
적용은 간단하다.
다음과 같이IP to Domain Redirection
적용을 위해 /etc/nginx/sites-available/default
설정파일에 다음 사진의 코드블럭을 추가해준다. 쉽게 말하면, server_name
에 지정해준 IP
로 접근했을 때 return 301
에 설정해준 주소로 Redirection
하는 설정을 추가해주는 것이다.
설정을 추가해준 뒤, Nginx
서버를 재시작해준다.
sudo service nginx restart
이제 브라우저에서 해당 IP
로 접근하면 설정해준 URL
로 Redirection
되는 것을 확인할 수 있을 것이다.