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

좋은 웹페이지 즐겨찾기