톰캣 서버에서 여러 프로젝트 설정하기
2022. 1. 23. 18:39ㆍ개발 참고
반응형
톰캣 서버에서 여러 개의 프로젝트를 동시에 실행하려면, server.xml 파일을 수정하여 각 프로젝트에 대해 별도의 서비스(Service)와 커넥터(Connector)를 설정할 수 있습니다. 이를 통해 서로 다른 포트에서 각기 다른 웹 애플리케이션을 실행할 수 있습니다.
1. 톰캣 홈 디렉토리로 이동 및 server.xml 파일 수정
- 톰캣 홈 디렉토리로 이동 후, server.xml 파일을 열어 설정을 추가합니다.
cd conf
vi server.xml
2. 프로젝트 등록 예시
각기 다른 서비스 이름과 포트를 사용하여 여러 프로젝트를 설정할 수 있습니다. 예시는 두 개의 서비스(Catalina1, Catalina2)에 대한 설정입니다.
2.1 첫 번째 서비스 (Catalina1)
<Service name="Catalina1">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="front" path="" sessionCookieName="jsessionid1" reloadable="true"/>
</Host>
</Engine>
</Service>
- Catalina1 서비스는 8080 포트에서 HTTP 요청을 처리하고, front라는 웹 애플리케이션을 배포합니다.
- AccessLogValve는 요청 로그를 기록하며, jsessionid1이라는 세션 쿠키를 사용합니다.
2.2 두 번째 서비스 (Catalina2)
<Service name="Catalina2">
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="admin" path="" sessionCookieName="jsessionid2" reloadable="true"/>
</Host>
</Engine>
</Service>
- Catalina2 서비스는 8081 포트에서 HTTP 요청을 처리하고, admin이라는 다른 웹 애플리케이션을 배포합니다.
- AccessLogValve와 jsessionid2라는 세션 쿠키를 사용하여 로그와 세션을 관리합니다.
3. 설정 요약
- 각 서비스는 독립적인 포트를 사용하여 다른 웹 애플리케이션을 실행합니다.
- Connector는 HTTP 및 AJP 프로토콜을 처리하고, 각 서비스는 서로 다른 웹 애플리케이션을 관리합니다.
- Host 내에 Context 태그를 사용하여 각각의 웹 애플리케이션(front, admin)을 지정하고, sessionCookieName을 다르게 설정하여 각각의 세션을 구분합니다.
이 설정을 통해 톰캣에서 여러 프로젝트를 동시에 실행하고 관리할 수 있습니다.
반응형
'개발 참고' 카테고리의 다른 글
[리눅스] nginx http -> https 세팅 참고 예제 (0) | 2022.08.22 |
---|---|
Tomcat 로그 회전 및 빠른 로그 확인 설정 (0) | 2022.01.27 |
[리눅스] CentOS 7 아차피 http 접속시 https 리다이렉트하기 (0) | 2022.01.21 |
[리눅스] CentOS 7 아파치와 톰캣 연동처리하기 (0) | 2022.01.20 |
[리눅스] 아파치 httpd https로 접속시 http로 리다이렉트 처리하기 (0) | 2021.11.24 |