Otu esi agba ọtụtụ ngwa webụ na otu Apache Tomcat Server


Apache Tomcat bụ akpa webụ mepere emepe nke na-enye gị ohere ibuga Java Servlets, JSP na Weebụ Sockets iji mee sava weebụ nke koodu Java kwadoro. Enwere ike ịmata ya dị ka akpa servlet cross-platform ma ọ bụ akpa webụ.

Naanị, Tomcat bụ onye ama ama n'etiti ọtụtụ ndị na-ahụ maka ụlọ ọrụ n'ihi ọtụtụ uru karịa akpa webụ ndị ọzọ na ahịa. Ị nwere ike ịmepụta ebe nchekwa webụ site na ọrụ Java gị ma tinye ya n'ime akpa tomcat iji kwado sava weebụ HTTP nke Java kwadoro. Ụlọ ọrụ na-ahọrọ apache tomcat karịa akpa ndị ọzọ n'ihi uru ndị a.

  1. Ofe dị arọ.
  2. Eji ya nke ọma.
  3. Ọsọ karịa arịa ndị ọzọ.
  4. Ọ dị mfe ịhazi.
  5. Ngbanwe nke ukwuu.

Ọtụtụ mgbe, apache tomcat bụ ngwaahịa enyi na enyi nke na-enye ndị injinia ohere ibuga WAR artifacts (Web ARchives) na obere mgbanwe nhazi.

Nke a post na-ezubere iche na-ege ntị nke na-eji tomcat na-ama otú e si malite na iji apache tomcat engine.

Na apache tomcat, ekwesịrị itinye WAR na ndekọ webapps nke akpa na-ebuga ha na ndabara. Naanị, akwụkwọ ndekọ aha webapps na-arụ ọrụ dị ka isi akpa koodu Java maka tomcat iji bunye ya dị ka sava weebụ.

N'ọnọdụ nke anyị kwesịrị ịnabata ihe karịrị otu sava weebụ site na otu akpa tomcat, ị nwere ike iji post a dị ka ntuziaka iji mezuo ya. M ga-egosi gị otu esi ebuga ọtụtụ ngwa weebụ ma ọ bụ sava weebụ abụọ n'ime otu tomcat site na edemede a.

Ihe achọrọ: Ekwesịrị itinye Java na sava ahụ. Ọkachamma 1.7.x ma ọ bụ karịa. N'ime nkuzi a enwere m Java 1.7 arụnyere ebe m na-eji ụdị tomcat 8.0.37.

Ị nwere ike iwunye Java site na iji njikwa ngwugwu gị yum ma ọ bụ dabara dị ka egosiri:

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

Kwụpụ 1: Wụnye Apache Tomcat Server

1. Buru ụzọ mepụta onye ọrụ tomcat dị iche site na iji akaụntụ mgbọrọgwụ.

# useradd tomcat
# passwd tomcat

Ugbu a banye dị ka onye ọrụ tomcat wee budata ngwugwu apache tomcat kacha ọhụrụ site na saịtị gọọmentị ebe a: iwu wget ka ibudata ozugbo na ọnụ.

N'okwu a, m na-ebudata Apache Tomcat, 8.5.5, nke bụ otu n'ime ụdị kwụsiri ike ọhụrụ ewepụtara ugbu a.

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

2. Ozugbo ebudatara faịlụ, wepụ ọdịnaya site na iji iwu tar wee lelee nhazi ndekọ dịka egosiri:

$ 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

Kwụpụ 2: Hazie Apache Tomcat Server

3. Mgbanwe nhazi nke anyị na-achọ na-edina n'ime conf directory, na-eji na-etinye niile nhazi faịlụ na-enyere tomcat ịmalite.

Ọdịnaya nke ndekọ ndekọ conf dị ka n'okpuru.

$ 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. N'okwu a, ihe dị m mkpa bụ faịlụ server.xml. Yabụ na agaghị m eme nkọwa dị omimi gbasara faịlụ ma ọ bụ akwụkwọ ndekọ aha ndị ọzọ.

Ihe nkesa.xml bụ faịlụ nhazi nke na-agwa tomcat nke ọdụ ụgbọ mmiri ga-amalite, nke ọdịnaya ndekọ na-ebuga na ọtụtụ ndị ọzọ isi na isi nhazi.

Ọ na-adị ka n'okpuru mgbe ịmepe faịlụ ahụ.

$ vim server.xml

Kwụpụ 3: Na-ebuga ngwa webụ na Apache Tomcat

5. Ugbu a, anyị ga-ebuga ngwa weebụ ọhụrụ na Apache tomcat, buru ụzọ chọta ebe a na-emechi mkpado ọrụ ma tinye n'okpuru ahịrị mgbe mkpado ọrụ mechiri emechi.

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

Dị ka ị na-ahụ, agbanweela m ọdụ ụgbọ mmiri njikọ na 7070 na ntinye ọhụrụ a na-etinye ebe ọ bụ na ndabara tomcat na-amalite na ọdụ ụgbọ mmiri 8080. Mgbe emechara nke a kpamkpam, a ga-enwe sava weebụ abụọ na-agba ọsọ n'okpuru ọdụ ụgbọ mmiri 8080 na 7070.

6. Mgbe ịchekwaa mgbanwe emere na server.xml, mepụta ndekọ na apache akpọrọ webapps2 n'ime isi apache.

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

Ọ bụrụ na ị na-edebe server.xml ntinye ọhụrụ m nyegoro, ị ga-ahụ na aha ọrụ, ntọala ngwa na injin ahụ bụ webapps2. Ọ bụ ya mere m ji mepụta ndekọ aha webapps2. Ị nwere ike ịmepụta otu dịka ịchọrọ, mana jide n'aka na ị na-eme mgbanwe na ntinye dịka ọ dị mkpa.

7. Iji jide n'aka na sava weebụ nke abụọ na-arụ ọrụ, m depụtaghachiri ọdịnaya nke akwụkwọ ndekọ aha webapps na ndekọ webapps2.

$ cp -r webapps/* webapps2/

8. Ugbu a akụkụ na-akpali akpali. Anyị na-aga ịmalite ihe nkesa wee hụ ma ọ na-arụ ọrụ. Gaa na ndekọ bin wee mebe edemede startup.sh. Ị nwere ike ịlele ndekọ na faịlụ catalina.out bi na ndekọ ndekọ.

$ 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. Ọ bụrụ na ị na-ezo aka na ndekọ, ị ga-enwe ike ịhụ na ma webapps na webapps2 ka etinyere na ngwa na-amalite na-enweghị nsogbu ọ bụla.

$ 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. N'okwu a, IP nke ihe nkesa m na-eji bụ 172.16.1.39 ma ị nwere ike ịhụ na m nwere ike ịmalite sava weebụ abụọ n'ime otu akpa tomcat.

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

Enwere m olileanya na akụkọ a ga-aba uru ma na-atọ gị ụtọ. Kpọtụrụ TecMint ma nweere onwe gị ịkpọtụrụ m maka ajụjụ ọ bụla gbasara akụkọ a.