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.
- Könnyű súly.
- Széleskörben használt.
- Sokkal gyorsabb, mint a többi konténer.
- Könnyen konfigurálható.
- 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.