EC2 인스턴스에 SSH로 접속
ssh -i <your-key-pair>.pem ubuntu@<your-ec2-public-ip>
서버 코드 클론
git clone <your-repo-url>
cd <your-repo-directory>
필요한 패키지 설치
npm install
서버 실행
node server.js
터미널 세션이 종료될 때 서버도 종료되기 때문에, PM2를 사용해 보았습니다.
PM2 설치
sudo npm install -g pm2
서버를 PM2로 실행
pm2 start server.js --name "my-app"
PM2 상태 확인
pm2 status
PM2 로그 확인
pm2 logs "my-app"
PM2 종료
pm2 stop my-app
다시 시작
pm2 restart my-app
index.html
로 설정로컬에서 React 애플리케이션 빌드
npm run build
S3 버킷에 빌드된 파일 업로드
build
폴더 내의 모든 파일을 업로드.index.html
파일을 찾을 수 없었습니다.index.html
로 설정했습니다.문제: 서버 실행 시 node_modules
의 모듈 관련 오류가 발생했습니다 (invalid ELF header
).
원인: 로컬 환경에서 설치된 모듈이 EC2 인스턴스의 환경과 호환되지 않았습니다.
해결 방법: EC2 인스턴스에서 직접 node_modules
를 삭제하고 다시 설치했습니다.
# 기존 node_modules 폴더 삭제
rm -rf node_modules
# package-lock.json 파일 삭제
rm package-lock.json
# 패키지 다시 설치
npm install
다음엔,, CloudFront 배포를 해보겠습니다!