tomcat 발표 응용 프로그램 및 JVM 설정

7568 단어 tomcat
1. tomcat 여러 애플 리 케 이 션 발표
1. 같은 포트 아래 에 여러 개의 애플 리 케 이 션 을 발표 합 니 다. 포트 가 없 으 면 포트 를 80 으로 설정 할 수 있 습 니 다. 여러 host 의 name 은 같 을 수 없습니다.
  <Service name="Catalina">
    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
		<Context docBase="tbp" path="" debug="0" reloadable="true" />
      </Host>
	  <Host name="127.0.0.1"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
		<Context docBase="tbp2" path="" debug="0" reloadable="true" />
      </Host>
    </Engine>
  </Service>

 접근 을 적용 하려 면 context 를 추가 해 야 합 니 다:
  <Service name="Catalina">
    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
		<Context docBase="tbp" path="/tbp" debug="0" reloadable="true" />
      </Host>
	  <Host name="127.0.0.1"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
		<Context docBase="tbp2" path="/tbp2" debug="0" reloadable="true" />
      </Host>
    </Engine>
  </Service>

 
2. 서로 다른 응용 프로그램 이 서로 다른 포트 에 대응 해 야 한다 면 여러 응용 프로그램 을 각각 여러 tomcat 에 넣 을 수도 있 고 server. xml 에서 설정 할 수도 있 습 니 다.
<Service name="tbp">
    <Connector port="2080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="2009" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="tbp" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
		<Context docBase="tbp" path="" debug="0" reloadable="true" />
      </Host>
    </Engine>
  </Service>
  
  <Service name="tbp2">
    <Connector port="3080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="3009" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="tbp2" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
		<Context docBase="tbp2" path="" debug="0" reloadable="true" />
      </Host>
    </Engine>
  </Service>

 
그러나 여러 애플 리 케 이 션 을 설정 하면 메모리 가 넘 치 는 오류 가 발생 할 수 있 습 니 다. 이 때 Catalina. bat 에 설 치 된 JVM 크기 를 조정 해 야 합 니 다.
remy -- Execute The Requested Command -------------------------------------------------------------------
 
Linux 에서 JVM 메모리 크기 변경:
tomcat 에 추가 위치 cygwin = false 앞.따옴표 에 주의 하 세 요. 빨간색 은 새로 추 가 된 것 입 니 다.
# OS specific support. $var _must_ be set to either true or false.
JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m"
cygwin=false

윈도 우즈 에서 JVM 메모리 크기 변경:
상황 1: 압축 해제 버 전의 Tomcat, startup. bat 를 통 해 tomcat 를 시작 해 야 설정 을 불 러 올 수 있 습 니 다.
tomcat 에 추가 의 빈 아래 catalina. bat 리
rem Guess CATALINA_HOME if not definedset CURRENT_DIR =% cd% 뒤에 빨간색 을 추가 합 니 다.
set JAVA_OPTS=-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true

 
 구체 적 인 크기 는 실제 상황 에 따라 조정 할 수 있다.

좋은 웹페이지 즐겨찾기