서비스 개발후 배포 과정에서 팀원들과 찾은 정보를 정리 해봤습니다.
입력 후 역활 생성
위에서 키페어를 생성하였다면 1개의 file이 다운로드 되었을거고 그것을 활용하여 ec2 instance에 접근을 할 것입니다.
chmod 400 키파일이름.pem
ssh -i 키파일이름.pem ubuntu@public주소
를 입력한다면 ec2 인스턴스에 접근할 수 있다.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
. ~/.nvm/nvm.sh
nvm install --lts
sudo apt-get install nginx -y
/etc/nginx/
경로에 nginx 설정을 위한 파일들이 있습니다.
/etc/nginx/sites-enabled/*
와 /etc/nginx/sites-available/*
두 폴더 있는데, 용도가 비슷한거 같아 어떤거 사용할지 몰랐지만 /etc/nginx/nginx.conf
설정 파일을 열어 보니 /etc/nginx/sites-enabled/*
경로의 파일만 includes 하고 있었기 때문에 여기서 배포할 사용하는 설정 데이터를 입력했습니다.
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name 도메인;
location / {
proxy_pass http://127.0.0.1:포트;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
이렇게 설정한 이유는 nextjs는 build 후 next start로 서버를 구동하기 때문에, 80으로 들어오는 정보를 nginx가 nextjs에서 사용하는 port로 전환해주기 때문입니다.
여기까지 하면 ec2 public 주소
로 접근하면 사이트에 정상적으로 접근할 수 있습니다.
먼저 나만의 사이트를 구현하기 위해 가비아에서 2050원이라는 가장 저렴한 가격으로 도메인을 구매 후 진행하였습니다.
도메인을 구매했다면 aws Route 53으로 도메인을 연결합니다.
가비아 도메인 관리 페이지에 접근하여 구매한 도메인의 네임서버 설정으로 route 53 정보를 입력한다
이렇게 하면 도메인이 적용이 된다
https://gist.github.com/woorim960/dda0bc85599f61a025bb8ac471dfaf7a 참고사이트