LabHub

Tomcat & nginx 운영 · Tomcat 구조와 server.xml · 퀴즈

퀴즈: Tomcat 구조와 server.xml

LabHub 에서 이어서 보기

문항 7개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. `server.xml` 의 `<Server port="8005" shutdown="SHUTDOWN">` 에서 8005 포트의 역할은?

    1. HTTP 요청을 받는 두 번째 서비스 포트
    2. JMX 모니터링 포트
    3. 클러스터 세션 복제 포트
    4. 종료 명령 문자열을 받는 포트 - 여기에 접속해 문자열을 보내면 WAS 가 내려간다
  2. JVM 힙 옵션을 추가할 때 `catalina.sh` 를 직접 수정하지 말고 `bin/setenv.sh` 를 만들라고 하는 이유는?

    1. catalina.sh 는 읽기 전용 파일이라 수정할 수 없어서
    2. setenv.sh 가 더 빨리 실행되어서
    3. setenv.sh 는 catalina.sh 가 자동으로 읽으며, 톰캣 버전 업그레이드 시 덮어써지지 않아서
    4. catalina.sh 수정은 라이선스 위반이라서
  3. 배포 후에도 화면이 이전 버전 그대로 보일 때 가장 먼저 확인해야 할 Tomcat 디렉터리는?

    1. conf/
    2. lib/
    3. temp/
    4. work/
  4. AccessLogValve 의 `pattern` 에 `%D`(처리 시간) 를 넣어야 하는 실무적 이유는?

    1. 기록 항목이 정돈돼 로그 파일 크기와 디스크 사용을 줄일 수 있어서
    2. 톰캣이 요청별 시간을 재면서 내부 통계를 최적화하기 때문에
    3. '느리다'는 신고를 받았을 때 어떤 URL 이 얼마나 걸렸는지 근거를 댈 수 있어서
    4. 개인정보 보호 규정이 접근 기록에 처리 시간 보존을 요구해서
  5. `conf/Catalina/localhost/api.xml` 에 `docBase` 를 지정하는 방식의 실무적 이점은?

    1. 전개 과정을 건너뛰므로 애플리케이션 기동 시간이 눈에 띄게 줄어든다
    2. 공통 라이브러리를 밖에 두게 되어 WAR 파일 크기가 줄어든다
    3. 컨텍스트가 파일로 분리되어 세션 클러스터링 설정이 자동으로 켜진다
    4. webapps 밖의 경로를 서비스해 배포 산출물과 톰캣 설치본을 분리할 수 있다
  6. `catalina.out` 이 수십 GB 로 커져 디스크를 채우는 문제의 원인으로 가장 정확한 것은?

    1. 로그 레벨이 DEBUG 로 설정되어 있어서만 발생한다
    2. logging.properties 파일이 없어서
    3. catalina.out 은 표준출력 리다이렉션이라 톰캣이 자체 로테이션하지 않기 때문
    4. 톰캣 버그이며 최신 버전에서는 발생하지 않는다
  7. '프로세스는 떠 있는데 서비스가 안 된다'는 상황을 가장 빠르게 판별하는 방법은?

    1. ss 로 서비스 포트가 LISTEN 인지, 기동 완료 로그가 있는지 함께 본다
    2. ps 로 자바 프로세스가 살아 있는지만 확인하고 다음 단계로 넘어간다
    3. 원인 파악보다 복구가 우선이므로 먼저 재기동하고 로그를 나중에 본다
    4. 디스크 사용량을 먼저 확인해 로그가 꽉 찬 것이 아닌지 본다