Server, WAS/Tomcat: 22개의 글
운영시 JVM 상태 모니터링하는 명령어 $ sudo yum install java-1.8.0-openjdk-devel 를 통해 도구를 설치한다. sudo -u tomcat jstack sudo -u tomcat jstat -gcutil -h20 1000 jstat -gccapacity sudo -u tomcat jmap -histo jmap -heap jmap -dump:live,format=b,file=dump.bin : live 되고 있는 객체만 dump 뜬다. file 위치는 홈디렉토리이다. Thread 별 CPU 도 확인 할수 있음: htop 혹은 /proc/{pid}/task/000/stat 정보로 확인 가능
1. 문제상황 HTTP 메소드 DELETE로 request body를 이용하여 spring 컨트롤러에 요청을 쐈는데, 파라미터가 전부 null 로 넘어가는 것이 아닌가?? 띠용? 2. 문제점 참조문서 : https://stackoverflow.com/questions/25375046/passing-data-in-the-body-of-a-delete-request tomcat의 문제라고 한다. tomcat은 request body를 POST 일때만 파싱하고 있었다. 코드까보기 톰캣버전 : 8.0.48 (로컬 윈도우에 깔린거) 경로 : org.apache.catalina.connector.Connector.java 관련 코드 76라인 : 생성자호출에서 this.parseBodyMethods = "POST";..
이 포스팅은 CentOS 7 / Tomcat 8.0.22 버전에서 진행되었습니다. 목차 ○ Apache Tomcat 가이드 - 설치부터 서비스 등록까지 ○ Apache Tomcat 가이드 - 설정파일 분석하기 server.xml 1.1 Listener 리스너는 일반적으로 Apache Tomcat이 시작하거나 중지하는 것과 같이, 라이프 사이클 안에서의 이벤트를 정의합니다. 리스너를 선언하는 방법은 아래와 같습니다. 이어서 리스너의 종류별로 지원하는 속성에 대해 말씀드리겠습니다. APR Lifecycle Listener - org.apache.catalina.core.AprLifecycleListener 이 리스너는 APR/native 라이브러리가 존재하는재 확인한 후, 존재한다면 라이브러리를 로딩해주는 ..
이 포스팅은 CentOS 7 버전에서 진행되었습니다. 목차 ○ Apache Tomcat 가이드 - 설치부터 서비스 등록까지 ○ Apache Tomcat 가이드 - 설정파일 분석하기 설치하기 OPEN JDK 설치하기 Apache Tomcat을 설치하기 위해서는 우선 JDK(Java Development Kit)를 설치해야합니다. 일반적으로, JDK는 유료입니다. 따라서, 무료로 제공되고 있는 OPEN JDK 라는 것을 사용해야합니다. 차이점은 OPEN JDK는 Java 버전이 1.8까지만 제공되어있고, JDK는 최신버전(11.0 이상)을 이용할 수 있습니다. 저희는 어디까지나 Apache Tomcat을 실행하기 위한 용도로 설치하는 것이기 때문에, JDK의 최신버전의 기능을 사용할 필요가 없습니다. 그러므..
1. 개발환경- Ubuntu 12.04.4 LTS- Tomcat 7.0 2. Tomcat Profile 수정tomcat은 설치가 되었다는 가정하에 설명하겠다.$ sudo vi /etc/profile profile을 아래 문자를 추가export JAVA_HOME="/usr/lib/jvm/java-7-oracle" (1)export CATALINA_HOME="/home/www/tomcat" (2)export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/binexportCLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOE/bin/tools.jar:$CATALINA_HOME/common/lib/jsp-api.jar:$CATALINA_HOME/common/lib/ser..
1. 상황AWS EC2 Ubuntu를 웹서버 환경 셋팅을 하는 중 tomcat을 깔고 jenkins.war 파일을 배포했다. 이상하게 계속 404(찾을 수 없는 페이지) 에러가 나왔고아래와 같은 로그를 확인 했다. hudson.util.NoHomeDir at hudson.WebAppMain.contextInitialized(WebAppMain.java:126) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4779) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273) at org.apache.catalina.ut..
톰캣의 특정 버전부터는 RFC 7230, RFC 3986에 의해 특수문자를 URI에 허용하지 않는다.따라서 GET으로 던지던 많은 파라미터에서 문제가 생길 수 있다.회사에서 되던게 집에서는 안되길래 크롬 개발자도구 네트워크 탭을 보니, URL Encoded 된 Query String에서 [ ] 등의 특수문자가 보였다. 400오류가 발생했고, 서버 콘솔에는 rfc 7230 and rfc 3986 관련 메시지가 떠있었다. 파라미터를 encodeURI 해서 던지거나 톰캣의 server.xml 옵션을 수정해주어야 한다.나는 회사에서 잡은 개발환경에 맞추기 위해 후자를 택했다. 톰캣 conf/server.xml의 Connector에 다음 부분을 relaxedQueryChars 옵션을 추가해주면 된다. 출처 : h..
TLS : Transport Layer SecuritySSL : Secure Sockets Layer웹 브라우저와 웹 서버 간의 통신을 안전하게 보장하는 기술이다.데이터를 보낼 때 데이터를 암호화하고, 데이터를 받을 때 암호화된 데이터를 복호화 하는 식의 기본 구조를 갖는다.이 통신 구조는 양방향 이기 떄문에, 웹 브라우저와 웹 서버 모두 데이터를 내보낼 때 암호화를 진행한다.TLS / SSL 인증웹 브라우저에서 암호화된 연결로 웹 서버와 통신하려고 하면, 웹 서버에서 브라우저에게 몇가지 증명서(Certificate)를 요구한다.이 증명서는 클라이언트 인증 (Client Authentication) 이라고 하며, 개인 사용자 간 보다는 B2B 형태에서 더 많이 사용된다.대부분의 SSL-enabled 웹 ..
그냥 기본 설정 값으로 사용하기 위해서 정리한 내용입니다. 서비스 특성과 장비 사양에 맞게 값은 수정해서 사용하시길 권장 합니다.[기본설정][Tomcat 만 사용] [Httpd + Tomcat 사용][주석포함][Tomcat 만 사용] [Httpd + Tomcat 사용] 출처: http://jjeong.tistory.com/693 [jjeong]
예전에는 jsp 등과 같은 서블릿를 이용한 웹 서비스를 할때 보통 was 앞단에 httpd 서버를 두고 서비스를 했다. 물론 어디까지내 내 생각이긴 하지만 오래전 우리나라에서는 apache + tomcat, webtoB + jeus 조합이 가장 널이 사용되는 조합이었다. 지금은 톰캣의 성능이 많이 좋아져서, 사실 apache 등과 같은 httpd 를 두지 않아도 된다. 예를들어 xml, json 과 같은 동적 문서만을 서비스하는 경우 굳이 httpd를 사용할 필요는 없다. httpd를 연동 할것인가 아닌가는 서비스의 목적, 시스템 구성에 따라 고려해야 하는게 맞다. 개인적인 소견으로는 맹신적인 httpd + 서블릿 컨테이너의 조합은 옳지 않다. 그럼에도 불구하고 내가 apache와 tomcat을 실제 서..