본문 바로가기

Server

AWS를 이용한 스프링 배포 [4] #server.xml 설정 #외부 경로 설정 #tomcat9

반응형

https://yuni-spring.tistory.com/21

 

AWS를 이용한 스프링 배포 [3] #war #파일질라

https://yuni-spring.tistory.com/19 AWS를 이용한 스프링 배포 [1] #putty 블로그를 찾아가며 해본 결과 모두 설정도 다르고 방식도 조금씩 달라 처음 해보는 분들에겐 너무 생소하고 어렵게 느껴질 것 같아

yuni-spring.tistory.com

 

앞의 포스팅을 보고 오시면 이해가 빠릅니다.

 

저번 시간에 webapps에 war 파일을 풀어 페이지를 띄우는 것 까지 성공했는데요

 

하지만 팀 프로젝트는 절대경로로 /teen 을 통해 url을 설정해뒀기 때문에 

server.xml 에서 설정도 해줘야하고, 프로필 이미지 업로드 폴더 설정이나, 썸머노트 이미지 업로드 폴더 설정 (외부 경로 설정)이 필요합니다.

 

이 부분에 대해서 설명 드리려고 합니다.

 


 

우선 서버에서 파일을 업로드 할 때

기본적으로 톰캣에 저장되는 위치는 bin 폴더 안에 들어가게 되어 있습니다.

처음에 어디에 저장되는지를 몰라 고생을 많이 했었기 때문에 bin 폴더에 저장이 되는 점을 인지하시는게 도움이 되실 겁니다.

 

이 저장 위치를 변경하셔도 좋지만 저같은 경우는 bin에 폴더를 따로 생성해서 관리하도록 했습니다.

 

 

 

이렇게 프로필 이미지와 섬머노트 이미지 폴더를 만들어두었습니다.

 

putty에서 conf 폴더까지 간 뒤 server.xml을 열기 위해 vi 명령어를 통해 들어갑니다.

 

여기서 자세히 보셔야 할 부분은 Host 태그 내부 내용입니다.

 

우선 Context path 에 절대 경로 설정을 위해 /teen 으로 적어주었고

 

밑에 Context 2줄이 외부 경로 설정을 위한 코드입니다.

현재 서버는 ubuntu 운영체제로 이루어져 있기 때문에 윈도우 운영체제의 \\ 가 아닌 / 하나로 경로 설정을 해주셔야 합니다.

 

path는 컨트롤러에서 이미지를 요청했을 때 /teen/profileImage/프로필이미지.jpg 방식으로 요청이 되면

docBase인 /usr/local/tomcat9/bin/profile_image 폴더의 프로필이미지.jpg를 응답합니다.

 

운영체제가 윈도우인 상태에서 로컬에서 프로젝트를 돌릴 때 filePath라면

 

 

운영체제가 ubuntu인 상태에선 filePath를 이렇게 잡아주고

파일명이 저장될 때 폴더 내부로 들어갈 수 있도록 / 하나를 추가해줬습니다.

 


 

계속해서 war파일로 만들고 결과를 보고 반복을 하면서 시간적으로 많이 잡아먹었던 내용인데

이 글을 일찍 보시고 조금이나마 도움이 되셨으면 좋겠습니다.

 

반응형