카테고리 없음

War 배포 시 url 프로젝트 명 및 포트포워딩

freeParksey 2022. 7. 17. 12:38

1. 문제

 

톰캣 서버를 구동하면 초기 경로는 ROOT로 되어있습니다.

따라서  "/"로 접근하게 되면 기본 페이지가 나오게 되고 자신의 프로젝트 명으로 추가로 들어가야

웹페이지가 나오게 됩니다.

 

1-1. 해결 방안

따라서 tomcat의 server.xml파일을 변경하여 기본 ROOT 경로를 자신의 프로젝트에 맞게 해줘야 한다.

 

 

 

 

2. 과정

먼저 server.xml파일에서 Host태그를 보면 아래와 같이 되어있습니다.

 

  • autoDeploy : 동적으로 웹 애플리케이션 배치 ( war파일이 올라가게 되어 리로딩 시 애플리케이션 리로딩)
  • unpackWars : war파일의 압축을 자동 해제 하는 기능

해당 태크 안에 Context 태그를 넣아야합니다.

<Context docBase="arbietdiary" path="/" reloadable="false"/>
  • docBase : ROOT폴더를 대체할 기본 폴더
  • path : request path
  • reloadable : 변경된 소스에 대한 변경
    • OOM(Out of Memory) : 리로드시 기존 클래스 파일의 메모리 해제되는 것이 아니다.

 

 

3. PORT REDIRECT

 

기존에는 8080포트로 접속을 해야 접근이 가능했습니다. 이를 80 포트로 변경하기 위해서는

sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80

를 입력해 줘야합니다.

 

(입력으로 들어오는 포트를 로컬 80포트로 리다이렉트 시키는 과정이고, 들어올때 변경해야하기 때문에 dst nat부분을 고쳐야 하기 때문에 위와 같이 해줬다는 것인데 자세한것은 좀 더 공부한 뒤 올릴예정)