Yadda ake Gudun Aikace-aikacen Yanar Gizo da yawa a cikin Sabar Tomcat guda ɗaya na Apache


Apache Tomcat buɗaɗɗen buɗaɗɗen buɗaɗɗen gidan yanar gizo ne wanda ke ba ku damar tura Sabis ɗin Java, JSP da Sockets na Yanar Gizo don gudanar da sabar gidan yanar gizo mai ƙarfi ta lambar Java. Hakanan ana iya gano shi azaman kwandon servlet mai giciye-dandamali ko kwandon gidan yanar gizo.

Kawai, Tomcat sananne ne a tsakanin masu ruwa da tsaki na masana'antu da yawa saboda fa'idodi da yawa akan sauran kwantena na yanar gizo akan kasuwa. Kuna iya ƙirƙirar rumbun yanar gizo daga aikin Java ɗinku kuma kawai sanya shi a cikin akwati na tomcat don karɓar sabar gidan yanar gizo ta HTTP da Java ta ƙirƙira. Masana'antu sun zaɓi apache tomcat akan sauran akwati saboda fa'idodi masu zuwa.

  1. Nauyi mara nauyi.
  2. Ana Amfani Da Yawa.
  3. Yafi sauri fiye da sauran kwantena.
  4. mai sauƙin daidaitawa.
  5. Mai sassauci.

Yawancin lokaci, apache tomcat samfuri ne na abokantaka mai amfani wanda ke ba injiniyoyi sarari don tura kayan aikin WAR su (Tallafin Yanar Gizo) tare da canje-canje kaɗan.

Wannan sakon yana yin niyya ga masu sauraro waɗanda tuni ke amfani da tomcat kuma sun san yadda ake farawa da amfani da injin tomcat na apache.

A cikin apache tomcat, WARs ya kamata a sanya su cikin kundin adireshi na webapps wanda kwantena ke tura su ta tsohuwa. A taƙaice, kundin adireshin yanar gizo yana aiki azaman babban akwati na lambar Java don tomcat don tura shi azaman sabar gidan yanar gizo.

A cikin yanayin da muke buƙatar karɓar karɓar sabar yanar gizo fiye da ɗaya daga akwati guda tomcat, zaku iya amfani da wannan post ɗin azaman jagora don cika shi. Zan nuna muku yadda ake tura aikace-aikacen yanar gizo da yawa ko sabar yanar gizo guda biyu a cikin tomcat ɗaya daga wannan labarin.

Abubuwan da ake buƙata: Ya kamata a shigar da Java a cikin uwar garken. Zai fi dacewa 1.7.x ko sama. A cikin wannan koyawa ina da Java 1.7 shigar tun lokacin da na yi amfani da nau'in tomcat 8.0.37.

Kuna iya shigar da Java ta amfani da mai sarrafa fakitinku irin yum ko dace kamar yadda aka nuna:

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

Mataki 1: Shigar Apache Tomcat Server

1. Da farko ƙirƙiri daban tomcat mai amfani ta amfani da tushen asusun.

# useradd tomcat
# passwd tomcat

Yanzu shiga azaman mai amfani da tomcat kuma zazzage sabon tarin apache tomcat daga rukunin yanar gizon anan: umarnin wget don saukewa kai tsaye a cikin tashar.

A wannan yanayin, na zazzage Apache Tomcat, 8.5.5, wanda shine ɗayan sabbin juzu'an da aka fitar yanzu.

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

2. Da zarar an sauke fayil ɗin, cire abun cikin ta amfani da umarnin tar kuma duba tsarin shugabanci kamar yadda aka nuna:

$ 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

Mataki 2: Sanya Apache Tomcat Server

3. Canjin canjin da muke nema yana kwance a cikin conf directory, ana amfani dashi don sanya duk fayilolin sanyi waɗanda ke taimakawa tomcat don farawa.

Abubuwan da ke cikin kundin adireshin suna kama da ƙasa.

$ 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. A wannan yanayin, abin da ke da mahimmanci a gare ni shine fayil ɗin server.xml. Don haka ba zan yi bayani mai zurfi game da wasu fayiloli ko kundayen adireshi ba.

Sabar.xml shine fayil ɗin daidaitawa wanda ke gaya wa tomcat abin da tashar jiragen ruwa za ta fara shi, wanne abun ciki na directory don turawa da ƙari na asali da na asali.

A zahiri yana kama da ƙasa bayan buɗe fayil ɗin.

$ vim server.xml

Mataki na 3: Ƙaddamar da Ayyukan Yanar Gizo a Apache Tomcat

5. Yanzu za mu tura sabon aikace-aikacen yanar gizo a Apache tomcat, da farko nemo wurin da aka rufe tag ɗin sabis > kuma saka layin ƙasa bayan alamar sabis na farko da aka rufe.

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

Kamar yadda kake gani, na canza tashar mai haɗawa zuwa 7070 a cikin sabuwar shigar da aka shigar tun lokacin da tsoho tomcat ya fara da tashar jiragen ruwa 8080. Bayan kafa wannan gaba ɗaya za a sami sabar yanar gizo guda biyu da ke gudana a ƙarƙashin tashoshin 8080 da 7070.

6. Bayan adana canjin da aka yi zuwa server.xml, ƙirƙirar kundin adireshi a cikin apache mai suna webapps2 a cikin babban apache.

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

Idan kun lura da sabuwar shigarwar server.xml, ya kamata ku ga sunan sabis, tushen app da injin suna suna webapps2. Wannan shine dalilin da yasa na ƙirƙiri kundin adireshi mai suna webapps2. Kuna iya ƙirƙirar ɗaya kamar yadda kuke so, amma ku tabbata kun yi canje-canje ga shigarwar kamar yadda ake buƙata.

7. Don tabbatar da sabar yanar gizo ta biyu tana aiki, na kwafi abubuwan da ke cikin kundin adireshin yanar gizo zuwa webapps2 directory.

$ cp -r webapps/* webapps2/

8. Yanzu sashi mai ban sha'awa. Za mu fara uwar garken mu ga ko yana aiki. Je zuwa kundin adireshin bin kuma aiwatar da rubutun startup.sh. Kuna iya duba rajistan ayyukan a cikin catalina.out fayil yana zaune a cikin kundin rajistan ayyukan.

$ 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. Idan ka duba log ɗin za ka iya ganin cewa duka webapps da webapps2 an tura su kuma an fara app ɗin ba tare da matsala ba.

$ 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. A cikin wannan labari, IP na uwar garken da na yi amfani da shi shine 172.16.1.39 kuma kuna iya ganin zan iya fara sabar yanar gizo guda biyu a cikin akwati guda ɗaya na tomcat.

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

Da fatan duk wannan labarin yana da amfani kuma mai daɗi. Ci gaba da tuntuɓar TecMint kuma jin daɗin tuntuɓe ni don kowace tambaya game da wannan labarin.