1. 구성 시스템 관리(관리 웹 애플리케이션)
대부분의 상용 J2EE 서버는 강력한 관리 인터페이스를 제공하며 대부분 이해하기 쉬운 웹 애플리케이션 인터페이스를 사용합니다. Tomcat은 또한 자체적인 방식으로 상용 경쟁사에 못지않은 성숙한 관리 도구를 제공합니다. Tomcat의 관리 웹 애플리케이션은 버전 4.1에서 처음 등장했습니다. 당시 해당 기능에는 컨텍스트, 데이터 소스, 사용자 및 그룹 등의 관리가 포함되었습니다. 물론 초기화 매개변수, 사용자, 그룹, 역할 등 다양한 데이터베이스 관리도 가능합니다. 후속 버전에서는 이러한 기능이 크게 확장될 예정이지만 기존 기능은 이미 매우 유용합니다. 관리 웹 애플리케이션은 자동 배포 파일 CATALINA_BASE/webapps/admin.xml에 정의되어 있습니다. (번역자 주: CATALINA_BASE는 Tomcat 설치 디렉터리 아래의 서버 디렉터리입니다.)
Context의 docBase 매개 변수가 절대 경로가 되도록 이 파일을 편집해야 합니다. 즉, CATALINA
_BASE/webapps/admin.xml의 경로는 절대 경로입니다. 또 다른 옵션으로 이 자동 배포 파일을 삭제하고 server.xml 파일에 관리 웹 응용 프로그램 컨텍스트를 생성할 수도 있습니다. 효과는 동일합니다. Admin Web Application을 관리할 수 없습니다. 즉, CATALINA_BASE/webapps/admin.xml을 삭제하는 것 외에는 아무것도 할 수 없습니다.
UserDatabaseRealm(기본값)을 사용하는 경우 CATALINA_BASE/conf/tomcat-users.xml 파일에 사용자와 역할을 추가해야 합니다. 이 파일을 편집하고 다음과 같이 파일에 "admin"이라는 역할을 추가합니다.
또한 사용자가 있어야 하며 이 사용자의 역할은 "admin"입니다. 기존 사용자와 같은 사용자 추가(비밀번호를 더 안전하게 변경):
역할="관리자"/>
이 단계를 완료한 후 Tomcat을 다시 시작하고 http://localhost:8080/admin 을 방문하면 로그인 인터페이스가 표시됩니다. Admin Web Application은 컨테이너 관리 기반의 보안 메커니즘을 채택하고 Jakarta Struts 프레임워크를 채택합니다. "admin" 역할을 가진 사용자로 관리 인터페이스에 로그인하면 이 관리 인터페이스를 사용하여 Tomcat을 구성할 수 있습니다.
2. 응용 프로그램 관리 구성(Manager 웹 응용 프로그램)
Manager 웹 응용 프로그램을 사용하면 관리 웹 응용 프로그램보다 간단한 사용자 인터페이스를 통해 몇 가지 간단한 웹 응용 프로그램 작업을 수행할 수 있습니다. Manager 웹 응용 프로그램은 자동 배포 파일인
?CATALINA_BASE/webapps/manager.xml
에 정의되어 있습니다.컨텍스트의 docBase 매개 변수가 절대 경로, 즉 CATALINA_HOME/server/의 절대 경로인지 확인하려면 이 파일을 편집해야 합니다. 웹앱/관리자 . (번역자 주: CATALINA_HOME은 Tomcat 설치 디렉터리입니다.)
UserDatabaseRealm을 사용하는 경우 CATALINA_BASE/conf/tomcat-users.xml 파일에 역할과 사용자를 추가해야 합니다. 다음으로, 파일을 편집하고 "manager"라는 역할을 파일에 추가합니다.
또한 "manager" 역할을 가진 사용자가 필요합니다. 기존 사용자처럼 새 사용자를 추가합니다. (비밀번호를 더 안전하게 변경하세요.):
Role="manager"/>
그런 다음 Tomcat을 다시 시작하고 http://localhost/manager/list를 방문하면 매우 간단한 텍스트 관리 인터페이스가 표시됩니다. 또는 http://localhost/manager/html/list를 방문하면 다음을 볼 수 있습니다. HMTL 관리 인터페이스. 어느 쪽이든 이제 Manager 웹 애플리케이션이 시작되었음을 의미합니다.
Manager 응용 프로그램을 사용하면 시스템 관리 권한 없이 테스트용 새 웹 응용 프로그램을 설치할 수 있습니다. /home/user/hello 아래에 새 웹 애플리케이션이 있고 이를 /hello 아래에 설치하려는 경우 애플리케이션을 테스트하기 위해 이를 수행하고 첫 번째 파일 상자에 "/hello"를 입력합니다(경로로 액세스할 때) 두 번째 텍스트 상자에 "file:/home/user/hello"(구성 URL로)를 입력합니다.
Manager 응용 프로그램을 사용하면 웹 응용 프로그램을 중지, 다시 시작, 제거 및 재배포할 수도 있습니다. 사용자가 중지된 애플리케이션에 액세스하려고 하면 503 오류("503 - 이 애플리케이션은 현재 사용할 수 없습니다.")가 표시됩니다.
웹 애플리케이션을 제거한다는 것은 단순히 실행 중인 Tomcat 복사본에서 애플리케이션을 삭제하는 것을 의미합니다. Tomcat을 다시 시작하면 삭제된 애플리케이션이 다시 나타납니다(즉, 제거가 하드 드라이브에서 삭제된다는 의미는 아닙니다).
3. 웹 애플리케이션 배포
시스템에 웹 서비스를 배포하는 방법에는 두 가지가 있습니다
.
1. WAR 파일 또는 웹 애플리케이션 폴더(웹의 모든 콘텐츠 포함)를 $CATALINA_BASE/webapps 디렉터리에 복사합니다.
2. 컨텍스트 콘텐츠만 포함하는 웹 서비스용 XML 조각 파일을 생성하고 해당 파일을 $CATALINA_BASE/webapps 디렉터리에 배치합니다. 웹 애플리케이션 자체는 하드 드라이브의 어느 곳에나 저장할 수 있습니다.
WAR 파일이 있고 이를 배포하려면 해당 파일을 CATALINA_BASE/webapps 디렉터리에 복사하기만 하면 됩니다. 파일 확장자는 ".war"이어야 합니다. Tomcat이 이 파일을 수신하면 (기본적으로) 파일을 하위 디렉터리로 압축을 풀고 하위 디렉터리 이름을 WAR 파일 이름으로 지정합니다.
다음으로 Tomcat은 server.xml 파일에서 생성한 것처럼 메모리에 컨텍스트를 생성합니다. 물론 다른 필수 컨텐츠는 server.xml의 DefaultContext에서 가져옵니다.
웹 애플리케이션을 배포하는 또 다른 방법은 컨텍스트 XML 조각 파일을 작성한 다음 해당 파일을 CATALINA_BASE/webapps 디렉터리에 복사하는 것입니다. 컨텍스트 조각은 완전한 XML 파일이 아니라 컨텍스트 요소와 애플리케이션에 대한 해당 설명일 뿐입니다.
이러한 종류의 조각 파일은 server.xml에서 잘라낸 컨텍스트 요소와 유사하므로 이러한 종류의 조각을 "컨텍스트 조각"이라고 합니다.
예를 들어 영역을 액세스 제어 방법으로 사용하는 MyWebApp.war이라는 애플리케이션을 배포하려는 경우 다음 조각을 사용할 수 있습니다.
<컨텍스트 경로="/demo"
docBase="webapps/MyWebApp.war"
debug="0" 특권="true">
<영역 클래스 이름=
"org.apache.catalina.realm.UserDatabaseRealm"
리소스 이름="사용자 데이터베이스"/>
조각 이름을 "MyWebApp.xml"로 지정하고 CATALINA_BASE/webapps 디렉터리에 복사합니다.
이 컨텍스트 조각은 웹 애플리케이션을 배포하는 편리한 방법을 제공합니다. 기본 배포 특성을 변경하려는 경우가 아니면 새 웹 애플리케이션을 설치할 때 Tomcat을 다시 시작할 필요가 없습니다.
4. 가상 호스트(Virtual Hosts) 구성
server.xml의 "Host" 요소는 가상 호스트를 설정할 때만 수정하면 됩니다. 가상 호스팅은 웹 서버에서 여러 도메인 이름을 제공하는 메커니즘입니다. 각 도메인 이름에 대해 전체 호스트가 배타적인 것 같습니다. 실제로 대부분의 소규모 비즈니스 웹사이트는 가상 호스트를 사용하여 구현됩니다. 이는 가상 호스트가 인터넷에 직접 연결하고 해당 대역폭을 제공하여 합리적인 액세스 응답 속도를 보장할 수 있기 때문입니다. IP.
이름 기반 가상 호스트는 도메인 이름 서버(DNS)에서 IP 주소의 별칭을 생성하고 웹 서버에 다른 도메인 이름에 대한 요청을 해당 웹 디렉터리에 배포하도록 지시함으로써 모든 웹 서버에 구축될 수 있습니다. 이 기사는 주로 Tomcat에 관한 것이므로 다양한 운영 체제에서 DNS를 설정하는 방법을 소개하지는 않습니다. 이와 관련하여 도움이 필요하면 Paul Albitz와 Cricket이 쓴 "DNS and Bind" 책을 참조하십시오. 리우(오라일리). 데모를 위해 별칭을 테스트하는 가장 쉬운 방법인 정적 호스트 파일을 사용하겠습니다.
Tomcat에서 가상 호스트를 사용하려면 DNS 또는 호스트 데이터를 설정해야 합니다.
테스트하려면 로컬 IP에 대한 IP 별칭을 설정하는 것으로 충분합니다. 다음으로server.xml
에 다음과 같이 몇 줄을 추가해야 합니다.
종료="종료" 디버그="0">
<서비스 이름="Tomcat-Standalone">
<커넥터 클래스 이름=
"org.apache.coyote.tomcat4.CoyoteConnector"
포트="8080"
minProcessors="5" maxProcessors="75"
활성화Lookups="true"
리디렉션 포트="8443"/>
<커넥터 클래스 이름=
"org.apache.coyote.tomcat4.CoyoteConnector"
port="8443" minProcessors="5"
최대프로세서="75"
acceptCount="10" 디버그="0"
구성표="https" secure="true"/>
커넥터>
<엔진 이름="독립형"
defaultHost="localhost" 디버그="0">
<호스트 이름="로컬호스트"
debug="0" appBase="웹앱"
unpackWARs="true" autoDeploy="true">
<컨텍스트 경로="" docBase="ROOT" 디버그="0"/>
<컨텍스트 경로="/주문"
docBase="/home/ian/orders" 디버그="0"
reloadable="true" crossContext="true">
컨텍스트>
<호스트 이름=" www.example.com "
appBase="/home/example/webapp">
<컨텍스트 경로="" docBase="."/>
호스트>
엔진>
서비스>
Tomcat의 server.xml 파일은 초기 상태에서 하나의 가상 호스트만 포함하지만 여러 가상 호스트를 지원하도록 쉽게 확장할 수 있습니다. 이전 예에서는 굵은 글씨 부분을 사용하여 가상 호스트를 추가하는 간단한 버전의 server.xml을 보여줍니다. 각 Host 요소는 하나 이상의 컨텍스트 요소를 포함해야 하며, 포함된 컨텍스트 요소 중 하나는 기본 컨텍스트여야 합니다(예: path="").