AWS Springboot React 배포
1) 서버에서 .jar파일 실행
- 데몬 백그라운드 없이 실행
java -jar oddProject-0.0.1-SNAPSHOT.jar
2) 데몬의 형태로 실행
데몬이란 사용자가 직접 제어하지 않은 상태에서 작동되는 프로그램
- nohup java-jar [.jar파일]
- nohup java -jar oddProject-0.0.1-SNAPSHOT.jar
3) 데몬 + 백그라운드 형태로 실행
- nohup -> java -jar [.jar파일] &
- nohup java -jar oddProject-0.0.1-SNAPSHOT.jar &
sudo nohup java -jar oddProject-0.0.1-SNAPSHOT.jar &
프로세스 종료
프로세스 아이디 알아내기
-> ps -ef | grep [빌드파일]
프로세스 종료
-> kill -9 <프로세스 아이디>
포트번호 8080 트래픽 허용
-> 웹서버 설정하지 않았다면 8080포트 트래픽을 인바운드에서 허용하도록 네트워크 설정 필요
8080 포트 열어버림
정상적으로 잘 풀력되는 모습을 확인할 수 있음.
nvm 설치하기
sudo apt update # update 하기
sudo apt install -y build-essentail libssl-dev
sudo curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
sudo apt-get install nodejs
nodeJS 다운로드
node -v로 node 버전 확인하기
해당 react 프론트에서 npm install 을 해주자
그 후에, npm run build 를 하였지만
해당 화면에서 멈춰있었다.
- sudo dd if=/dev/zero of=/mnt/swapfile bs=1M count=204848
- sudo mkswap /mnt/swapfile
- sudo swapon /mnt/swapfile
용량이 다 차있어서 no space left on device 에러가 발생하였다.
EC2 > 스토리지 볼륨크기를 증가 시켜주었다. 볼륨 크기를 증가시켜주면 Ubuntu 실제 환경에도 적용시켜주어야 한다.
lsblk 명령어를 입력해준다.
sudo growpart > 내부 파티션 크기 증가
sudo growpart /dev/xvda 1
내부파티션 크기를 16GB 로 증가 시켜주었음
sudo resize2fs > 파일 시스템에 수정된 내부 파티션의 크기 적용
sudo resize2fs /dev/xvda1
df -hT
증가한 것을 확인할 수 있다.
정상 작동한다.
nginx 설치
sudo apt update
sudo apt install nginx
sudo service nginx start
아래는 웹사이트이다.
/etc/nginx/sites-available 에서
vi ottdadam.conf
ottdadam.conf
server{
listen 3000;
location /{
root /home/ubuntu/seoul_clothingBin_ottdadam/build; //build파일 위치
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass 서버주소:포트번호;
}
}
심볼릭링크 만들어주기
sudo ln -s /etc/nginx/sites-available/ottdadam.conf /etc/nginx/sites-enabled/ottdadam.conf
이후에
sudo service nginx restart