2012-04-02 1 views
0

프로덕션 환경에서 우리는 많은 다른 Tomcats 인스턴스를 가지고 있습니다. 각 Tomcat은 다른 포트에서 수신 중이며 JDBCRealm과 다른 데이터베이스를 사용하고 다른 appBase 디렉토리에서 응용 프로그램을 실행합니다. 그래서 여기에 인스턴스 특정 값이있는 매개 변수입니다 :시작 스크립트에서 Tomcat7 포트, appBase 및 Realm 속성 (server.xml에 있음)을 덮어 쓸 수 있습니까?

  • port 속성 ServerConnector 요소는
  • connectionURL, connectionName, Realm 요소
  • appBase 속성 Host의 요소의 connectionPassword 속성

누군가 (다시) (새) Tomcat 인스턴스를 배포하면 해당 인스턴스를 대체해야합니다 rver.xml (소스 제어에서 제공됨)을 사용하여 이러한 매개 변수에 인스턴스 별 값을 설정합니다.

다른 인스턴스에 동일한 server.xml을 사용하는 것을 선호합니다. 그래서 내 질문은, 그것을 덮어 쓰기/시작 스크립트에서 이러한 매개 변수를 재정의 할 수 있습니까?

답변

1

네,하지만 server.xml의 매개 변수를 지정해야합니다.

<Connector port="${port.http}" protocol="HTTP/1.1" 
      connectionTimeout="20000" 
      redirectPort="${port.https}" /> 

를 다음/편집에서는 setenv를 만들 [박쥐 | 쉬]와 (Windows 용)의 라인을 따라 뭔가를 추가 :

예를 들어, HTTP 커넥터의 당신은이 작업을 수행 할 것입니다.

set CATALINA_OPTS=-Dport.http=10180 -Dport.https=10143 

종료 포트를 매개 변수화해야한다는 점을 잊지 마십시오. 이 기술은 server.xml, context.xml 및 web.xml의 모든 속성 값에 대해 작동합니다.

+0

이것은 정확히 내가 원했던 것입니다. 나는 그것을 밖으로 시도하고 upvote/accept 받아 들일 것입니다. 감사합니다. – bpgergo

+0

고마워, 나는 이것을 시도하고 잘 작동합니다. – bpgergo