서버개발 SpringBoot

EC2 서버 환경 구축 / 도메인 접속 / 서브 도메인 연결 / Redirection

아뵹젼 2022. 4. 6.

nginx 설치

$ sudo apt install nginx

 

MYSQL 설치 및 접속

$ sudo apt install mysql-server

 

$ sudo mysql -u root -p

 

PHP 설치

$ sudo apt install php-fpm php-mysql

 

PHP 와 nginx 연동

$ cd etc/nginx/sites-available
$ sudo vi default

location ~ \.php$ {} 이 블록의 주석을 해제한 후, 

include 부분도 주석을 해제한다. 또한 php 의 버전에 맞게 수정한다.

 

 

다음으로 아래의 명령어들을 실행한 후

$ cd /etc/nginx
$ sudo vi nginx.conf

nginx.conf 에서 커서가 위치해있는 저 줄 ( server_names_hash_bucket_size 64; )의 주석을 해제해준다.

 

 

이제 sudo nginx -t 명령어를 실행했을 때 성공적으로 실행됐음을 알 수 있다.

다음으로 수정된 사항들을 반영하기 위해 restart 를 실행한다.

 

 

이제 ec2 의 탄력적 ip 주소 / phpinfo.php 에 접속하면

phpinfo 가 잘 나오는 걸로 보아 php 와 nginx 연동이 성공했다.

 

 

 

Domain 구입

Gabia 에서 .shop 으로 550원에 도메인을 구입하였다.그런다음, 레코드를 추가하여 서버 설정을 완료하였다. 값 위치는 내 인스턴스의 탄력적 IP 이다.서버 도메인은 dev, prod 로 나눠서 추가하였다.

 

다음으로 도메인을 연결하기 위해다시 sudo vi default 를 실행하여server name 에 연결할 url을 추가해줘야 한다.

 

다시 restart 를 해준다.

 

이제 domain 에 연결해보자!

 

잘 연결이 되었다!!ㅎㅎ

 

 

서브 도메인

이제 서브 도메인을 만들어서 다른 페이지를 띄워볼 것이다.

먼저, dev 와 prod 라는 이름의 폴더를 만들어준다.

$ cd /var/www/html
$ sudo mkdir dev
$ sudo mkdir prod

각 dev, prod 폴더에서 띄워줄 index.html 을 만들었다.

그런 다음, 다시 nginx 설정을 해준다.

nginx -t 로 성공적으로 반영이 되었는지 테스트를 해주고 restart 를 한다.

 

 

이제 각각의 dev, prod 서버 도메인에 접속해보자!

dev

 

prod

 

 

 

 

Redirection

다시 vi sudo default 을 편집하여

redirection 을 위한 server block 하나를 더 추가해준다.

server_name 은 ip주소가 되겠다.

현재는 http 를 return 해 주지만, 나중에 https 로 설정할 때는 https 로 수정해야 한다.

 

ip 주소을 입력했는데 바로 도메인으로 접속되는 것을 확인할 수 있다!!!

이로써 redirection 까지 성공이다.

댓글