Note, that this recipe is not updated long time and could be outdated!
Got it.

Tomcat integrācija ar Apache

  1. Instalē Apache2 konektoru Tomcat  tīmekļa lietotņu serverim:

    sudo apt-get install libapache2-mod-jk
    a2enmod jk
  2. Apskata Tomcat palaišanas skriptu /etc/init.d/tomcat7 (ja izmanto iebūvēto serveri, vai .../tomcat/bin/startup.sh, ja izmanto atsevišķi uzstādīto serveri). Izsecina no turienes Tomcat saknes mapi (ko dažreiz sauc arī par CATALINA_HOME). Piemēram, ja skripts izskatās šādi:

    NAME=tomcat7
    DESC="Tomcat 7 servlet engine"
    CATALINA_HOME=/usr/share/$NAME
    tad "CATALINA_HOME" jeb "tomcat_home" vērtība ir "/usr/share/tomcat7".
  3. Apskata failu /etc/libapache2-mod-jk/workers.properties. Nomaina workers.tomcat_home vērtību uz tomcat7 un workers.java_home uz /usr/lib/jvm/java-6-openjdk-amd64/jre (ja izmanto OpenJDK), lai tas izskatās, piemēram, sekojoši:

    ...
    workers.tomcat_home = /usr/share/tomcat7
    workers.java_home = "/usr/lib/jvm/java-6-openjdk-amd64/jre"
    ...
  4. Pārbauda citus iestatījumus:

    ...
    worker.list = ajp13_worker
    worker.ajp13_worker.port = 8009
    worker.ajp13_worker.host = localhost
    worker.ajp13_worker.type = ajp13
    ...

    Ja vērtības nesakrīt, failu atbilstoši jārediģē. Citus iestatījumus atstāj neaiztiktus.

  5. Pārliecās, ka pastāv /etc/apache2/mods-enabled/jk.load fails ar sekojošu saturu:

    LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so
  6. Faila /etc/apache2/apache2.conf beigās pievieno sekojošas rindas:

    ...
    # Send JSPs for context "/japp*" to ajp13_worker
    JkMount /japp ajp13_worker
    JkMount /japp/* ajp13_worker

    Kur /japp ir Javas tīmekļa lietotne, kuras URLus Apache nosūtīs izpildei uz Tomcat. Līdzīgi var pievienot arī citas lietotnes.

  7. Tomcat konfigurācijas failā /etc/tomcat7/server.xml atkomentē AJP konektora iestatījumus:

    ...
        <!-- Define an AJP 1.3 Connector on port 8009 -->
        <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
                   URIEncoding="UTF-8" />
    ...
  8. Pārstartē tomcat:

    sudo /etc/init.d/tomcat7 restart
  9. Pārliecinās, ka tomcat lietotņu serveris klausās uz 8009 portu:

    netstat -ln | grep :8009
    Konektora AJP portam numuram ir jāsakrīt ar "worker.ajp13_worker.port" /etc/libapache2-mod-jk/workers.properties failā norādīto vērtību (skat. augstāk).
  10. Failā /etc/apache2/sites-available/default pievieno rindu:

    <VirtualHost *:80>
    ...
    DocumentRoot  /var/www
    JkMountCopy   On
    ...
  11. Pārstartē Apache:

    sudo /etc/init.d/apache2 restart
    Ja Apache ir vēl kāda vietne (piem., SSL), līdzīgi izmaina arī tās iestatījumus.

Kļūdu novēršana

  1. Izpēta failu /var/log/apache2/mod_jk.log. Ja tajā parādās kļūdas:

    ...
    [[Mon Apr 22 23:00:30 2013]] [[1623:139676589676352]] [[error]] uri_worker_map_ext::jk_uri_worker_map.c
    (506): Could not find worker with name 'jk-manager' in uri map post processing.
    [[Mon Apr 22 23:00:30 2013]] [[1623:139676589676352]] [[error]] uri_worker_map_ext::jk_uri_worker_map.c
    (506): Could not find worker with name 'jk-status' in uri map post processing.
    ...
  2. Failā /etc/apache2/mods-enabled/jk.conf  nokomentē rindas:

    ...
    #    <Location /jk-status>
    #        # Inside Location we can omit the URL in JkMount
    #        JkMount jk-status
    #        Order deny,allow
    #        Deny from all
    #        Allow from 127.0.0.1
    #    </Location>
    #    <Location /jk-manager>
    #        # Inside Location we can omit the URL in JkMount
    #        JkMount jk-manager
    #        Order deny,allow
    #        Deny from all
    #        Allow from 127.0.0.1
    #    </Location>
    ...

Saites

Alternatīva

 

Created by Valdis Vītoliņš on 2008-08-09 17:03
Last modified by Valdis Vītoliņš on 2015-03-19 08:01
 
Xwiki Powered
Creative Commons Attribution 3.0 Unported License