react를 공부하면서 실 배포를 경험해보고자 route53와 ec2를 이용해서 배포를 시도해 보았다.
우선 aws에 가입후 Region을 서울로 골라줘야 한다. 전 회사에서 이거로 벙찐기억이 있다.
우선 내 프로젝트를 배포하기 위해서는 도메인이 필요하니 구매를 해주자 13달러 정도 하였다.
추후 EC2 인스턴스를 만들면 IPv4 퍼블릭 IP주소를구매한 도메인 레코드에 입력해줘야한다.
연결할때 도메인에 www.를 붙인것과 안붙인것 두개다 올려놓자.
키페어는 한번만 발급 가능하니 잘 보관해야한다.
내 컴퓨터 터미털에서 이제 생성된 ec2의 컴퓨터에 접속해서 작업을 진행한다.
ssh -i ~/Desktop/sample-key.pem ubuntu@ec2-1-11-11-11.ap.northeast-2.compute.amazonaws.com
~/Desktop/sample-key.pem부분을 본인의 pem 경로로 지정해서 접속해주자.
위와같이 나오면 성공이다.
mkdir ~/git
cd ~/git
git clone 내프로젝트 주소
클론 복사가 완료 되었다.
ec2 컴퓨터엔 node도 없고 기본설정이 안되어있다.
설치를 진행해주자.
sudo apt-get update
이 명령어는 패키지 목록을 업데이트한다.
시스템에 설치된 패키지와 새로운 패키지 업그레이드를 위한 최신 패키지 정보를 가져온다.
sudo apt-get install -y build-essential
이 명령어는 소프트웨어 빌드에 필요한 필수 패키지를 설치한다.
-y 옵션은 설치 과정에서 나오는 모든 확인 메시지에 자동으로 "yes"를 응답.
sudo apt-get install curl
이 명령어는 curl 패키지를 설치.
curl은 명령 줄에서 HTTP 요청을 보내는 도구로, 파일 다운로드, API 호출, 네트워크 연결 테스트 등에 자주 사용됨.
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash --
이 명령어는 지정된 URL에서 Node.js 설치 스크립트를 가져옵니다.
-s 옵션은 curl 명령어를 조용하게 실행하여 진행 상황을 출력하지 않습니다.
-L 옵션은 제공된 URL이 리디렉션을 포함하는 경우 리디렉션을 따라갑니다.
| 기호는 파이프로, curl 명령의 출력을 다음 명령의 입력으로 전달합니다.
sudo -E는 다음 명령(bash)이 현재 환경 변수를 유지한 채로 슈퍼유저 권한으로 실행되도록 합니다.
sudo apt-get install -y nodejs
이 명령어는 시스템에 Node.js 런타임을 설치합니다.
Node.js 패키지를 소스에서 가져와 설치합니다.
-y 옵션은 설치 과정에서 나오는 모든 확인 메시지에 자동으로 "yes"를 응답합니다.
sudo npm install yarn --location=global
yarn 전역으로 설치해준다.
yarn install
yarn bulid
yarn preview
주의사항!!
vite react에서"preview": "vite preview --host 0.0.0.0 --port 8080"
로 변경해줘야한다.
외부에서 localhost로 접근이 불가능하므로 내 프로젝트의 host가 0.0.0.0으로 되어야 접근이 가능하다.
netstat -tnlp
8080이 열려있는지 확인
일반서버는 443(https)
그외 80(http)
sudo npm i pm2 --location=global
pm2 start yarn --preview