16 Mart 2015 Pazartesi

Tomcat 7 anatomisi

Tomcat 7'yi yüklediğimiz klasörün (örneğin c:\tomcat) yapısını ve içeriğini inceleyelim.

tomcat klasöründe belli başlı klasör ve dosyalar bulunuyor.
1. \bin klasörü
2. \conf klasörü
3. \lib klasörü
4. \logs klasörü
5. \temp klasörü
6. \webapps klasörü
7. \work klasörü
8. LICENCE dosyası
9. NOTICE dosyası
10. RELEASE-NOTES dosyası
11. RUNNING.xml dosyası


Bunları sırayla analiz edelim.

1. \bin klasörü

Klasörün içeriğini "tür" cinsinden sıralayarak tek tek dosyaları inceleyelim.

a. java archive (.jar) dosyaları

bootstrap.jar:

commons-daemon.jar:

tomcat-juli.jar:


b. shell scriptleri (.sh)


Genellikle klasördeki batch dosyaları ile aynı ismi taşıyan shell scriptlerini inceleyelim.

catalina.sh

configtest.sh

daemon.sh

digest.sh

setclasspath.sh

shutdown.sh

startup.sh

tool-wrapper.sh

version.sh

c. uygulama (.exe) dosyaları


tomcat7.exe:
Burada tomcatin uygulama dosyası tomcat7.exe bulunuyor.
IDE içinde projeyi çalıştırdığımızda, aslında buradaki exe dosyası çalıştırılarak server başlatılıyor.

tomcat7w.exe :


d. DLL (.dll) / dinamik link kütüphaneleri



tcnative-1.dll:

e. batch (.bat) / toplu iş dosyaları


catalina.bat:

configtest.bat:

digest.bat:

service.bat:

setclasspath.bat:

shutdown.bat:

startup.bat:

tool-wrapper.bat:

version.bat:

f. tar dosyaları (.tar)




commons-daemon-native.tar:

tomcat-native.tar:

g. xml dosyaları (.xml)


catalina-tasks.xml:

<project name="catalina-tasks">
  <description>Catalina Ant Manager, JMX and JSPC Tasks</description>
  <!-- set catalina.home if it's not already set -->
  <dirname property="catalina.home.bin.dir" file="${ant.file.catalina-tasks}"/>
  <property name="catalina.home" value="${catalina.home.bin.dir}/.."/>
  <typedef resource="org/apache/catalina/ant/catalina.tasks">
    <classpath>
      <fileset file="${catalina.home}/bin/tomcat-juli.jar"/>
      <fileset file="${catalina.home}/lib/tomcat-api.jar"/>
      <fileset file="${catalina.home}/lib/tomcat-util.jar"/>
      <fileset file="${catalina.home}/lib/jasper.jar"/>
      <fileset file="${catalina.home}/lib/jasper-el.jar"/>
      <fileset file="${catalina.home}/lib/el-api.jar"/>
      <fileset file="${catalina.home}/lib/jsp-api.jar"/>
      <fileset file="${catalina.home}/lib/servlet-api.jar"/>
      <fileset file="${catalina.home}/lib/catalina-ant.jar"/>
      <fileset file="${catalina.home}/lib/tomcat-coyote.jar"/>
    </classpath>
  </typedef>
  <typedef resource="org/apache/catalina/ant/jmx/jmxaccessor.tasks">
    <classpath>
      <fileset file="${catalina.home}/lib/catalina-ant.jar"/>
    </classpath>
  </typedef>
</project>


2. \conf klasörü


a. \conf\Catalina\ klasörü


Bu klasörde şu an sadece \localhost klasörü bulunuyor.
\conf\Catalina\localhost\ klasörü içeriğine bakalım:

Customers.xml:
NetBeeans'te yaratılmış "Customers" adlı bir web application projesinin path'ını yani:
C:\Users\<adınız>\Documents\NetBeansProjects\Customers\build\web 
klasörünü web application'un path'ı olarak bildiriyor.

StoreProject.xml:
Aynı şekilde bir diğer web application projesinin path'ını bildiriyor.

b. policy dosyaları (.policy)


catalina.policy:

c. property dosyaları (.properties)


catalina.properties
logging.properties

d. xml dosyaları(.xml)


context.xml:

server.xml:

tomcat-users.xml:
Burada tomcat kullanıcıları ve rolleri belirtiliyor. Buradaki tanımlamaları doğru yapmak çok önemli.

web.xml:

3. \lib klasörü

Bu klasörde sadece kütüphaneler bulunuyor.
SQLite kullanılacaksa jdbc-jar dosyasını buraya atmak gerekiyor.

a. java archive (.jar) dosyaları


annotations-api.jar
catalina.jar
catalina-ant.jar
catalina-ha.jar
catalina-tribes.jar
ecj-4.4jar
el-api.jar
jasper.jar
jasper-el.jar
jsp-api.jar
servlet-api.jar
tomcat7-websocket.jar
tomcat-api.jar
tomcat-coyote.jar
tomcat-dbcp.jar
tomcat-i18n-es.jar
tomcat-i18n-fr.jar
tomcat-i18n-ja.jar
tomcat-jdbc.jar
tomcat-util.jar
websocket-api.jar

4. \logs klasörü

Burada server logları metin dosyaları olarak bulunuyor.

a. Log dosyaları (.log)

catalina-2015-03-10.log
...
host-manager.2015-03-10.log
...
localhost.2015-03-10.log
...
manager.2015-03-10.log
...

b. text dosyaları (.txt)


localhost_access_log.<tarih>.txt :

Server her gün için yeni bir dosya yaratmış.
Bu dosyalarda bütün sorgu kayıtlarını inceleyebiliyoruz.
Örneğin:
127.0.0.1 - - [10/Mar/2015:14:42:02 +0200] "GET /examples/servlets/ HTTP/1.1" 200 7139
Bu kayıtta tomcatin servlet example sayfasının istendiğini görebiliyoruz.


5. \temp klasörü


Geçici dosyaları burada bulabiliriz.

6. \webapps klasörü


a. \docs klasörü

b. \examples klasörü

c. \host-manager klasörü

d. \manager klasörü

e. \ROOT klasörü


7. \work klasörü


a. Catalina klasörü 


a.1. localhost klasörü

1. _ klasörü

2. Customers klasörü: Customers adlı projeye ait.

3. docs klasörü

4. examples klasörü

5. host-manager klasörü

6. manager klasörü

7. StoreProject klasörü: StoreProject adlı projeye ait.



8.Diğer dosyalar

a. LICENCE dosyası:
Lisans bilgileri var.

b. NOTICE dosyası:


c. RELEASE-NOTES dosyası:

d. RUNNING.xml dosyası:
Burada tomcatin çalıştırılması ile ilgili detaylı talimatlar var.
Birden fazla tomcat instance nasıl çalıştırılır? gibi sorulan cevapları burada mevcut. Okumakta fayda var.

Hiç yorum yok:

Yorum Gönder