Weboldal keresés

Több webalkalmazás futtatása egy Apache Tomcat kiszolgálón


Az Apache Tomcat egy nyílt forráskódú webtároló, amely lehetővé teszi Java Servlet, JSP és Web Socket telepítését a futtatáshoz. Java kóddal működő webszerver. Meghatározható többplatformos szervlet-tárolóként vagy webtárolóként is.

Egyszerűen a Tomcat nagyon népszerű számos ipari érdekelt fél körében, mivel számos előnye van a piacon lévő többi webtárolóhoz képest. Webarchívumokat hozhat létre Java-projektjéből, és egyszerűen telepítheti azokat egy tomcat-tárolóba, hogy egy Java által kódolt HTTP-webszervert fogadjon. Az iparágak az apache tomcat-ot választják más konténerekkel szemben a következő előnyök miatt.

  1. Könnyű súly.
  2. Széleskörben használt.
  3. Sokkal gyorsabb, mint a többi konténer.
  4. Könnyen konfigurálható.
  5. Nagyon rugalmas.

Az apache tomcat általában egy felhasználóbarát termék, amely minimális konfigurációs változtatásokkal teret ad a mérnököknek a WAR műtermékek (Webarchívum) telepítéséhez.

Ez a bejegyzés olyan közönséget céloz meg, amely már használja a tomcat-ot, és tudja, hogyan kell elindítani és használni az apache tomcat motort.

Az apache tomcatben a WAR-okat abba a webapps könyvtárba kell helyezni, amelyet a tároló alapértelmezés szerint telepít. Egyszerűen a webapps könyvtár a Java-kód fő tárolójaként működik, hogy a tomcat webszerverként telepítse azt.

Abban a forgatókönyvben, amikor egynél több webszervert kell üzemeltetnünk egyetlen tomcat-tárolóból, ezt a bejegyzést útmutatóként használhatja ennek megvalósításához. Ebből a cikkből meg fogom mutatni, hogyan telepíthet több webalkalmazást vagy két webszervert egy tomcaton belül.

Előfeltételek: A Java-nak telepítve kell lennie a szerveren. Lehetőleg 1.7.x vagy újabb. Ebben az oktatóanyagban a Java 1.7 verziót telepítettem, mivel a tomcat 8.0.37-es verzióját használom.

Telepítheti a Javát a csomagkezelővel, például a yum vagy az apt segítségével, az alábbi módon:

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

1. lépés: Telepítse az Apache Tomcat Servert

1. Először hozzon létre egy külön tomcat felhasználót root fiókkal.

useradd tomcat
passwd tomcat

Most jelentkezzen be tomcat felhasználóként, és töltse le a legújabb apache tomcat csomagot a hivatalos webhelyről innen: https://tomcat.apache.org/, vagy használhatja a következő wget parancsot a letöltéshez közvetlenül a terminálból. .

Ebben az esetben letöltöm az Apache Tomcat, 8.5.5et, amely az egyik legfrissebb, mostanra kiadott stabil verzió.

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

2. A fájl letöltése után csomagolja ki a tartalmat a tar paranccsal, és tekintse meg a könyvtárstruktúrát az alábbi módon:

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. lépés: Konfigurálja az Apache Tomcat szervert

3. A keresett konfigurációmódosítás a conf könyvtárban található, és a tomcat indítását segítő összes konfigurációs fájl elhelyezésére szolgál.

A conf könyvtár tartalma az alábbiak szerint néz ki.

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. Ebben az esetben számomra a server.xml fájl a fontos. Tehát nem fogok mélyreható magyarázatot adni más fájlokról vagy könyvtárakról.

A server.xml az a konfigurációs fájl, amely megmondja a tomcat számára, hogy melyik portot indítsa el, melyik könyvtár tartalmát kell telepíteni, és még sok más fő és alapvető konfigurációt.

A fájl megnyitása után alapvetően az alábbiak szerint néz ki.

vim server.xml

3. lépés: Webes alkalmazások telepítése az Apache Tomcatben

5. Most egy új webalkalmazást fogunk telepíteni az Apache tomcatben, először meg kell keresni azt a helyet, ahol a szolgáltatáscímke be van zárva , és beillesztjük az alábbi sorokat az első zárás után. szervizcímke.

<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>

Amint látja, az újonnan beillesztett bejegyzésben a csatlakozóportot 7070-re változtattam, mivel az alapértelmezett tomcat a 8080 porttal kezdődik. A teljes beállítás után két webszerver fog futni a 8080 és a 7070 portok alatt.

6. A server.xml fájl módosításának mentése után hozzon létre egy könyvtárat az apache-ban webapps2 néven az apache főoldalán.

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

Ha megfigyeli az általam megadott server.xml új bejegyzést, látnia kell, hogy a szolgáltatás neve, az alkalmazás alapja és a motor neve webapps2. Ez az oka annak, hogy létrehoztam a webapps2 nevű könyvtárat. Létrehozhat egyet, ahogy szeretné, de ügyeljen arra, hogy szükség szerint módosítsa a bejegyzést.

7. Annak érdekében, hogy megbizonyosodjon arról, hogy a második webszerver működik és működik, átmásoltam a webapps könyvtár tartalmát a webapps2 könyvtárba.

cp -r webapps/* webapps2/

8. Most jön az izgalmas rész. Elindítjuk a szervert, és megnézzük, működik-e. Lépjen a bin könyvtárba, és futtassa a startup.sh parancsfájlt. Megtekintheti a naplókat a catalina.out fájlban, amely a naplók könyvtárában található.

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. Ha hivatkozik a naplókra, láthatja, hogy a webapps és a webapps2 is telepítve van, és az alkalmazás minden probléma nélkül elindul. .

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. Ebben a forgatókönyvben az általam használt szerver IP-címe 172.16.1.39, és láthatja, hogy két webszervert indíthatok el egyetlen tomcat-tárolón belül.

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

Reméljük, hogy mindenki hasznosnak és élvezetesnek találja ezt a cikket. Vegye fel a kapcsolatot a TecMinttel, és forduljon hozzám, ha bármilyen kérdése van ezzel a cikkel kapcsolatban.