tomcat - 경량급 미들웨어 학습

Tomcat 파일 구조
 ${tomcat 디 렉 터 리}
 |--bin/
 |--conf/
 |  |--context.xml
 |  |--server.xml
 |  |--tomcat-users.xml
 |  +--web.xml
  |
 |--lib/
 |--logs/
 +--webapps/
 
Bin      tomcat 스 크 립 트 시작 및 닫 기 저장
conf      서로 다른 프로필, server. xml (Tomcat 의 주요 프로필), 웹. xml 포함
work     jsp 컴 파일 후 생 성 된 class 파일 저장
webapps  프로그램 예제 저장, 나중에 배치 할 프로그램 도 이 디 렉 터 리 에 두 어야 합 니 다.
logs      로그 파일 저장
lib      tomcat 에 필요 한 jar 파일 을 주로 저장 합 니 다.
 
그 중에서 server. xml 는 tomcat 의 주요 설정 파일 이자 우리 가 가장 많이 사용 하 는 것 입 니 다.
예 를 들 어 접근 포트 를 수정 하면 tomcat 기본 포트 는 8080 입 니 다. 우 리 는 보통 80 포트 로 설정 해 야 합 니 다.

port 는 포트 를 지정 합 니 다. 이 포트 는 tomcat 의 요청 을 감청 하고 닫 습 니 다.
tomcat 배치 설정

Host 는 가상 호스트 를 표시 합 니 다. name 은 호스트 이름 을 대표 합 니 다. 그래서 우 리 는 localhost + tomcat 의 포트 번호 로 이 "가상 호스트" 에 접근 합 니 다.
app Base 는 배 치 된 디 렉 터 리 를 지정 합 니 다.
autoDeploy 설정 이 자동 으로 배 치 될 지 여부;
unpackWARs 는 배치 형식 을 설정 하고 true 라면 전개 형식 으로 배치 합 니 다.false 라면 war 패키지 로 배 치 됩 니 다.
웹 앱 불 러 오 는 순서
1. context 설정 이 있 는 응용 프로그램 우선 시작;
2 디 렉 터 리 형식 으로 배 치 된 응용 프로그램 이 나중에 시 작 됩 니 다.
3. war 파일 로 배 치 된 응용 프로그램 이 마지막 으로 시 작 됩 니 다.
context 를 어떻게 설정 하여 그 가 먼저 시작 하도록 합 니까?
 
tomcat 설정 파일 에서 웹 애플 리 케 이 션 은 특정한 Context 입 니 다. server. xml 에 새 Context 에 프로그램 을 배치 할 수 있 습 니 다.
방법: server. xml 파일 을 열 고 Host 탭 에 Context 를 만 듭 니 다. 내용 은 다음 과 같 습 니 다.
그 중에서 path 는 가상 경로 이 고 docBase 는 응용 프로그램의 물리 적 경로 이 며 workdir 는 이 응용 프로그램의 작업 디 렉 터 리 입 니 다.
         여기 서 가장 많이 사용 되 는 것 은 그림 업로드 에 가상 디 렉 터 리 를 설정 하 는 것 입 니 다. 예 를 들 어 위의 설정 은 tomcat 를 열 때 접근 합 니 다.http://localhost/photo/+ D: / my app 의 그림 이름 으로 파일 디 렉 터 리 에 있 는 그림 자원 을 읽 을 수 있 습 니 다.
 
tomcat 두 가지 배치 방법
정적 배치:
배치 할 때 변수 app Base 와 관련 됩 니 다.이 변 수 는 배 치 된 웹 애플 리 케 이 션 을 저장 하 는 디 렉 터 리 를 표시 합 니 다.일반적으로 기본적으로 app Base 는 CATALINA 입 니 다.HOME / webapps, 설정 정 보 는 server. xml 에 있 습 니 다.
기본 설정:

정적 배치 순서:
1. 상하 문 설명 자 를 배치 합 니 다.
2 배치 전개 응용.배치 디 렉 터 리 에 해당 하 는 war 패키지 가 존재 하면 현재 응용 프로그램 보다 업데이트 되 었 는 지 확인 합 니 다.업데이트 되면 현재 응용 프로그램 을 삭제 하고 이 war 패 키 지 를 압축 해제 하여 최신 응용 프로그램 을 얻 을 수 있 습 니 다.
3. war 가방 배치.
 
동적 배치:
동적 배 치 는 설정 인자 가 필요 합 니 다. autoDeploy 는 true 입 니 다.
이 속성 을 설정 하면 tomcat 는 다음 과 같은 동작 을 지원 합 니 다.
1 app Base 에 새로 복사 한 war 파일 배치
2. apBase 에 복사 되 어 있 는 응용 프로그램 (압축 되 지 않 은) 배치
3 업 데 이 트 된 war 패 키 지 를 제공 할 때 응용 프로그램 을 재배 치 합 니 다.현재 존재 하 는 응용 프로그램 을 삭제 하고 압축 해제 배 치 를 진행 합 니 다.
4 / WEB - INF / web. xml 이 변경 되 었 을 때 자동 으로 배 치 됩 니 다.
5 웹 에서 사용 하 는 context. xml 컨 텍스트 설명자 가 업데이트 되 었 을 때 자동 으로 배 치 됩 니 다.
6 CATALINAHOME / conf 에 대응 하 는 컨 텍스트 설명자 가 업데이트 되 었 을 때 자동 으로 배 치 됩 니 다.
7. 해당 docBase 문서 가 삭 제 될 때 자동 으로 배 치 됩 니 다.
동적 배 치 는 서버 가 시 작 된 후에 웹 프로그램 을 배치 할 수 있 으 며 서버 를 다시 시작 하지 않 아 도 된다 는 것 을 말한다.
동적 배 치 는 서버 에서 제공 하 는 manager. war 파일 을 사용 합 니 다. $CATALINAHOME \ webapps \ 아래 에 이 파일 이 없습니다. tomcat 를 다시 다운로드 해 야 합 니 다. 그렇지 않 으 면 다음 과 같은 기능 을 수행 할 수 없습니다.
이 관리 프로그램 을 사용 하려 면 먼저 편집 해 야 합 니 다. $CATALINA_HOME\conf\tomcat-users.xml  서류
tomcat 프로필 context 암호 화
(출처:http://www.cnblogs.com/mabaishui/archive/2011/07/14/2106469.html)
최근 고객 은 tomcat 설정 파일 context 의 데이터베이스 사용자 이름과 암호 화 를 요구 합 니 다.복호화 프로그램 이 작성 되 었 습 니 다. 사용자 이름 비밀 번 호 를 가 져 올 때 복호화 프로그램 을 호출 하면 됩 니 다.context 설정 은 다음 과 같 습 니 다.

  
   

왜 tomcat 코드 를 수정 해 야 합 니까?   프로그램 에서 이러한 방식 으로 리 소스 에서 정 의 된 데이터 베 이 스 를 가 져 옵 니 다.
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); 
DataSource ds = (DataSource) ctx.lookup("jdbc/izumidb1"); 

javax. sql. dataSource 는 인터페이스 이 고 tomcat 가 이 인 터 페 이 스 를 실 현 했 기 때문에 복호화 과정 에서 tomcat 코드 를 수정 해 야 합 니 다.
어디 를 고 쳐 요?  org. apache. tomcat. dbcp. BasicDataSourceFactory 의 createDataSource () 방법 을 수정 하면 됩 니 다.
apache. org 에서 Basic DataSourceFactory 의 소스 코드 (현재 사용 하고 있 는 tomcat 버 전의 소스 코드 가 좋 습 니 다) 를 찾 아 org. apache. tomcat. dbcp 패 키 지 를 만 들 고 Basic DataSourceFactory 소스 코드 를 가방 에 던 집 니 다. 소스 코드 가 import 가 다른 종류 에 있 으 면 다른 종류 도 가방 에 던 져 복호화 수정 합 니 다.
수정 하고 어디 다 놓 을까요? 
 tomcat / common / lib 에 dbcp 에 대한 가방 이 있 습 니 다. 버 전의 tomcat 는 가방 이름 이 다 를 수 있 습 니 다.org. apache. tomcat. dbcp. dbcp. BasicDataSourceFactory 가 있 는 가방 을 찾 으 면 컴 파일 된 우리 의 Basic DataSourceFactory 류 의 class 파일 을 가방 에 넣 고 원래 의 Basic DataSourceFactory. class 를 덮어 씁 니 다.큰 성 과 를 거두다.

좋은 웹페이지 즐겨찾기