Node로 만든 웹사이트를 개발해서 도메인에 연결해 뒀는데
비슷한 템플릿이지만 내용은 다른 웹사이트를 하나 더 개발해서 서브 도메인에 연결해야 하는 상황
AWS에서 인스턴스를 하나 더 생성해도 되지만
도메인에 연결되어 있는 앱이 실행 중인 인스턴스에서 서브 도메인에 연결될 앱을 하나 더 실행하기로 했다
nginx에서 도메인, 서브 도메인에 각각 다른 포트 연결하기
ec2 하나(같은 IP)
3000 port, 3001 port 앱 2개
도메인, 서브도메인 ex) domain.com, sub.domain.com
① nginx 설치
sudo apt-get install nginx
② 도메인 -> :3000 연결
sudo vi /etc/nginx/sites-available/domain.conf
`````
server {
listen 80;
server_name domain.com www.domain.com;
location / {
proxy_pass http://127.0.0.1:3000;
}
}
`````
sudo ln -s /etc/nginx/sites-available/domain.conf /etc/nginx/sites-enabled/
③ 서브도메인 -> :3001 연결
sudo vi /etc/nginx/sites-available/sub_domain.conf
`````
server {
server_name sub.domain.com www.sub.domain.com;
location / {
proxy_pass http://127.0.0.1:3001;
}
}
`````
sudo ln -s /etc/nginx/sites-available/sub_domain.conf /etc/nginx/sites-enabled/
④ nginx 재시작
sudo service nginx restart
혹은
sudo systemctl restart nginx
https 설정까지 해주면 끝이다
domain.com 접속 시 127.0.0.1:3000 index 확인 가능
sub.domain.com 접속 시 127.0.0.1:3001 index 확인 가능