728x90
반응형
728x90
반응형
728x90
반응형

tomcat version : 8.5.69.0

 

1. tomcat으로 war 배포하기

위치 : tomcat설치폴더\conf\server.xml 파일

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<Server>
 
  <!-- 생략 -->
 
  <Service name="SERVER1">
    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" address="0.0.0.0" secretRequired="false" />
    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" />
      </Realm>
      <!-- war 파일 위치 지정-->
      <Host name="localhost"  appBase="C:\webapps" unpackWARs="true" autoDeploy="true">
        <!-- 해당되는 war 파일명 -->
        <Context docBase="server1" path="/" reloadable="true"/>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>
  </Service>
</Server>
cs

2개 이상의 war를 하나의 tomcat에서 배포시 아래 붉은색 텍스트 부분을 바꿔 등록하고,

  <Service name="SERVER1">
    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
  </Service>

13번에 war파일 위치(위치는 수정가능), 15번 라인을 통해 해당되는 war 파일을 지정한다.

 

2. 가상 디렉토리

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<Server>
  <!-- 생략 -->
  <Service name="SERVER1">
    <!-- 생략 -->
    <Engine name="Catalina" defaultHost="localhost">
      <!-- 생략 -->
      <!-- war 파일 위치 지정-->
      <Host name="localhost"  appBase="C:\webapps" unpackWARs="true" autoDeploy="true">
        <!-- 해당되는 war 파일명 -->
        <Context docBase="server1" path="/" reloadable="true"/>
        <!-- virtual directory (ex. 이미지 url) : 물리위치과 맵핑되는 paht -->
        <Context docBase="c:\uploads\server1" path="/uploads/server1" reloadable="true"/>
        <!-- 생략 -->
      </Host>
    </Engine>
  </Service>
</Server>
cs

1번과 같이 세팅한 상태에서 12번 라인을 추가하면 된다.

이렇게 하면 서버의 c:\uploads\server1\image.jpgwebUrl/uploads/server1/image.jpg 로 접근이 가능해진다.

 

* 출처

 

[Tomcat] 톰캣 하나로 여러 개의 war파일 배포하기

[Tomcat] 톰캣 하나로 여러 개의 war파일 배포하기 자, 일단 tomcat과 war파일 일대일로 배포하는 방법은 안다고 가정하겠다. 모른다면 아래링크를 참고하자. [Java] Eclipse 웹프로젝트 war파일 배포하는

haenny.tistory.com

 

톰캣의 컨텍스트 외부로 경로 매핑하는 방법 - Nothing New Under the Sun

일반적으로 웹 프로젝트를 진행해보면 디자인은 디자인팀에서, 프로그램은 프로그램 개발팀에서 별개로 진행하게 되어 별개의 산출물이 만들어진다. 그래서 개발팀의 프로젝트 소스에 디자인

feeva.github.io

 

 

[CVE-2020-1938] apache tomcat 취약점에 따른 업데이트시 참고 사항 – 지락문화예술공작단

CVE-2020-1938 취약점 CVE : http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-1938 KISA : https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=35292APACHE : http://tomcat.apache.org/security-7.html#Fixed_in_Apache_Tomcat_7.0.100

jirak.net

 

분명한건 이전에 해보긴 했다.

문제는 남이 해 놓은거에 숫가락 얻기로 해봤다는거..

역시 모든 것은 역경과 고난(이라고 쓰고 간단히 삽질)을 거쳐야만 배우는걸까?     '') (먼산)

나란 사람 메뉴얼 보다는 무조건 부디쳐봐가며 한다는게 문제.

그래서 담에는 삽질 시간을 줄여보다는 마음으로 기록해둠.

 

* 관련글

[tomcat] memory leak 에러 : https://deonggi.tistory.com/26
[Tomcat] 실행에러 : https://deonggi.tistory.com/76
[Tomcat] java.lang.IllegalArgumentException: The main resource set specified [FOLDER_NAME] ... : https://deonggi.tistory.com/77

 

 

 

728x90
반응형
728x90
반응형

문제가 된 에러 부분은

java.lang.IllegalArgumentException: The main resource set specified [FOLDER_NAME] is not valid

 

Tomcat8에서 새로운 프로젝트의 war를 배포하려고 했으나 어떤 이유에서인지 창이 껴져 버립니다.

원인은 server.xml에 설정된 가상 디렉토리(virtual directory) 폴더가 존재하지 않았기 때문이더군요.

 

에러로그는 아래와 같습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
25-May-2020 14:15:36.431 ?ш컖 [PROJECT_NAME-startStop-1] org.apache.catalina.core.ContainerBase.startInternal A child container failed during start
        java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[PROJECT_NAME].StandardHost[localhost].StandardContext[/uploads]]
                at java.util.concurrent.FutureTask.report(FutureTask.java:122)
                at java.util.concurrent.FutureTask.get(FutureTask.java:192)
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
                at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:882)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1423)
                at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1413)
                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at java.lang.Thread.run(Thread.java:748)
        Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[PROJECT_NAME].StandardHost[localhost].StandardContext[/uploads]]
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
                ... 6 more
        Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@72ac4866]
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
                at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4885)
                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5020)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                ... 6 more
        Caused by: java.lang.IllegalArgumentException: The main resource set specified [C:\uploads\dym\PROJECT_NAME] is not valid
                at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:748)
                at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:706)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                ... 9 more
25-May-2020 14:15:36.435 ?ш컖 [main] org.apache.catalina.core.ContainerBase.startInternal A child container failed during start
        java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[PROJECT_NAME].StandardHost[localhost]]
                at java.util.concurrent.FutureTask.report(FutureTask.java:122)
                at java.util.concurrent.FutureTask.get(FutureTask.java:192)
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
                at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                at org.apache.catalina.startup.Catalina.start(Catalina.java:688)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
                at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
        Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[PROJECT_NAME].StandardHost[localhost]]
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
                at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1423)
                at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1413)
                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at java.lang.Thread.run(Thread.java:748)
        Caused by: org.apache.catalina.LifecycleException: A child container failed during start
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:953)
                at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:882)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                ... 6 more
        Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[PROJECT_NAME].StandardHost[localhost].StandardContext[/uploads]]
                at java.util.concurrent.FutureTask.report(FutureTask.java:122)
                at java.util.concurrent.FutureTask.get(FutureTask.java:192)
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
                ... 8 more
        Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[PROJECT_NAME].StandardHost[localhost].StandardContext[/uploads]]
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
                ... 6 more
        Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@72ac4866]
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
                at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4885)
                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5020)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                ... 6 more
        Caused by: java.lang.IllegalArgumentException: The main resource set specified [C:\uploads\dym\PROJECT_NAME] is not valid
                at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:748)
                at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:706)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                ... 9 more
25-May-2020 14:15:36.437 ?ш컖 [main] org.apache.catalina.startup.Catalina.start The required Server component failed to start so Tomcat is unable to start.
        org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
                at org.apache.catalina.startup.Catalina.start(Catalina.java:688)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
                at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
        Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[PROJECT_NAME]]
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
                at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                ... 7 more
        Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[PROJECT_NAME]]
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
                at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                ... 9 more
        Caused by: org.apache.catalina.LifecycleException: A child container failed during start
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:953)
                at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                ... 11 more
        Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[PROJECT_NAME].StandardHost[localhost]]
                at java.util.concurrent.FutureTask.report(FutureTask.java:122)
                at java.util.concurrent.FutureTask.get(FutureTask.java:192)
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
                ... 13 more
        Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[PROJECT_NAME].StandardHost[localhost]]
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
                at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1423)
                at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1413)
                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at java.lang.Thread.run(Thread.java:748)
        Caused by: org.apache.catalina.LifecycleException: A child container failed during start
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:953)
                at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:882)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                ... 6 more
        Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[PROJECT_NAME].StandardHost[localhost].StandardContext[/uploads]]
                at java.util.concurrent.FutureTask.report(FutureTask.java:122)
                at java.util.concurrent.FutureTask.get(FutureTask.java:192)
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
                ... 8 more
        Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[PROJECT_NAME].StandardHost[localhost].StandardContext[/uploads]]
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
                ... 6 more
        Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@72ac4866]
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
                at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4885)
                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5020)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                ... 6 more
        Caused by: java.lang.IllegalArgumentException: The main resource set specified [C:\uploads\FOLDER_NAME] is not valid
                at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:748)
                at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:706)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                ... 9 more
cs

 

 

* 관련글

[tomcat] memory leak 에러 : https://deonggi.tistory.com/26
[Tomcat] 실행에러 : https://deonggi.tistory.com/76
[tomcat] war 배포하기, 가상 디렉토리 : https://deonggi.tistory.com/126

 

 

 

728x90
반응형

+ Recent posts