tomcat 설정 다 중 http 도 메 인 이나 다 중 포트 번호 다 중 응용
7868 단어 tomcat
다 중 도 메 인 이름 접근 지원
tomcat/conf 디 렉 터 리 아래
server. xml 수정
도 메 인 이름 몇 개 에 host 를 추가 합 니 다.
name = 도 메 인 이름
appBase = 응용 파일 이름
비고: tomcat 시작, 모든 응용 프로그램 이 다시 시 작 됩 니 다.
2. 다 중 포트 번호 접근 지원
1. 위의 설정 에 따라 tomcat 를 시작 하면 1) tomcat 를 시작 한 후 tomcat 설정 디 렉 터 리:/usr/local/tomcat/conf 에서 기본 Catalina 폴 더 를 제외 하고 웹 1 과 웹 2 두 개의 폴 더 를 생 성 할 수 있 습 니 다.엔진 구성 요소 에 사용 할 웹 1 과 웹 2 가 지정 되 어 있 기 때 문 입 니 다.물론, 우 리 는 서로 다른 서비스 구성 요소 의 Engine name 을 모두 Catalina 로 지정 할 수 있 습 니 다.
2) tomcat 를 시작 한 후 tomcat 디 렉 터 리:/usr/local/tomcat 에서 기본 웹 앱 폴 더 를 제외 하고 웹 앱 1 과 웹 앱 2 두 개의 디 렉 터 리 를 생 성 합 니 다.이 유 는 Host 구성 요소 에서 app Base 웨 이 웹 app 1 과 webapp 2 를 지 정 했 기 때 문 입 니 다. 물론 서로 다른 service 구성 요소 의 Host app Base 를 기본 웹 app 으로 지정 할 수 있 습 니 다.
2. 설정 설명:
1) app Base 는 가상 호스트 가 webapp 을 저장 하 는 디 렉 터 리 로 상대 적 인 경로 일 수도 있 고 절대적 인 경로 일 수도 있 습 니 다.상대 경로 라면 $CATALINAHOME, 엄격 하고 정확하게 CATALINABASE.
2) path 는 URI 의 일치 경로 로 nginx 의 location 후의 경로 에 해당 합 니 다.tomcat 는 모든 가상 호스트 에 빈 문자열 의 path 를 설정 해 야 합 니 다. 이 context 는 URI 로 서 일치 하지 않 을 때의 기본 context 입 니 다. nginx 의 location/{} 역할 에 해당 합 니 다.
3) docBase 는 모든 webapp 의 저장 디 렉 터 리 (또는 압축 된 war 파일) 입 니 다. 상대 적 인 경로 일 수도 있 고 절대적 인 경로 일 수도 있 습 니 다. 상대 적 인 경 로 를 제공 할 때 app Base 에 비해.이 디 렉 터 리 는 일반적으로 app Base 디 렉 터 리 에 있 지만 반드시 app Base 아래 에 두 어야 한 다 는 규정 은 없습니다.웹 서비스 에 있어 서 nginx 의 root 명령 에 해당 하지만, webapp 에 있어 서 하나의 context 는 하나의 webapp 에 해당 하 며, docBase 는 바로 webapp 의 경로 입 니 다.
3. 주의:
1) 여러 항목 이 spring 프레임 워 크 를 사용 하면 tomcat 다 중 포트 로 설정 할 때 오류 가 발생 할 수 있 습 니 다.
13-Apr-2018 12:52:08.716 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class org.springframework.web.util.Log4jConfigListener
java.lang.IllegalStateException: Web app root system property already set to different value: 'webapp.root' = [/data/ttbrain-log-admin/] instead of [/data/Disu/] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!
at org.springframework.web.util.WebUtils.setWebAppRootSystemProperty(WebUtils.java:151)
at org.springframework.web.util.Log4jWebConfigurer.initLogging(Log4jWebConfigurer.java:116)
at org.springframework.web.util.Log4jConfigListener.contextInitialized(Log4jConfigListener.java:45)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4727)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5189)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
같은 용기 에 배 치 된 웹 프로젝트 는 서로 다른 설정 을 해 야 하 며 중복 할 수 없습니다. 그렇지 않 으 면 비슷 한 오 류 를 보고 할 수 있 습 니 다.
2) 해결 방법: 웹. xml 에 추가:
webAppRootKey
webapp.root
"webapp. root"라 는 문자열 은 모든 문자열 을 마음대로 쓸 수 있 습 니 다.기본 값 을 설정 하지 않 으 면 "webapp. root"입 니 다.System. getProperty ("webapp. root") 로 프로젝트 의 실행 경 로 를 동적 으로 얻 을 수 있 습 니 다.3) 로 딩 방식:
Spring 은 org. springframework. web. util. WebAppRootListener 라 는 모니터 를 통 해 실 행 될 때의 프로젝트 경 로 를 통 해 실 행 됩 니 다.그러나 웹. xml 에 org. springframework. web. util. Log4jConfigListener 라 는 감청 기 를 설정 했다 면 웹 AppRootListener 를 설정 할 필요 가 없습니다.Log4jConfigListener 는 WebAppRootListener 의 기능 일반 설정 형식 아래 의 예 를 포함 하고 있 기 때 문 입 니 다.
log4jConfigLocation
WEB-INF/conf/log4j.properties
log4jRefreshInterval
3000
org.springframework.web.util.Log4jConfigListener
log4j. properties 설정 파일 에서 ${webapp. root}: log4j. appeender. file. File = ${webapp. root}/WEB - INF/logs/sample. log 를 아래 와 같이 사용 할 수 있 습 니 다. 실행 할 때 동적 으로 항목 의 경 로 를 찾 을 수 있 습 니 다.
참고:https://blog.csdn.net/liuxiao723846/article/details/79940428
참고:https://www.cnblogs.com/f-ck-need-u/p/8120008.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
EC2 인스턴스에 Tomcat 설치전제 조건: Amazon 계정이 있어야 합니다. Amazon 계정에 로그인하고 EC2 인스턴스를 시작합니다. 여기에서 프리 티어를 선택했고 Amazon Linux 2를 실행하는 EC2 인스턴스를 시작했습니다. 시작 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.