setenv.sh 파일 설정 setenv 쉘 파일은 tomcat 구동 시 읽어 들이는 실행 환경설정 파일입니다. 대부분의 시스템은 JVM 관련 옵션을 catalina.sh 파일을 수정하여 사용할 수 있지만, 이렇게 되면 톰캣 버전 업그레이드, 서버 이전 등의 작업에서 해당 파일이 변경될 수 있기 때문에 유지보수가 어려울 수 있습니다. 그렇기 때문에 bin 디렉토리 아래의 setenv.sh 환경변수 파일을 수정해서 JVM 관련 옵션을 수정할 수 있습니다. JVM이란? Java Virtual Machine으로 JAVA와 운영체제 사이의 중개자 역할을 수행합니다. 한정된 메모리에서 프로그램의 효율적인 성능을 내기 위해서 필요합니다. JAVA_OPTS 등 환경 설정이 가능합니다. 여러 라인을 작성할 경우 역 슬..
catalina.out 초기화 및 용량 관리 방법 Tomcat은 Catalina.out이라는 파일에 로그를 남기게 됩니다. 정적으로 확인하려면 vi, vim으로 열어서 확인하고 동적으로 실시간 로그를 확인하려면 tail -f 명령어를 이용해서 확인하게 될 겁니다. 만약 tail -f catalina.out 에서 특정 로그가 발생할 때 보고 싶으시다면 # tail -f catalina.out | grep -i 'error' 위의 명령어로 볼 수도 있습니다. Catalina.out은 단일 파일로 생성되고 날짜가 바뀌더라도 바뀌지 않고 크기 제한 없이 한없이 커집니다. 그렇기 때문이 이 파일의 관리는 중요합니다. Catalina.out 로그 남기지 않는 방법 tomcat bin에 있는 Catalina.sh 파..
윈도우에서는 리소스 사용량을 "작업 관리자" 라는 기능을 이용해서 CPU, 메모리 사용량 등을 체크할 수 있습니다. 리눅스에서도 이런 시스템 자원을 모니터링 할 수 있는 여러 기능들이 있지만 htop 이라는 직관적인 GUI를 제공 해주는 패키지도 존재합니다. 오늘은 htop에 대해서 알아보도록 하겠습니다. htop 설치하기 최초에 리눅스를 설치하셨다면 htop은 설치가 되어 있지 않습니다. 만약 설치되어 있지 않은 상태에서 CPU, 메모리 등을 확인하시려면 아래의 명령어를 사용하셔야 합니다. CPU : top Memory : free # yum -y install epel-release epel-release에 htop도 함께 포함되어 있으므로 설치를 진행해 줍니다. epel-release는 리눅스의 추..
CentOS, Ubuntu 세션 타임아웃(TMOUT) 설정하는 방법 보통 리눅스를 사용하시는 분들은 ssh 프로토콜로 연결해서 사용하시는 경우가 많으실 텐데 한번 연결을 할 때를 한 세션이라고 합니다. 여기서 세션 타임아웃이란 어떤 이벤트가 특정 시간동안 없으면 시스템에서 자동으로 세션을 끊어버리는 것을 말합니다. 만약 세션 타임아웃이 되지 않고 지속된다면 권한이 없는 사용자는 언제든지 시스템에 접근해서 악의적인 목적을 행할 수 있기 때문에 세션 타임아웃 설정은 보안적인 측면에서도 중요하다고 할 수 있습니다. 오늘은 리눅스에서 Session TimeOut 설정을 하는 방법에 대해서 한번 알아보도록 하겠습니다. 1. 타임아웃 설정 방법 세션 타임아웃 설정은 기본적으로 /etc/profile 파일에 정의되어..
Defunct 프로세스란? 부모 프로세스가 자식 프로세스를 만들게 되고 프로세스가 끝나게 될 때, 부모 프로세스는 자식 프로세스 실행이 끝난 후 커널은 이 사실을 시그널 18의 형태로 부모에게 전송합니다. 하지만 부모 프로세스가 어떤 작업을 하고 있다면 자식 프로세스의 시그널을 받지 못합니다. 이때는 자식 프로세스가 정상적으로 종료될 수 없게 되는데 이 상태가 defunct 상태입니다. 쉽게 말해서 부모 프로세스가 없는 자식 프로세스들입니다. 좀비(defunct) 프로세스 찾기 # ps -ef | grep defunct | grep -v grep 실행예시 # ps -ef | grep defunct | grep -v grep root 17107 21899 0 Feb25 ? 00:00:00 [프로세스] te..
우분투 패키지 설치 방법(apt, apt-get, apt-cache) apt(Advanced Packaging Tool)는 debian 계열의 패키지 툴입니다. 이는 리눅스 시스템에 패키지를 설치하고 제거하는데 사용됩니다. ubuntu 등의 가이드를 찾아보면 패키지를 설치할 때 어디서는 apt 또 다른 곳에서는 apt-get으로 알려주고 서로 다른 명령어로 알려주는 경우가 있습니다. 이 차이점에 대해서 조금 더 알아보도록 하겠습니다. apt는 apt-get, apt-cache의 기능 중에서 잘 사용되지 않는 기능을 제외하고 꼭 필요한 요소만 모아 만든 새로운 툴입니다. 여기서 apt-get은 패키지 설치를 담당하고, apt-cache는 패키지 검색을 담당하는 tool입니다. 결론적으로 apt-get이 아..
CentOS7에서 iptables 설정하는 방법 centos7에서는 기본적으로 Firewalld가 실행되어 있기 때문에 이 서비스를 중지 시켜줘야 iptables 사용이 정상적으로 가능합니다. firewalld는 룰 변경시 서비스 중지 없이 설정 변경이 가능합니다. 하지만 출발지 목적지의 설정이 명확치 않아 중급자 이상이라면 iptables 사용을 권장합니다. Firewall 데몬 끄기 # systemctl stop firewalld # systemctl mask firewalld firewalld 서비스를 stop 해주고, 실행되지 않도록 mask 설정을 해주세요 # systemctl status firewalld - 데몬 상태 확인 firewalld 서비스가 정상적으로 stop 되었는지 데몬을 확인해..