티스토리 뷰
AWS EC2에 올려보자
지금까지 만든걸 로컬로 돌려도 예매 알림을 받을 수 있다.
하지만 로컬을 계속 돌릴 수 있는 환경이 아니라면 AWS를 활용해 서버에서 프로그램이 돌게 만들면 된다.
AWS EC2 서버를 만들고 접속하기까지는 다른 곳에 정리가 잘 되어있다.
https://jojoldu.tistory.com/259?category=635883
특히나 여기에 잘 나와있다.
개인적으로 AWS EC2는 이전에도 세팅을 해봤어서 스프링부트로 웹 서비스 출시하기 5.EC2에 배포하기 를 많이 참고했다.
기존 스프링 프로젝트는 war 파일로 묶어서 tomcat 내부의 webapp에 올리고 톰캣을 실행해 war를 풀어줌으로써 배포를 끝낸다.
하지만 spring boot는 톰캣이 내장되어 있거니와 gradle build, git을 통해 소스를 받아와서 배포 등은 처음해보았기에 많은 도움이 되었다.
우선 aws 접속해 다음 명령어를 입력한다.
1
|
sudo yum list | grep java-
|
그럼 이런식으로 나오는데 처음에는 java-1.8.0-openjdk.x86_64 를 설치했다.
위의 블로그에 나와있는 자세한 설명을 바탕으로 git으로 소스도 가져오고 순조롭게 진행되었다.
그리고 ./gradlew test를 돌려보는데, 역시나 한번에 되는건 없다...
1
2
3
4
5
6
7
8
9
10
11
12
13
|
* What went wrong:
Execution failed for task ':compileJava'.
> Could not find tools.jar. Please check that /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.47.amzn1.x86_64/jre contains a valid JDK installation.
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Exception is:
...
...
...
Caused by: java.lang.IllegalStateException: Could not find tools.jar. Please check that /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.47.amzn1.x86_64/jre contains a valid JDK installation.
|
이런 에러가 나는데 처음엔 감이 안잡혔다.
나중에 찾아보니 (제타위키 참고) 그냥 openjdk 패키지는 jre, openjdk-devel 패키지는 jdk라고 생각하니 이해가 되었다.
기존에 설치한 java-1.8.0-openjdk.x86_64에는 컴파일할 수 있는게 없다. (javac -version으로 확인가능)
그래서 java-1.8.0-openjdk-devel.x86_64 로 다시 설치해주니 해당 에러는 무사히 해결되었다.
./gradlew test를 success하고
nohup java -jar 해당 jar 파일명
을 돌리니 정상적으로 스케줄링 되면서 알림 메세지가 오는걸 확인할 수 있었다.
(nohup을 빼도 실행은 되지만 터미널 세션을 종료하면 프로세스가 종료되어 멈추게 됩니다)
ps. 알림 덕분에 1등으로 예매하고 크리스마스에 정중앙 꿀자리를 득할 수 있었다!!! (쑤아리!!!질러!!!)
이제 이거로 리팩토링과 AWS 간편 세팅 (로그인, git 설정 등등) 등 해보면서 공부 겸 정리를 진행해봐야겠다.
'토이프로젝트' 카테고리의 다른 글
CGV 특별관 영화 예매 알림 봇 만들기 with 텔레그램 (2) (0) | 2019.12.26 |
---|---|
CGV 특별관 영화 예매 알림 봇 만들기 with 텔레그램 (1) (0) | 2019.12.25 |
코르도바(Apache Cordova) 사용기 (2) | 2019.04.20 |
- Total
- Today
- Yesterday
- 다음 맵 api
- json
- 완주하지 못한 선수
- 맵 api
- 안드로이드 스튜디오
- Spring
- 124 나라의 숫자
- 쇠막대기
- 파이팅코리아
- 예매 알림
- 자바
- 알고리즘
- AWS
- 노션트렐로광고X
- 최솟값
- codility
- cgv
- 문자열 내 마음대로 정렬하기
- API
- 텔레그램
- FrogJmp
- 프로그래머스
- java
- K번째수
- 객체지향과 디자인패턴
- 더 나은 내일
- 타겟 넘버
- 기능개발
- 스프링 부트
- 카카오인턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |