본문 바로가기
Spring/문제해결

Spring boot, Tomcat 배포 시 Storage 빈 생성 오류

by 모스키토끼 2020. 1. 9.

1. 오류 확인

  • AWS(Centos 환경)에서 Spring 서버를 Tomcat에 올리려고 했는데 Storage 생성이 안된다는 오류 메시지가 떴다.
  • 로컬에서 Tomcat에 올리지 않고 개발할 때는 파일 업로드 경로를 application.properties에 원하는 경로를 상대 경로로 설정했더니 잘 돌아갔었는데 Tomcat에 올리려고 하니까 오류가 나는 상황

2. 원인 파악

  • 이미지가 저장되고 불러올 수 있는 경로 확보가 필요
  • 이미지 관련 url요청을 받으면 Tomcat에서 이미지가 있는 경로로 연결할 수 있는 설정 필요

3. 해결

  • 업로드 경로 수정
    • Tomcat/webapps/디렉터리 안에 파일을 저장할 폴더 upload를 생성하고 소유자를 tomcat으로 변경, application.properties에 이 경로로 업로드 경로를 설정
  • Tomcat에 추가 설정이 필요
    • Tomcat/conf/server.xml 파일에 Context 추가
    • <Context docBase="/tomcat/webapps/upload" path="도메인 뒤에 붙는 업로드 url 경로" />
    • 위 설정을 하고 http://www.어쩌구.com/업로드 경로/image.jpg를 요청하면 Tomcat에서  /tomcat/webapps/upload/image.jpg까지의 경로로 연결해준다.

server.xml

 

 <Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">

 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix="localhost_access_log." suffix=". txt"

               pattern="% h % l % u % t &quote;%r&quote; % s % b" />

 

        <Context docBase="ktsa" path="/" reloadable="true" />

       <Context docBase="/var/webapps/upload" path="/resources/upload/" />

</Host>

 

reference

http://trandent.com/article/etc/detail/678

 

톰캣 파일업로드 경로 설정 / tomcat file upload path setting :: TRANDENT

Spring, JSP, Javascript, JQuery, AngularJS 등 웹개발 정보 공유. Trandent.com

trandent.com

 

댓글