#. 참고 글
(shutdown port 관련 블로그 글)
https://m.blog.naver.com/websearch/221815004532
https://blog.naver.com/websearch/221814981282
#. 불필요 port
shutdown port를 사용하지 않도록 하여 보안을 강화할 수 있다.
server.xml 파일에서 아래와 같이 포트 번호를 -1로 하면 비활성화된다.
<Server port="-1" shutdown="SHUTDOWN">
아래 내용은 OS 별로 shutdown port를 사용하지 않고 tomcat 프로세스를 정지하는 방법이다.
#. Windows 환경
윈도우 환경에서는 CMD 창을 종료하거나, 윈도우 서비스 종료로 shutdown 하면 된다.
다만, 윈도우 서비스에 Tomcat을 등록하지 않은 환경에서
Jenkins 등으로 tomcat 기동/정지가 필요한 경우에는 shutdown port를 사용하는 수 밖에 없다.
#. Linux/Unix 환경
각각의 tomcat 프로세스 별로 CATALINA_BASE 값은 서로 unique한 값을 가진다.
해당 값으로 tomcat 프로세스를 grep 하고, 검색한 프로세스의 PID를 kill -9 하는 스크립트를 사용하면 된다.
##### server stop #####
#server properties
CATALINA_BASE=/app/tomcat/apache-tomcat-9.0.98/servers/server1
# Find the process ID (PID) of Tomcat
PID=$(ps -ef | grep java | grep "$CATALINA_BASE" | awk '{print $2}')
if [ -n "$PID" ]; then
echo "Stopping Tomcat (PID: $PID)..."
kill -9 "$PID"
echo "Tomcat stopped."
else
echo "Tomcat is not running."
fi
#. 불필요 log
catalina.properties 파일을 수정한다.
manager.log 와 host-manager.log는 필요 없으므로 주석처리 해도 괜찮음.
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 90
1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8
2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
2localhost.org.apache.juli.AsyncFileHandler.maxDays = 90
2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8
#3manager.org.apache.juli.AsyncFileHandler.level = FINE
#3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
#3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
#3manager.org.apache.juli.AsyncFileHandler.maxDays = 90
#3manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8
#4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
#4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
#4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
#4host-manager.org.apache.juli.AsyncFileHandler.maxDays = 90
#4host-manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8
manager.log 와 host-manager.log는
최초 설치 시 webapps 하위에 있는 manager 및 host-manager 사용 시 기록되는 로그인데,
애초에 저 둘은 보안 상 사용하지 않으므로 필요가 없다.
아래 두 로그는 필요하므로 주석처리 하지 말자.
catalina.log : 톰캣 내부적으로 발생하는 이벤트에 대한 로그 기록
localhost.log : 톰캣을 종료할 때와, 톰캣 시작시 로그를 기록
'WAS - Tomcat 계열 > 각종 설정' 카테고리의 다른 글
[Tomcat,JWS] 윈도우 서비스 사용 시 Log On 메뉴 가이드 (0) | 2024.12.05 |
---|---|
tomcat spring_web 인 둘 이상의 fragment들이 발견되었습니다 (0) | 2024.11.19 |
[Tomcat] 데이터소스 설정 방법 (0) | 2024.08.07 |