1. there was an unexpected error (type=internal server error status=500)

배포를 하고나서, 메일 전송을 실행하는 과정에서 500 에러가 발생했다. 원인을 찾기 어려웠던 이유는 에러메시지가 나타나지 않았기 때문이다. IntelliJ도 개발자도구에도 에러가 없었다. 

 

war 파일 생성 후 배포과정에서 메일 전송로직을 잘 수행하지 못하는 것 같아 에러로그를 살펴보기로 했다.

현재 서버환경은 Ubuntu 20.04와 tomcat9 버전인데, 에러로그를 tail -f /usr/local/tomcat/logs/catalina.out
와 같이 tail 명령어를 사용해서 보려고 했지만 적용되지 않았고, 없는 경로 또는 디렉토리라는 문구가 나와서 고민을 많이 했다. 

 

원하던 스택오버플로우 답을 발견했는데 journalctl 을 이용한 로그를 살펴보는 것이다. 답변에 나온대로 tomcat 로그를 확인했지만, 나오지 않아서 journalctl -f 로 전체 실시간 로그를 확인했다. 그 결과, 예상대로 javax.mail 전송과정에서 에러가 발생하는 것을 확인할 수 있었다.

 

인식하지 못하는 부분은 properties 부분의 전송하는 아이디와 비밀번호였는데, war 파일로 배포하면서 제대로 인식을 못하는 것 같았다. 그래서 확실하게 값을 가져올 수 있도록 controller 부분에서 @value로 값을 가지고 와서 직접 대입시켜 주었다. 그 결과 동적 서비스(메일 전송) 부분의 에러를 해결할 수 있었다.


2. "PuTTY Fatal Error: Disconnected: No supported authentication methods available (server sent: publickey) OK

7월 19일 윈도우 업데이트를 하고 나서 동일하게 AWS 서버로 접속하는데 계속 key가 잘못됐다는 에러가 발생했다. 100번도 넘게 접속한 것 같은데 문제를 몰라서 일단 key를 새로 발급받고 PuTTY gen으로 변환시켜서 진행했는데도 같은 에러가 발생했다.

 

신기한 것은 filezila에서는 되고, PuTTY 에서는 연결되지 않았다는 점이다. 시간관계상 Ubuntu 재설치를 진행해서 연결해더니 해결되었다. 원인을 몰라서 답답했지만, AWS 설치를 5번 정도 해봐서인지 복습이다 생각하고 했던 것 같다.


3. o.s.b.d.LoggingFailureAnalysisReporter

DB 연결 불가로 발생하는 오류이므로 구글 검색결과 대로 application.properties 에 spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration 를 입력해서 해결할 수 있었다.


4. HikariPool

서버를 다시 연결하면 되는 에러. 랩탑 잠들기 모드에서 발생하는 시간 도약 문제라고 한다.

그 외에는 실행 메서드에서 연결누수를 막기위해 스프링부트2에서 제공하는 Hikari CP에 따른 것으로, properties에서 설정가능하다.


5. IntelliJ에서 war 배포문제

처음엔 okky에서처럼 나의 문제가 아니라고 믿고 싶었다. 그래서 STS에 import도 다시하고, 버전의 문제인가 생각도 해보고 여러 시도를 했던 것 같다.

(1) 처음 Spring initializr 로 설계시 war 파일로 packing 설정하면 해결되는 문제였다.

그 전에 jar 파일 packing으로 설정했는데 (2) artifacts로 war 파일 생성해도 해결되는 문제이다.


6. war 파일 배포시 권한설정 permission denied

tomcat webapps 파일에 war 파일 배포시 권한 설정 문제가 발생했다. 본 프로젝트 단계 설명 중 배포단 tomcat 설치시 작성해놓은 권한 설정을 해주면 해결되는 문제이다. $ sudo su 로 ubuntu 사용자에서 webapps 파일 관리 권한을 부여한다.

Spring intializr(Gradle), IntelliJ, AWS EC2를 이용한 포트폴리오 만들기 - 5단계 배포하기(1)


[CENTOS]Tomcat 로그보는 방법

File “catalina.out” not being created/populated when using Tomcat 9.0.31 + Ubuntu 20.04

Amazon Elastic Compute Cloud(Amazon EC2) Linux 인스턴스에 연결할 때 "imported-openssh-key" 또는 "Putty Fatal Error" 오류가 발생하는 이유가 무엇인가요?

리눅스 이력정보

[Spring] o.s.b.d.LoggingFailureAnalysisReporter 에러 해결

HikariPool - Thread starvation or clock leap detected 메세지

Spring Boot: Detecting Connection Leak

[Ubuntu] 우분투 서버에서 파일 업로드 시 권한문제 해결

 

 

댓글