서브 도메인 + Redirection
1. 가비아 서브 도메인 적용 (Dev, Prod)
여기서 디렉토리를 하나 생성해준다.
그런데 이때 다음과 같은 오류가 발생한다.
다음 코드를 통해 권한을 변경해준다. 여기서 꼭 /var/www/html/ 안에서 해주도록 한다.
sudo chmod -R 777 . # 모두에게 권한
root에서 시도했다가 난 망했다;;;;;
그래서 인스턴스 생성부터 다시 하게 되었다. 이런 일이 일어나지 않도록 조심하자..
앞에서 만들었던 aws 서버와 ip주소가 달라졌다.. 이해해주길 바란다...
권한 변경 후 재시도를 해주면 product 디렉토리가 생성된다.
이런식으로 디렉토리를 만들어 서브 도메인을 생성할 수 있다. 이제 product 디렉토리는 지우고 제대로 해보자.
cd /var/www/html
sudo mkdir dev
sudo mkdir prod
dev와 prod라는 디렉토리를 생성한다.
그리고 dev에는 dev.html을 prod에는 prod.html을 생성한다.
이후 다음 명령어를 이용하여 서브 도메인에 대한 추가 설정을 해준다.
sudo vi /etc/nginx/sites-available/default
위 명령어를 통해 default에 접속하여 아래와 같은 코드를 작성해준다.
server{
root /var/www/html/dev;
index dev.html index.php index.html index.htm index.nginx-debian.html;
server_name dev.hazel-software.shop;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location \ {
try_files $uri $uri/ =404;
}
}
server{
root /var/www/html/prod;
index prod.html index.php index.html index.htm index.nginx-debian.html;
server_name prod.hazel-software.shop;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location \ {
try_files $uri $uri/ =404;
}
}
이후 DNS 관리에서 레코드를 다음과 같이 수정해준다.
이제 각각의 서브 도메인에 접속해보도록 하자.
먼저 http://dev.hazel-software.shop이다.
다음은 http://prod.hazel-software.shop 이다.
2. Redirection 적용
네이버 들어갈 때 www.naver.com 들어가곤 한다.
이때 도메인 대신 아이피 주소를 입력을 하더라도 도메인으로 연결되도록 적용하는 것이 Domain Redirection이다. (IP to Domain)
우선 다음 명령어를 통해 default로 이동한다.
sudo vi /etc/nginx/sites-available/default
맨 아랫줄에 아래 코드와 같이 추가해준다.
server {
listen 80;
server_name IP주소;
return 301 https://www.도메인$request_uri;
}
이후 IP로 접속시 도메인으로 redirection되는 것을 확인할 수 있다.