DevOps/AWS10 EC2 - ./gradlew test 실패 개인 프로젝트를 진행하면서 프로젝트 배포를 위해서 이동욱님이 출판하신 '스프링 부트와 AWS로 혼자 구현하는 웹 서버스' 를 보고 AWS를 설정하는 도중에 테스트 코드를 테스트 하는 곳에서 에러가 났다. java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:132 Caused by: org.springframework.beans.factory.BeanDefinitionStoreException at ConfigurationClassParser.java:189 Caused by: java.io.FileNotFoundException at ClassPathResource.java:187 모든 테스트 메서드에 해당 에러가 .. 2021. 6. 9. AWS EC2 -bash: fork: Cannot allocate memory 며칠 전에 Amazon Linux2 를 이용해서 Spring Boot가 아닌 Spring, 즉 WAR파일을 배포할 떄 경로를 설정하는 포스팅을 한 적이 있다. 거기서 미리 설정하지 않으면 나타나는 에러가 바로 "-bash: fork: Cannot allocate memory" 이 에러입니다. 저한테 이 에러가 발생했던 상황은 이렇습니다. 1. 스왑(SWAP) 파티션 설정을 하지 않고 경로를 설정한 후 서버를 가동시켰다. 2. 내가 배포한 프로젝트 경로로 웹을 실행시켰다. 3. 이후 웹은 무한로딩에 걸리면서 EC2 서버가 마비된다. 4. EC2 서버를 껏다켜도 몇분동안 멈춰있는다.. 이러한 과정을 몇번 거쳐버려서 시간을 좀 소비했던 상태인데 해결방법은 SWAP 공간을 만드는 것이였습니다. 우선 사진을 통해.. 2021. 4. 24. Amazon Linux2 서버에 Spring 프로젝트 경로 설정하기 최근에 프로젝트 경로를 설정하는데 애먹었습니다. 구글링을 해도 죄다 Spring Boot 프로젝트를 배포하는 포스팅밖에 없어서 도움얻기가 어려웠습니다. 현 문제는 이랬다 1. 로컬에서는 localhost:8080/ => 해당 주소가 프로젝트의 루트 주소 2. EC2서버에서는 루트 주소가 webapps 폴더 이하의 디렉토리. Boot 프로젝트와 달리 스프링의 경우 WAR 파일을 업로드시켜야합니다. 해당 디렉토리 경로는 EC2서버에서 tomcat이 설치된 경로라고 할 수 있다. 지금 보는 디렉토리의 위치가 바로 EC2서버에서 루트주소이다. 즉, http://퍼블릭주소:8080/ => 이 녀석이 루트주소로 설정되어 있다. 그런데 내가 배포하기 위해 업로드 한 프로젝트를 들어가기 위해서는 http://퍼블릭주소.. 2021. 4. 21. Spring) AWS S3 연동 후 액세스키 파일화 작업 - Boot (X) 개발환경 - Spring , MyBatis, Maven 우선 해당 글은 스프링 부트가 아닌 스프링환경에서 코드를 포스팅했습니다. 요즘 스프링의 경우 boot를 많이 쓴다 boot와 S3를 연동하는 경우 예제가 많이 있고 S3의 경우 보안키인 액세스키를 사용할 때 특정 의존성이 application.yum 파일의 내용을 읽어서 자동으로 연동시켜주는 코드가 있는데 나의 경우 Boot를 사용하지않고 프로젝트를 만들고 있기떄문에 해당 액세스 키를 어떻게 파일화시켜서 넘길지에 대한 고민이 많았다. 그래야 스프링부트에서 하는 것처럼 .gitignore 파일을 만들어서 숨기든지 할 수 있기 떄문이다. stackoverflow에서 답변을 얻어서 일단 해결을 했는데 우선 그 해결방안부터 얘기하고자함, 해당 출처 - st.. 2021. 4. 13. 이전 1 2 다음