실행중인 Tomcat에 웹 응용 프로그램을 배포하는 데 대한 몇 가지 모범 사례를 수집하고 싶습니다. 얼마 전에 웹 응용 프로그램의 배포 프로세스를 설명해야했으며 프로세스가 다소 혼란스러워 보였습니다.실행중인 Tomcat에 웹 응용 프로그램 배포
우리는 WAR 파일 (foo.war)에 올바르게 구성되었으므로 추가 구성이 필요하지 않습니다. 이 경우 배포 프로세스는 비교적 간단합니다.
- foo.war 파일을 $ CATALINA_HOME/webapps 디렉토리에 복사합니다. 응용 프로그램이 올바르게 시작되면 응용 프로그램은 $ CATALINA_HOME/webapps/foo 디렉토리에 자동으로 배포됩니다.
응용 프로그램을 배포 해제하려면
- 는 $ CATALINA_HOME/웹 어플리케이션에서하던 foo.war 파일을 제거합니다. 응용 프로그램이 올바르게 언로드되면 언로드되고 $ CATALINA_HOME/webapps/foo가 제거됩니다.
이제 실행중인 응용 프로그램에서 일부 컨텍스트 매개 변수를 무시하고 싶습니다. docs을 읽으면서, 모두 내가 수행해야합니다
- 는
- 복사는 $ CATALINA_BASE/conf의에 파일/[enginename]/[호스트 이름]/디렉토리 foo.xml라는의 context.xml 파일을 만듭니다.
불행히도, 작동하지 않았습니다. 응용 프로그램이 다시 시작되지 않습니다. 경험적으로, 유일한 해결책은 전쟁 파일이 $ CATALINA_HOME/webapps 외부의 위치에 배포되는 경우입니다. 또한 외부에 context.xml이있는 경우 WAR 파일의 context.xml을 읽지 않으므로 WAR 파일의 구성 가능한 컨텍스트 매개 변수의 기본값을 web.xml에 지정해야합니다.
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="/path-to-deployment-directory/foo.war">
<Parameter name="myparam" value="newvalue" override="false"/>
</Context>
것은 당신이 'NEWVALUE'는 WAR의 web.xml에 지정된 값을 대체 할 경우 매개 변수에 대한 잘못된 재정을 = 지정해야합니다 : 여기
는 foo.xml의 쉬운 예입니다 . 이것은 우리에게 분명하지 않았습니다. 따라서, 실행중인 톰캣에 aplication를 배포합니다 :
- 는
- 복사는 $ CATALINA_BASE/conf의에 파일/[enginename]/[호스트 이름 foo.xml라는의 context.xml 파일을 만듭니다 ]/디렉토리.
- foo.war을 foo.xml의 docBase에 지정된 위치로 복사하십시오. 응용 프로그램이 자동으로 배포됩니다.
적용 할 수있는 새로운 컨텍스트 매개 변수 :
- foo.xml에 매개 변수 값을 추가하고 파일을 저장합니다; 응용 프로그램이 자동으로 다시 배포됩니다.
응용 프로그램을 배포 해제하려면
- 는 $ CATALINA_BASE/conf의/[enginename]/[호스트 이름]/디렉토리 foo는 제거하는 것이
주에서 foo.xml를 제거합니다. war도 작동하지만 foo.xml도 제거합니다. 지금까지
, 나는 다음과 같은 질문을했다 :
- IT는 바람둥이를 중지하지 않고 웹 응용 프로그램을 배포하는 모든 모범 사례 A는? 사람들이 별도의 바람둥이에서 각 응용 프로그램을 실행하기 때문에 실행중인 바람둥이로의 배포가 필요 없다는 의견을 들었습니다.
- WAR 파일을 $ CATALINA_HOME/webapps에 복사하는 것이 좋습니까? 그렇지 않으면 별도의 위치에 보관하는 것이 좋습니다.
- $ CATALINA_HOME/webapps에 배포 된 응용 프로그램을 구성하는 방법
- 응용 프로그램을 배포하는 데 catalina.out에 INFO 줄이없고 배포 해제 용으로 하나가있는 이유는 무엇입니까? 구성 가능합니까?