개발/AWS 15

AWS 배포하기 1 (L3) 엘라스틱빈스톡(ELB)

엘라스틱 빈스톡 (ELB) 배포를 편리하게 도와주는 도구 1. 엘라스틱 빈스톡 생성시 - EC2, 로드밸런서, JDK(선택시) 자동으로 생성된다. 2. 엘라스틱 빈스톡 흐름 클라이언트 -> 로드밸런서 -> EC2의 Nginx -> 내부 서버(5000번 포트) 3. 프로젝트 구성시 반드시 "/" 주소의 인덱스 페이지가 존재하여야 하며 prd버전은 port가 5000번이여야 함 - 이건 로드밸런서 헬스체크에서 "/" 주소를 호출했을때 200을 받아야 정상이라고 판단하기 때문임

개발/AWS 2022.12.13

AWS 배포하기 4 (L2) 서버 실행하기 + 크론등록

배포하기 3에서 이어짐 deploy.sh 파일을 열어서 8번 작성 # 8. start jar nohup java -jar Dspring.profiles.active=prod ${JAR_PATH} 1>${HOME}/log.out 2>${HOME}/err.out & echo "8. start server complete" 여기까지하면 서버 실행하는것까지 완료가 되며 확인하려면 netstat -nlpt 로 확인하면된다. (만일에 netstat가 없으면 apt install net-tools 로 설치) --------크론등록-------- # 9. cron registration touch crontab_new echo "* * * * * ${HOME}/check-and-restart.sh" 1>>crontab..

개발/AWS 2022.11.23

AWS 배포하기 3 (L2) 서버종료 및 프로그램 설치

지난시간에 이어서 작성 3. 서버 PID찾아서 종료시키기 pid 918번을 찾아보자 pgrep -f bash pgrep -> pid검색 -f -> 프로세스 이름을 찾는 옵션 입력시 918이 조회됨 java+gradel프로젝트의 경우 빌드시 프로젝트네임(aws-v2) + 버전(0.0.1) + .jar의 이름으로 실행파일이 만들어짐 aws-v2-0.0.1.jar 이걸 적용하면 pgrep -f aws-v2-0.0.1.jar 입력시 pid를 조회할수 있다. 지난번에 작성한 var.sh를 열어서 PROJECT_PID="$(pgrep -f ${PROJECT_NAME}-${PROJECT_VERSION}.jar)" JAR_PATH="${HOME}/${PROJECT_NAME}/build/libs/${PROJECT_NAM..

개발/AWS 2022.11.16

AWS 배포하기 1 (L2) 환경변수와 bashrc

1. 환경변수 $명칭 -> 환경변수 - 환경변수 만들어 보기 - export LOVE="i love you" 라고 작성후 echo $LOVE라고 작성하면 아래와 같이 결과값이 나온다. 하지만.. 이렇게 생성시 터미널 껏다가 켜면 사라짐 그래서 home에서 ls -l을 치면 .bashrc가 있는데 vi ./.bashrc 입력 -> 내용에 export LOVE="i love you" 입력 후 저장 (wq) 그러나 바로 echo $LOVE를 쳐봐야 안나오는데 이 bashrc의 경우 서버가 재시작되어야지만 적용이 됨 바로 적용하고 싶은경우 source명령어를 사용 2. 환경변수 파일 생성 vi var.sh 아래내용입력 #!/bin/bash (이거는 bin/bash 의 명령어를 사용하겠다는 의미) GITHUB_I..

개발/AWS 2022.11.16

aws배포하기 6 (기본) 재배포하기

재배포를 하려면 하나의 배포 스크립트를 만들어주면 좋음.(최초:최초배포프로세스, 두번째이상:재배포 프로세스) ---------------------------------------------- deploy.sh (배포) redeploy.sh (재배포) 재배포 스크립트 작성 ---------------------------------------------- 1. 기존서버를 중지시켜야함 spring-stop.sh ->실행권한줌 ------------------------------ echo "Springboot Stop..." SPRING_PID=$(pgrep -f v1-0.0.1-SNAPSHOT.jar) echo $SPRING_PID kill -9 $SPRING_PID 2. aws-v1 폴더를 통째로 삭제..

개발/AWS 2022.11.09

aws배포하기 2 (기본)

터미널의 세션이 끊어져도 서버가 돌아가게 만들기 배포하기 1에서 만든 jar파일의 위치로 이동한 후 nohup java -jar *.jar 명령어를 입력해준다. 여기서 nohup이란 - 리눅스에서 프로세스를 실행한 터미널의 세션이 끊어지더라도 지속적으로 동작 할 수 있게 해주는 명령어 nohup설치 명령어 - sudo apt install nohup 하지만 이렇게 실행해도 안됨 왜냐면 포그라운드로 실행했기 때문 (포그라운드 : 현재 보고있는 화면 [지금 브라우저로 이걸 보고있다면 그 브라우저가 포그라운드 상태]) 그래서 nohup으로 했다고 하더라도 터미널 종료시에 함께 종료!! 결국 백그라운드로 실행해야 함 -> nohup java -jar *.jar & 저 &가 백그라운드로 실행하게 만들어준다. no..

개발/AWS 2022.10.13

aws배포하기 (기본)

1. github 다운받기 서버에서 다운받을 폴더로 이동후 git clone git주소 2. gradlew 실행권한 주기 - git 프로젝트 다운받은 폴더로 이동 ( ~/aws-v1) - sudo chmod u+x gradlew 3. JDK다운 - sudo apt update (메뉴판 업데이트) - sudo apt-cache search jdk | grep openjdk-11 (openjdk 11 검색) - 그중 openjdk-11-jdk 설치 sudo apt install openjdk-11-jdk 4. gradlew로 프로젝트를 jar파일로 변경하기 - ./gradlew build (./

개발/AWS 2022.10.06