Hvernig á að keyra mörg vefforrit á einum Apache Tomcat netþjóni


Apache Tomcat er opinn uppspretta vefgámur sem gerir þér kleift að nota Java Servlets, JSP og Web Sockets til að keyra vefþjón knúinn af Java kóða. Einnig er hægt að bera kennsl á það sem servlet-ílát yfir vettvang eða vefgám.

Einfaldlega, Tomcat er mjög vinsæll meðal margra hagsmunaaðila í iðnaði vegna margra kosta umfram aðra vefgáma á markaðnum. Þú getur búið til vefskjalasafn úr Java verkefninu þínu og einfaldlega sett það í tomcat ílát til að hýsa HTTP vefþjón sem er kóðaður af Java. Iðnaðurinn velur apache tomcat umfram aðra ílát vegna eftirfarandi kosta.

  1. Létt.
  2. Víða notað.
  3. Miklu hraðar en aðrir gámar.
  4. Auðvelt að stilla.
  5. Mjög sveigjanlegt.

Venjulega er apache tomcat notendavæn vara sem gefur verkfræðingum pláss til að dreifa WAR gripum sínum (vefskjalasafn) með lágmarks stillingarbreytingum.

Þessi færsla miðar á áhorfendur sem eru nú þegar að nota tomcat og vita hvernig á að ræsa og nota apache tomcat vél.

Í apache tomcat ætti að setja WAR í webapps möppuna sem gámurinn setur þau sjálfgefið fyrir. Einfaldlega, webapps skráin virkar sem aðalílát Java kóðans fyrir Tomcat til að dreifa honum sem vefþjóni.

Í atburðarás þar sem við þurfum að hýsa fleiri en einn vefþjón úr einum tomcat íláti, geturðu notað þessa færslu sem leiðbeiningar til að ná því. Ég ætla að sýna þér hvernig á að dreifa mörgum vefforritum eða tveimur vefþjónum innan eins tomcat úr þessari grein.

Forkröfur: Java ætti að vera uppsett á þjóninum. Helst 1.7.x eða hærri. Í þessari kennslu er ég með Java 1.7 uppsett þar sem ég nota Tomcat útgáfuna 8.0.37.

Þú getur sett upp Java með því að nota pakkastjórann þinn, svo sem yum eða apt eins og sýnt er:

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

Skref 1: Settu upp Apache Tomcat Server

1. Búðu fyrst til sérstakan tomcat notanda með því að nota rótarreikning.

# useradd tomcat
# passwd tomcat

Skráðu þig nú inn sem tomcat notandi og halaðu niður nýjasta apache tomcat búntinu frá opinberu síðunni hér: wget skipun til að hlaða niður beint í flugstöðina.

Í þessu tilviki hleð ég niður Apache Tomcat, 8.5.5, sem er ein af nýjustu stöðugu útgáfunum sem gefin er út núna.

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

2. Þegar skránni hefur verið hlaðið niður skaltu taka efnið úr þjöppun með tar skipuninni og skoða möppuskipulagið eins og sýnt er:

$ 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

Skref 2: Stilltu Apache Tomcat Server

3. Stillingarbreytingin sem við erum að leita að liggur í conf möppunni, er notuð til að setja allar stillingarskrárnar sem hjálpa tomcat að ræsa sig.

Innihald conf möppunnar lítur út eins og hér að neðan.

$ 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. Í þessu tilfelli, það sem er mikilvægt fyrir mig er server.xml skráin. Svo ég ætla ekki að gera ítarlegar útskýringar um aðrar skrár eða möppur.

Server.xml er stillingarskráin sem segir tomcat hvaða höfn á að ræsa hana, hvaða möppuefni á að nota og margar fleiri aðal- og grunnstillingar.

Það lítur í grundvallaratriðum út eins og hér að neðan eftir að þú hefur opnað skrána.

$ vim server.xml

Skref 3: Uppsetning vefforrita í Apache Tomcat

5. Nú munum við setja upp nýtt vefforrit í Apache tomcat, fyrst finna staðinn þar sem þjónustumerkið er lokað og setja inn fyrir neðan línur á eftir fyrsta lokaða þjónustumerkinu.

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

Eins og þú sérð hef ég breytt tengigáttinni í 7070 í nýlega settu færslunni þar sem sjálfgefinn tomcat byrjar með port 8080. Eftir að þetta hefur verið sett upp algjörlega verða tveir vefþjónar sem keyra undir portunum 8080 og 7070.

6. Eftir að hafa vistað breytinguna á server.xml, búðu til möppu í apache sem heitir webapps2 innan apache main.

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

Ef þú fylgist með server.xml nýju færslunni sem ég hef gefið upp, ættirðu að sjá að þjónustuheiti, app grunnur og vélin er nefnd sem webapps2. Það er ástæðan fyrir því að ég bjó til möppuna sem heitir webapps2. Þú getur búið til einn eins og þú vilt, en vertu viss um að þú gerir breytingar á færslunni eftir þörfum.

7. Til að ganga úr skugga um að annar vefþjónninn sé í gangi, afritaði ég innihald webapps möppunnar yfir í webapps2 möppuna.

$ cp -r webapps/* webapps2/

8. Nú er spennandi hluti. Við ætlum að ræsa þjóninn og sjá hvort hann virki. Farðu í bin möppuna og keyrðu startup.sh forskriftina. Þú getur skoðað annálana í catalina.out skránni sem er í skráasafninu.

$ 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. Ef þú vísar í annálana muntu geta séð að bæði webapps og webapps2 eru notuð og appið er ræst án vandræða.

$ 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. Í þessari atburðarás er IP netþjónninn sem ég notaði 172.16.1.39 og þú getur séð að ég gæti ræst tvo vefþjóna upp í einum tomcat gámi.

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

Vona að þér finnist þessi grein gagnleg og skemmtileg. Vertu í sambandi við TecMint og ekki hika við að hafa samband við mig fyrir allar fyrirspurnir varðandi þessa grein.