Kuidas käivitada ühes Apache Tomcati serveris mitu veebirakendust


Apache Tomcat on avatud lähtekoodiga veebikonteiner, mis võimaldab Java-koodiga töötava veebiserveri käitamiseks juurutada Java Servleti, JSP-d ja Veebipesasid. Samuti saab seda identifitseerida platvormiülese servleti mahutina või veebikonteinerina.

Lihtsalt on Tomcat paljude tööstuslike sidusrühmade seas väga populaarne, kuna sellel on palju eeliseid teiste turul olevate veebikonteinerite ees. Java-projektist saate luua veebiarhiive ja juurutada selle lihtsalt tomcati konteinerisse, et majutada Java kodeeritud HTTP-veebiserverit. Tööstused valivad apache-kassi teiste konteinerite asemel järgmiste eeliste tõttu.

  1. Kerge kaal.
  2. Laialdaselt kasutatud.
  3. Palju kiiremini kui muud konteinerid.
  4. Lihtne seadistada.
  5. väga paindlik.

Tavaliselt on apache tomcat kasutajasõbralik toode, mis annab inseneridele ruumi oma WAR-artefaktide (veebiarhiivid) juurutamiseks minimaalsete konfiguratsioonimuudatustega.

See postitus on suunatud sihtrühmale, kes juba kasutab kiisu ja teab, kuidas apache-kiisu mootorit käivitada ja kasutada.

Apache tomcatis tuleks WAR-id sisestada kataloogi webapps , kuhu konteiner need vaikimisi juurutab. Lihtsalt veebirakenduste kataloog toimib Java-koodi peamise konteinerina, mida Tomcat selle veebiserverina juurutab.

Stsenaariumi korral, kus peame majutama rohkem kui ühte veebiserverit ühest konnakonteinerist, saate seda postitust kasutada juhendina. Ma näitan teile, kuidas sellest artiklist ühe veebi jooksul mitu veebirakendust või kahte veebiserverit juurutada.

Eeldused: Java peaks olema installitud serverisse. Eelistatavalt 1.7.x või uuem. Selles õpetuses on mul installitud Java 1.7, kuna kasutan kiisu versiooni 8.0.37.

Java saate installida oma paketihalduri abil, näiteks yum või apt, nagu näidatud:

# yum install java              [On CentOS based Systems]
# apt-get install default-jre   [On Debian based Systems]

1. samm: installige Apache Tomcat Server

1. Kõigepealt looge juurkonto abil eraldi kasutaja tomcat .

# useradd tomcat
# passwd tomcat

Nüüd logige sisse kassi kasutajana ja laadige ametlikelt saitidelt alla uusim apache tomcat'i kimp siit: wget käsk otse terminali allalaadimiseks.

Sel juhul laadin alla Apache Tomcati, 8.5.5, mis on üks viimastest praeguseks välja antud stabiilsetest versioonidest.

$ wget http://redrockdigimark.com/apachemirror/tomcat/tomcat-8/v8.5.5/bin/apache-tomcat-8.5.5.tar.gz

2. Kui fail on alla laaditud, pakkige tari abil pakk lahti sisu ja vaadake kataloogistruktuuri, nagu on näidatud:

$ tar -xvf apache-tomcat-8.5.5.tar.gz
$ cd apache-tomcat-8.5.5/
$ ls -l
total 112
drwxr-x---. 2 tomcat tomcat  4096 Sep 29 11:26 bin
drwx------. 2 tomcat tomcat  4096 Sep  1 01:23 conf
drwxr-x---. 2 tomcat tomcat  4096 Sep 29 11:26 lib
-rw-r-----. 1 tomcat tomcat 57092 Sep  1 01:23 LICENSE
drwxr-x---. 2 tomcat tomcat  4096 Sep  1 01:21 logs
-rw-r-----. 1 tomcat tomcat  1723 Sep  1 01:23 NOTICE
-rw-r-----. 1 tomcat tomcat  7063 Sep  1 01:23 RELEASE-NOTES
-rw-r-----. 1 tomcat tomcat 15946 Sep  1 01:23 RUNNING.txt
drwxr-x---. 2 tomcat tomcat  4096 Sep 29 11:26 temp
drwxr-x---. 7 tomcat tomcat  4096 Sep  1 01:22 webapps
drwxr-x---. 2 tomcat tomcat  4096 Sep  1 01:21 work

2. samm: konfigureerige Apache Tomcat Server

3. Otsitav konfiguratsioonimuudatus asub conf-kataloogis, seda kasutatakse kõigi konfiguratsioonifailide paigutamiseks, mis aitavad kiisu käivitada.

Conf-kataloogi sisu näeb välja nagu allpool.

$ cd conf/
$ ls -l
total 224
-rw-------. 1 tomcat tomcat  12502 Sep  1 01:23 catalina.policy
-rw-------. 1 tomcat tomcat   7203 Sep  1 01:23 catalina.properties
-rw-------. 1 tomcat tomcat   1338 Sep  1 01:23 context.xml
-rw-------. 1 tomcat tomcat   1149 Sep  1 01:23 jaspic-providers.xml
-rw-------. 1 tomcat tomcat   2358 Sep  1 01:23 jaspic-providers.xsd
-rw-------. 1 tomcat tomcat   3622 Sep  1 01:23 logging.properties
-rw-------. 1 tomcat tomcat   7283 Sep  1 01:23 server.xml
-rw-------. 1 tomcat tomcat   2164 Sep  1 01:23 tomcat-users.xml
-rw-------. 1 tomcat tomcat   2633 Sep  1 01:23 tomcat-users.xsd
-rw-------. 1 tomcat tomcat 168133 Sep  1 01:23 web.xml

4. Sel juhul on minu jaoks oluline fail server.xml . Nii et ma ei hakka teiste failide või kataloogide kohta põhjalikult selgitama.

Server.xml on konfiguratsioonifail, mis ütleb kassile, millise pordi ta käivitada, millise kataloogi sisu juurutada ning palju muud peamist ja põhilist konfiguratsiooni.

Pärast faili avamist näeb see põhimõtteliselt välja nagu allpool.

$ vim server.xml

3. samm: veebirakenduste juurutamine Apache Tomcatis

5. Nüüd juurutame Apache tomcatis uue veebirakenduse, otsime kõigepealt üles teenusemärgi sulgemise koha ja lisame esimese suletud teenusemärgi alla read.

<Service name="webapps2">
    <Connector port="7070" maxHttpHeaderSize="7192"
        maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
        enableLookups="false" redirectPort="7443" acceptCount="100"
        connectionTimeout="20000" disableUploadTimeout="true" />
        <Connector port="7072" 
        enableLookups="false" redirectPort="7043" protocol="AJP/1.3" />

    <Engine name="webapps2" defaultHost="localhost">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
            resourceName="UserDatabase"/>
            <Host name="localhost" appBase="webapps2"
                unpackWARs="true" autoDeploy="true"
                 xmlValidation="false" xmlNamespaceAware="false">
            </Host>
    </Engine>
</Service>

Nagu näete, olen värskelt sisestatud kirjes muutnud pistikupordiks 7070, kuna vaikimisi kõnnija algab porti 8080. Pärast selle täielikku seadistamist töötab pordide 8080 ja 7070 all kaks veebiserverit.

6. Pärast faili server.xml tehtud muudatuse salvestamist looge apache'i põhiserveris apache'is kataloog nimega webapps2 .

$ cd /home/tomcat/apache-tomcat-8.5.5/
$ mkdir webapps2

Kui jälgite server.xml uut minu sisestatud kirjet, peaksite nägema, et teenuse nimi, rakenduse baas ja mootor on nimega webapps2. Seetõttu lõin kataloogi nimega webapps2. Saate selle luua vastavalt soovile, kuid veenduge, et muudaksite kirjet vastavalt vajadusele.

7. Veendumaks, et teine veebiserver on töökorras, kopeerisin veebirakenduste kataloogi kataloogi webapps2.

$ cp -r webapps/* webapps2/

8. Nüüd põnev osa. Käivitame serveri ja vaatame, kas see töötab. Minge kataloogi bin ja käivitage skript startup.sh . Logisid saate vaadata failis catalina.out , mis asub logide kataloogis.

$ cd bin/
$ ./startup.sh
Using CATALINA_BASE:   /home/tomcat/apache-tomcat-8.5.5
Using CATALINA_HOME:   /home/tomcat/apache-tomcat-8.5.5
Using CATALINA_TMPDIR: /home/tomcat/apache-tomcat-8.5.5/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /home/tomcat/apache-tomcat-8.5.5/bin/bootstrap.jar:/home/tomcat/apache-tomcat-8.5.5/bin/tomcat-juli.jar
Tomcat started.

9. Kui viidate logidele, näete, et nii veebirakendused kui ka webapps2 on juurutatud ja rakendus käivitatakse probleemideta.

$ cd logs/
$ tail -25f catalina.out 
29-Sep-2016 12:13:51.210 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/tomcat/apache-tomcat-8.5.5/webapps/examples
29-Sep-2016 12:13:51.661 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/tomcat/apache-tomcat-8.5.5/webapps/examples has finished in 452 ms
29-Sep-2016 12:13:51.664 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/tomcat/apache-tomcat-8.5.5/webapps/docs
29-Sep-2016 12:13:51.703 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/tomcat/apache-tomcat-8.5.5/webapps/docs has finished in 39 ms
29-Sep-2016 12:13:51.704 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/tomcat/apache-tomcat-8.5.5/webapps/host-manager
29-Sep-2016 12:13:51.744 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/tomcat/apache-tomcat-8.5.5/webapps/host-manager has finished in 39 ms
29-Sep-2016 12:13:51.748 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-8080]
29-Sep-2016 12:13:51.767 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [ajp-nio-8009]
29-Sep-2016 12:13:51.768 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service webapps2
29-Sep-2016 12:13:51.768 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.5
29-Sep-2016 12:13:51.777 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/manager
29-Sep-2016 12:13:51.879 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/manager has finished in 102 ms
29-Sep-2016 12:13:51.879 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/ROOT
29-Sep-2016 12:13:51.915 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/ROOT has finished in 35 ms
29-Sep-2016 12:13:51.927 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/examples
29-Sep-2016 12:13:52.323 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log ContextListener: contextInitialized()
29-Sep-2016 12:13:52.337 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log SessionListener: contextInitialized()
29-Sep-2016 12:13:52.341 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/examples has finished in 414 ms
29-Sep-2016 12:13:52.341 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/docs
29-Sep-2016 12:13:52.371 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/docs has finished in 29 ms
29-Sep-2016 12:13:52.371 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/host-manager
29-Sep-2016 12:13:52.417 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/tomcat/apache-tomcat-8.5.5/webapps2/host-manager has finished in 46 ms
...

10. Selle stsenaariumi korral on minu kasutatava serveri IP-aadress 172.16.1.39 ja näete, et ma saaksin käivitada kaks veebiserverit üles ühe kärsaka konteinerisse.

http://172.16.1.39:8080   [1st Web App]
http://172.16.1.39:7070   [2nd Web App]

Loodetavasti leiate kõik sellest artiklist kasuliku ja nauditava. Hoidke ühendust TecMintiga ja võtke minuga ühendust selle artikliga seotud küsimuste korral.