server.xml

shutdown 포트
비활성화
<Server port="8005" shutdown="notuse">
*규칙을 적용한 기본 shutdown port + 1000
shutdown port 미사용, shutdown 예약어 변경


Service Connector *http 
<Connector URIEncoding="UTF-8" bindOnInit="false" connectionTimeout="20000" executor="httpThreadPool" maxThreads="256" minSpareThreads="10" port="${port.http}" protocol="HTTP/1.1" redirectPort="${port.https}" server="Server"/>
* 각 커넥터 포트는 사용여부에 따라 유동적으로 설정 (https는 기본적으로 비활성화)
* connector 태그의 포트 변경 -> env.sh 로 분리.
8080 => ${port.http}
8009 => ${port.ajp}
8443 => ${port.https}
*https
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>
 
* ajp connector 설정 변경
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="${port.ajp}" protocol="AJP/1.3" redirectPort="${port.https}" URIEncoding="UTF-8" maxPostSize="-1
        minSpareThreads="32" maxThreads="256" connectionTimeout="20000" acceptCount="10" xpoweredBy="false" secretRequired="false" address="0.0.0.0"/>
* address="0.0.0.0"
 - 8.5.51부터 AJP 커넥터의 기본 수신 주소 가 모든 주소가 아닌 루프백 주소로 변경
* secretRequired="false"
 - 8.5.51부터 secretRequired 속성이 AJP 커넥터에 추가
 - 기본값(default)이 true이므로 미설정시 기동 불가
Engine * jvmRoute 추가 (Engine 태그에 jvmRoute="{workers.properties 에서 해당하는 것과 동일하게}" 속성 추가)
 - 1번 WAS의 경우 <Engine name="Catalina" defaultHost="localhost" jvmRoute="TEST_01_01">
 - 2번 WAS의 경우 <Engine name="Catalina" defaultHost="localhost" jvmRoute="TEST_02_01">
 
Host * 어플리케이션 추가
      <Host name="localhost" unpackWARs="true" autoDeploy="false">
          <Context path="/" docBase="/sorc001/appadm/applications/mainWebApp.war" reloadable="false" privileged="true"/>
~~~
      </Host>

혹은 Catalina / localhost / 안의 localhost.xml 
<?xml version="1.0" encoding="UTF-8"?><Context docBase="D:\sorc001\xiper" path="/xmms" reloadable="false"/>
 
Context * AccessLog Duration 추가 : Host 태그 내
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".log"
               pattern="%h %l %u %t &quot;%r&quot; %s %b %D %r %{Referer}i %{User-Agent}i" />
* AccessLogValve (pattern)
%h - 원격 호스트 이름(또는 enableLookups커넥터가 false인 경우 IP 주소)
%l - identd의 원격 논리적 사용자 이름(항상 '-' 반환)
%u - 인증된 원격 사용자(있는 경우), 그렇지 않으면 '-'
%t - 공통 로그 형식의 날짜 및 시간
%s - 응답의 HTTP 상태 코드
%b - 보낸 바이트(HTTP 헤더 제외, 0인 경우 '-')
%D - 요청을 처리하는 데 걸린 시간(밀리초)
%T - 요청을 처리하는 데 걸린 시간(초)
%r - 요청의 첫 번째 줄(메서드 및 요청 URI)
* StuckThread Valve 설정 : Host 태그 하위에 Valve 태그 추가
         <Valve className="org.apache.catalina.valves.StuckThreadDetectionValve"
                       threshold="300" interruptThreadThreshold="600"/>
* StuckThreadDetectionValve
 - threshold : StuckThread 조건 감지 시간. 설정된 시간 이상으로 Thread가 요청을 처리하고 있으면 Stuck Thread로 판단하여 로그에 기록을 남긴다. 0으로 설정시 비활성화 (default값 600초)
 - interruptThreadThreshold : Stuck Thread가 발생 했을 때, interrupt를 수행할 기준 시간이다. 기본 설정은 -1로 되어있어 사용되지 않고 있다. 해당 설정을 사용하려면 Threshold보다 크거나 같게 설정해야 한다.

'리눅스' 카테고리의 다른 글

Tomcat 로그 종류  (0) 2024.09.23
Tomcat(WAS) 로그 확인  (0) 2024.09.23
WEB, WAS 연동  (0) 2024.05.29
모니터링 쉘 스크립트 만들기(15)  (0) 2024.05.29
모니터링 쉘 스크립트 만들기(14)  (0) 2024.05.29

+ Recent posts