Apache 2.4 에 mod_jk 를 설치하고 Tomcat 9 와 AJP 연결 설정을 했다. 그런데, 어찌된 영문인지 AJP 연결이 되지 않으면서 다음과 같은 에러 메시지만 나왔다. invalid message received with signature mod_jk 설정과 Tomcat 9 의 연결 설정은 아무런 문제가 없음에도 이런 오류가 발생하는 이유를 몰랐는데, 문제는 아주 단순했다. address=”::1″ Tomcat 9 의 서버 설정인 server.xml 에 ajp 설정은 다음과 같다. <connector protocol=”AJP/1.3″ address=”::1″ port=”8009″ redirectport=”8443″> 기본 설정값으로, address 에 할당된 값이 문제가 된다. address 에 값을 “0.0.0.0” 으로 바꾸던지 아니면 […]
jboss-cli 를 통한 로깅 설정
자바 웹 애플리케이션에 대한 로깅은 중요한 일이다. 웹 애플리케이션이 어떻게 동자하는지를 잘 알아야 하는데, 그 방법이 로깅이기 때문이다. 하지만 웹 애플리케이션의 로깅을 변경할 경우에 대부분 웹 애플리케이션을 배포한다. 물론 배포를 하지 않고도 가능하지만, 대부분 배포를 다시 하게 된다. JBoss 에서는 배포를 하지 않고 jboss-cli 를 통해서 런타임으로 설정이 가능하다. ]$ /app/wildfly/bin/jboss-cli.sh –connect –controller=192.168.96.7:8080 [standalone@192.168.96.7:8080 /] 만일, 인증을 설정했다면 ID/Password 를 입력해야 한다. logging Subsystem Jboss 는 JEE 스펙을 구현한 서버이다. JEE 스펙을 각각 Subsystem 으로 구현해놨다. Subsystem 으로 모듈화를 해놨기 […]
WebLogic 12c: 노드 매니저(NodeManager) 설정하기
WebLogic 에서 노드매니저(NodeManger)는 웹로직을 운영할 머신(Machine) 에 설치되는 것으로 웹로직의 Admin 서버에 요청을 받아 처리해주는 역할을 한다. 노드매니저가 하는 일은 대략 다음과 같다. 매니지드 서버 생성/삭제 매니지드 서버 시작, 중지, 종료 웹로직을 설치하면 노드 매니저도 함께 설치가 된다. 기본적으로 터미널 상에서 노드매니저를 설정을 한 후에 Admin 콘솔에서 Admin 서버가 인식할 수 있도록 등록을 해줘야 한다. 여기서는 터미널 상에서 노드매니저 설정에 대해서 간단하게 다루어 본다. 참고: Oracle WebLogic 12c (12.2.1): Configuring and Using Node Manager 노드매니저 설정 웹로직을 설치하고 난 후에 […]
WebLogic 12c Silent 설치
WebLogic 12c 사일런트(Silent) 설치에 대해서 다룹니다. 현재 WebLogic 은 12.2.1.4 버전이다. WebLogic 12.2.1.4 WebLogic 은 자바 엔터프라이즈 서버(Java Enterprise Server) 이다. 자바를 필요로 하는데, 특징은 Oracle 자바 jdk8 이 반드시 필요하다. JEE 7 스펙을 만족한다. 최근에 Oracle Linux 8.x 에서 인증이 되어서 설치할 수 있게 되었다. 시스템 계정 생성 WebLogic 을 운영하기 위한 시스템 계정을 생성 한다. ]# groupadd -g 1000 oinstall ]# useradd -u 1100 -g oinstall oracle ]# passwd oracle oracle 사용자의 비밀 번호 변경 중 새 암호: […]
Tomcat 서버 로케일 설정
Windows 에서 Tomcat 9 서버를 CMD 에서 시작하면 화면에 뿌려지는 로그들이 한글이 깨진채 표시가 된다. 이것은 한글 로케일로 되어 있어서 Tomcat 서버가 한글로 뿌려주지만 CMD 가 한글을 표시할 수 없어 생기는 문제다. 이 문제를 해결하는 방법은 간단하다. CMD 의 로케일을 다음과 같이 변경해 주면 된다. chcp 65001 65001 은 UTF-8 을 의미한다. 이렇게 변경한 후에 Tomcat 을 재 실행하면 한글이 제대로 표시 된다. 하지만 Tomcat stdout 로그를 영문으로 바꾸고자 한다면 위 방법으로 되지 않는다. 이것은 Tomcat 서버가 Windows 10 의 […]
Tomat 8.5 Manager 패스워드 암호화 하기
Tomcat 8 로 넘어오면서 manager 페이지 접근을 위한 패스워드 암호화 방법에 조금 변화가 있었다. 이에 대해서 기술한다. Manager 페이지 접근 권한 – context.xml 기본값으로 /manager 페이지에 대한 접근은 localhost 로 제한이 걸려 있다. 이것은 manager 앱에 대한 context.xml 파일에 설정되어 있는 내용인데, 파일 경로는 $CATALINA_HOME/webpps/manager/META-INF/context.xml 이다. 다음과 같이 접근 제한된 부분에서 외부접속을 위한 설정을 해준다.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <Context antiResourceLocking="false" privileged="true" > <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />--> <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/> </Context> |
Valve 를 이용해서 RemoteAddrValve 에 대해서 접근 아이피 주소가 적혀 있다. 여기서는 접근 제한을 해제해주고 있다. 하지만 product 환경에서는 절대로 이렇게 하지말고 접근 가능한 […]
Tomcat 설치 디렉토리 구성
과거에 Tomcat Multi Instance 설치에 관해서 쓴 글이 있다. Multi Instance 설치에서 핵심은 CATANINA_HOME과 CATALINA_BASE 를 분리하는데 있다. 오늘은 한발 더 들어가서 배포를 위한 설정과 시작, 종료 스크립트의 변경등에 대해서 이야기해보고자 한다. Multi Instance 구성 Tomcat 을 다운로드 받아 압축을 풀면 그것이 곧 CATALINA_HOME 이 된다. 그리고 CATALINA_BASE 를 위해서 conf 디렉토리를 복사해주고 bin, lib, logs, temp, webapps, work 디렉토리를 생성해준다. 그리고 더블어서 war 파일을 배포를 위한 디렉토리를 Deployments 를 생성해주고 PID 저장을 위한 run 디렉토리도 생성해준다.
|
1 |
Deployments bin conf lib logs run temp webapps work |
CATALINA_HOME 에서 […]
Tomcat 시작 스크립트 옵션들.
Tomcat 시작 스크립트에는 많은 옵션들이 있는데, 이에 대해서 기술합니다. start.sh 스크립트 Tomcat 을 시작하기 위해서는 CATALINA_HOME/bin/startup.sh 파일을 실행하면 된다. 이 스크립트 내용을 간단히 살펴보면 다음과 같다.
|
1 2 3 |
EXECUTABLE=catalina.sh exec "$PRGDIR"/"$EXECUTABLE" start "$@" |
최종적으로 catalina.sh 파일을 호출하고 있는데, 이 파일에는 시작시에 사용할 수 있는 각종 쉘 환경 변수들이 나온다. Catalina.sh 스크립트 CATALINA_HOME Catalina 가 빌드된 디렉토리. 여기서 빌드된 디렉토리는 설치한 홈 디렉토리를 말하기도 한다. CATALINA_BASE Catalina 설치에 동적 영역을 해결하기 위한 기본 디렉토리. 이는 Multi Instance 설치할때에 에 사용된다. 만일 지정하지 않으면 CATALINA_HOME 을 사용한다. CATALINA_OUT stdout, […]
WebLogic WLST 사용하기.
WebLogic 은 Administrator 를 위한 Web GUI 콘솔을 제공한다. 브라우저를 통해서 관리자로 로그인을 하면 Web 을 통해서 각종 설정들을 할 수 있게 된다. 하지만 Web 을 사용할 수 없는 환경이라면 무용지물이 된다. 이럴때 WebLogic Scripting Tools(WLST)를 사용하면 된다. 자바로 만들어지는 Tools 로서 Web GUI 화면 대신에 터미널상에서 실행되며 대화형식으로 Web GUI 콘솔에 모든 기능을 사용할 수 있다. 실행하기 실행은 먼저 WebLogic 서버의 전역 변수를 소스(Source) 함으로써 WLST 실행환경을 조성해 준다.
|
1 |
]$ source /opt/WebLogic10.3.6/wlserver_10.3/server/bin/setWLSEnv.sh |
WLST 실행하기 이제 다음과 같이 WLST 을 실행한다. […]
weblogic.Deployer 를 이용한 배포.
WebLogic 은 weblogic.Deployer 라는 Command Line 명령어를 이용해서 배포를 할 수 있습니다. 이를 통해서 GUI 화면인 WebLogic Admin Console 없이도 터미널을 이용해서 쉽고 빠르게 배포를 할 수 있는 것입니다. setWLSEnv.sh 실행 터미널의 Command Line 에서 weblogic.Deployer 를 사용하기 위해서는 반드시 환경실행 파일을 먼저 실행해야 합니다. setWLSEnv.sh 라 불리우는 이 파일은 weblogic.Deployer 를 실행하기 위한 각종 라이브러리 클래스와 명령어 PATH를 세팅해 줍니다.
|
1 2 3 4 5 6 7 |
weblogic@wlserv1:~$ source $WLS_HOME/server/bin/setWLSEnv.sh CLASSPATH=/u01/app/weblogic/middleware/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/u01/app/weblogic/middleware/patch_ocp371/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/jdk1.7.0_80/lib/tools.jar:/u01/app/weblogic/middleware/wlserver_10.3/server/lib/weblogic_sp.jar:/u01/app/weblogic/middleware/wlserver_10.3/server/lib/weblogic.jar:/u01/app/weblogic/middleware/modules/features/weblogic.server.modules_10.3.6.0.jar:/u01/app/weblogic/middleware/wlserver_10.3/server/lib/webservices.jar:/u01/app/weblogic/middleware/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/u01/app/weblogic/middleware/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar:.:/opt/java/jre/lib PATH=/u01/app/weblogic/middleware/wlserver_10.3/server/bin:/u01/app/weblogic/middleware/modules/org.apache.ant_1.7.1/bin:/opt/jdk1.7.0_80/jre/bin:/opt/jdk1.7.0_80/bin:/home/weblogic/bin:/home/weblogic/.local/bin:/opt/java/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin Your environment has been set. weblogic@wlserv1:~$ |
반드시 weblogic.Deployer 를 실행하기 전에 실행해줘야 합니다. weblogic.Deployer 사용법 이를 사용하기 위해서는 반드시 Admin 서버를 주소와 포트를 알아야 […]