Server, WAS: 43개의 글
개발을 하는 어느날 연계사로부터 새로운 모듈을 받았다. 해당 모듈을 적용할때 주의사항은 단 하나. WEB-INF/lib 또는 TOMCAT_HOME/lib 에 해당 모듈을 넣지말고 별도로 classpath에 적용할것. 그래서 별 생각없이 개발PC(윈도우) CLASSPATH 에 해당 모듈을 추가하고 커맨드창에서 모듈을 실행하니 잘 나온다. 그런데 해당 모듈을 웹 프로젝트에 적용하니 모듈 호출이 안된다. 어라? 내가 뭘 잘못했나 한참을 생각했다. 결국은 톰캣 자체 CLASSPATH에 추가를 한 뒤 해결할 수 있었으나 이 찜찜함. 그래서 열심히 구글링을 해 본 결과 톰캣은 OS 환경변수를 그냥 무시해 버린단다. 어찌되었든 톰캣 TOMCAT_HOME/bin/catalina.sh(bat) 파일에 CLASSPATH를..
개발은 윈도우(로컬PC), 서비스 운영은 리눅스일때 가장 문제가 되는것은 OS 캐릭터셋의 다름에 의한 문제이다. JVM을 구동시키는 캐릭터셋이 다를경우 파일 입출력, 한글 byte 계산등에서 문제가 발생한다. 윈도우의 경우 캐릭터셋으로 MS949를 사용하고, 리눅스는 설치 환경마다 다르지만 요즘 추세대로 UTF-8을 이용한다. 서로 다른 캐릭터셋을 하나로 통일시켜주는것이 오류도 적으니 개발PC의 톰캣 설정을 서버 환경처럼 UTF-8로 맞추자. 캐릭터셋을 맞추는 가장 핵심은 톰캣을 구동시키는 JVM의 파라미터 옵션을 두면 된다. 아래와 같이 크게 3가지 파라미터를 옵션해 주가해 주면 된다. -Dfile.encoding=UTF-8 -Dfile.client.encoding=UTF-8 -Dfile.encodin..
톰캣은 오픈소스이다 보니 기본적으로 설정되어 있는 값들이 상당히 루즈하게 되어있다. 기본 설정값들을 그대로 사용하는것보다는 자신의 서버 환경에 맞게 어느정도 튜닝이 되어야 톰캣이 최적의 성능을 낼 수 있다. 오늘은 내가 사용하는 기본적인 톰캣 튜닝 몇가지 방법을 정리해 보았다. 톰캣 설정을 하기 위해선 $TOMCAT_HOME/conf/server.xml 에서 설정을 해주면 된다. 1. Listener 톰캣 시작시 root로 실행하는것을 방지하는 부분이다. 톰캣 단독으로 80포트 이용시에는 필요없을 부분이긴 하지만, 그렇지 않다면 해당 옵션을 켜주는게 좋다. root 실행은 퍼미션 문제든 여러 문제점을 야기하므로 특별한 경우가 아니면 root 실행은 하지 말자. * 구문은 주석으로 처리되어 있으니, 주석을..