카테고리 없음
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부분을 고쳐야 하기 때문에 위와 같이 해줬다는 것인데 자세한것은 좀 더 공부한 뒤 올릴예정)