ວິທີການ ດຳ ເນີນການ ນຳ ໃຊ້ຫລາຍໆເວັບໃນ One Apache Tomcat Server


Apache Tomcat ແມ່ນບ່ອນບັນຈຸເວບເປີດທີ່ອະນຸຍາດໃຫ້ທ່ານສາມາດ ນຳ ໃຊ້ Java Servlets, JSP ແລະ Web Sockets ເພື່ອໃຊ້ເຄື່ອງແມ່ຂ່າຍເວັບທີ່ໃຊ້ລະຫັດ Java. ມັນຍັງສາມາດຖືກລະບຸວ່າເປັນພາຊະນະ servlet ຂ້າມເວທີຫລືພາຊະນະຂອງເວບ.

ເວົ້າງ່າຍໆ, Tomcat ແມ່ນໄດ້ຮັບຄວາມນິຍົມຫຼາຍຈາກບັນດາຜູ້ມີສ່ວນກ່ຽວຂ້ອງໃນອຸດສະຫະ ກຳ ຍ້ອນວ່າມີຂໍ້ດີຫຼາຍຢ່າງຕໍ່ກັບບັນດາເວບອື່ນໆໃນຕະຫຼາດ. ທ່ານສາມາດສ້າງເອກະສານເກັບຂໍ້ມູນເວັບຈາກໂຄງການ Java ຂອງທ່ານແລະພຽງແຕ່ໃຊ້ມັນພາຍໃນຖັງ tomcat ເພື່ອເປັນເຈົ້າພາບເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ HTTP ທີ່ຖືກລະຫັດໂດຍ Java. ອຸດສາຫະກໍາເລືອກ tomcat apache ຫຼາຍກວ່າຕູ້ຄອນເທນເນີອື່ນໆເນື່ອງຈາກຂໍ້ໄດ້ປຽບດັ່ງຕໍ່ໄປນີ້.

<

  • ນ້ ຳ ໜັກ ເບົາ.
  • ໃຊ້ຢ່າງກວ້າງຂວາງ.
  • ໄວຫຼາຍກ່ວາຕູ້ຄອນເທນເນີອື່ນໆ.
  • ງ່າຍຕໍ່ການຕັ້ງຄ່າ.
  • ມີຄວາມຍືດຫຍຸ່ນຫຼາຍ.
  • ໂດຍປົກກະຕິແລ້ວ, apcat tomcat ແມ່ນຜະລິດຕະພັນທີ່ເປັນມິດກັບຜູ້ໃຊ້ເຊິ່ງຊ່ວຍໃຫ້ວິສະວະກອນມີພື້ນທີ່ໃນການ ນຳ ໃຊ້ຂອງປອມ WAR ຂອງພວກເຂົາ (Web ARchives) ດ້ວຍການປ່ຽນແປງການຕັ້ງຄ່າ ໜ້ອຍ ທີ່ສຸດ.

    ຂໍ້ຄວາມນີ້ແມ່ນແນໃສ່ຜູ້ຊົມທີ່ ກຳ ລັງໃຊ້ tomcat ແລະຮູ້ວິທີເລີ່ມຕົ້ນແລະ ນຳ ໃຊ້ເຄື່ອງຈັກ tomcat apache.

    ໃນ apcat tomcat, WAR ຄວນຈະຖືກໃສ່ໄວ້ໃນບ່ອນເກັບຂໍ້ມູນ webapps ທີ່ພາຊະນະຈັດວາງມັນໄວ້ໃນຕອນຕົ້ນ. ເວົ້າງ່າຍໆ, webapps directory ເຮັດ ໜ້າ ທີ່ເປັນພາຊະນະຫຼັກຂອງລະຫັດ Java ສຳ ລັບ tomcat ໃນການ ນຳ ໃຊ້ມັນເປັນ web server.

    ໃນສະຖານະການທີ່ພວກເຮົາຕ້ອງການໃຫ້ມີຫລາຍໆເວັບເຊີເວີຫລາຍຂື້ນຈາກຕູ້ຄອນເທນເນີ tomcat ດ່ຽວ, ທ່ານສາມາດໃຊ້ໂພສນີ້ເປັນຄູ່ມືເພື່ອເຮັດໃຫ້ມັນ ສຳ ເລັດ. ຂ້າພະເຈົ້າຈະສະແດງວິທີການ ນຳ ໃຊ້ໂປແກຼມ ນຳ ໃຊ້ເວັບໄຊທ໌ຫລາຍຫລືສອງເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ພາຍໃນເວບໄຊທ໌ຫນຶ່ງ

    ຂໍ້ມູນເບື້ອງຕົ້ນ: Java ຄວນຕິດຕັ້ງຢູ່ໃນເຊີບເວີ. ມັກ 1.7.x ຂຶ້ນໄປ. ໃນບົດແນະ ນຳ ນີ້ຂ້ອຍໄດ້ຕິດຕັ້ງ Java 1.7 ຕັ້ງແຕ່ຂ້ອຍໃຊ້ tomcat ລຸ້ນ 8.0.37.

    ທ່ານສາມາດຕິດຕັ້ງ Java ໂດຍໃຊ້ yum ຫຼື apt ຂອງທ່ານເປັນຜູ້ຈັດການຊຸດດັ່ງທີ່ສະແດງ:

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

    ຂັ້ນຕອນທີ 1: ຕິດຕັ້ງ Apache Tomcat Server

    1. ທຳ ອິດສ້າງຜູ້ໃຊ້ tomcat ແຍກຕ່າງຫາກໂດຍໃຊ້ບັນຊີຮາກ.

    # useradd tomcat
    # passwd tomcat
    

    ຕອນນີ້ເຂົ້າສູ່ລະບົບເປັນຜູ້ໃຊ້ tomcat ແລະດາວໂຫລດຊຸດ apache tomcat ຫຼ້າສຸດຈາກເວັບໄຊທ໌ທາງການທີ່ນີ້: wget ສັ່ງດາວໂຫລດໂດຍກົງໃນປາຍ.

    ໃນກໍລະນີນີ້, ຂ້ອຍດາວໂຫລດ Apache Tomcat, 8.5.5, ເຊິ່ງແມ່ນ ໜຶ່ງ ໃນຮຸ່ນທີ່ມີຄວາມ ໝັ້ນ ຄົງລ້າສຸດທີ່ປ່ອຍອອກມາໃນຕອນນີ້.

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

    2. ເມື່ອເອກະສານຖືກດາວໂຫລດແລ້ວ, ຢ່າກົດປຸ່ມເນື້ອຫາໂດຍໃຊ້ ຄຳ ສັ່ງ tar ແລະເບິ່ງໂຄງສ້າງຂອງໄດເລກະທໍລີດັ່ງທີ່ສະແດງ:

    $ 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: ຕັ້ງຄ່າ Apache Tomcat Server

    3. ການປ່ຽນແປງການຕັ້ງຄ່າທີ່ພວກເຮົາ ກຳ ລັງຊອກຫາແມ່ນນອນຢູ່ໃນ conf directory, ກຳ ລັງຖືກ ນຳ ໃຊ້ເພື່ອຈັດວາງໄຟລ໌ການຕັ້ງຄ່າທັງ ໝົດ ທີ່ຊ່ວຍ tomcat ເລີ່ມຕົ້ນ.

    ເນື້ອໃນຂອງໄດເລກະທໍລີ conf ເບິ່ງຄືວ່າຢູ່ຂ້າງລຸ່ມ.

    $ 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. ໃນກໍລະນີນີ້, ສິ່ງທີ່ ສຳ ຄັນ ສຳ ລັບຂ້ອຍແມ່ນແຟ້ມ server.xml . ສະນັ້ນຂ້າພະເຈົ້າບໍ່ໄດ້ອະທິບາຍຢ່າງລະອຽດກ່ຽວກັບແຟ້ມເອກະສານຫລືລາຍການອື່ນໆ.

    server.xml ແມ່ນເອກະສານການຕັ້ງຄ່າທີ່ບອກ tomcat ວ່າພອດໃດທີ່ຈະເລີ່ມຕົ້ນມັນ, ເຊິ່ງເນື້ອຫາໃນການ ນຳ ໃຊ້ເພື່ອ ນຳ ໃຊ້ແລະການຕັ້ງຄ່າຕົ້ນຕໍແລະພື້ນຖານຫຼາຍຢ່າງ.

    ໂດຍພື້ນຖານແລ້ວມັນເບິ່ງຄືວ່າຢູ່ດ້ານລຸ່ມຫຼັງຈາກທີ່ທ່ານເປີດເອກະສານ.

    $ vim server.xml
    

    ຂັ້ນຕອນທີ 3: ການ ນຳ ໃຊ້ Web Apps ໃນ Apache Tomcat

    5. ຕອນນີ້ພວກເຮົາຈະ ນຳ ໃຊ້ໂປແກຼມໃຊ້ເວັບ ໃໝ່ ໃນ Apache tomcat, ທຳ ອິດຊອກຫາສະຖານທີ່ທີ່ປ້າຍບໍລິການຖືກປິດ ແລະໃສ່ເສັ້ນທາງລຸ່ມນີ້ຫຼັງຈາກປ້າຍບໍລິການທີ່ຖືກປິດ ທຳ ອິດ.

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

    ດັ່ງທີ່ທ່ານເຫັນ, ຂ້າພະເຈົ້າໄດ້ປ່ຽນພອດເຊື່ອມຕໍ່ເປັນ 7070 ໃນການປ້ອນຂໍ້ມູນທີ່ເຂົ້າມາ ໃໝ່ ນັບຕັ້ງແຕ່ເຄື່ອງອັດ tomcat ເລີ່ມຕົ້ນດ້ວຍ port 8080.

    6. ຫຼັງຈາກປະຫຍັດການປ່ຽນແປງທີ່ server.xml , ສ້າງໄດເລກະທໍລີໃນ apache ທີ່ເອີ້ນວ່າ webapps2 ພາຍໃນ apache ຫລັກ.

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

    ຖ້າທ່ານສັງເກດເຫັນການເຂົ້າລະຫັດ ໃໝ່ server.xml ທີ່ຂ້ອຍໄດ້ສະ ໜອງ, ທ່ານຄວນຈະເຫັນວ່າຊື່ບໍລິການ, ຖານຂໍ້ມູນ app ແລະເຄື່ອງຈັກມີຊື່ວ່າ webapps2. ນັ້ນແມ່ນເຫດຜົນທີ່ຂ້ອຍສ້າງໄດເລກະທໍລີທີ່ຊື່ວ່າ webapps2. ທ່ານສາມາດສ້າງສິ່ງທີ່ທ່ານຕ້ອງການ, ແຕ່ໃຫ້ແນ່ໃຈວ່າທ່ານໄດ້ປ່ຽນແປງການເຂົ້າເປັນທີ່ຕ້ອງການ.

    7. ເພື່ອໃຫ້ແນ່ໃຈວ່າເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ທີ 2 ແມ່ນແລະ ກຳ ລັງແລ່ນ, ຂ້ອຍໄດ້ຄັດລອກເນື້ອຫາຂອງເວັບໄຊທ໌ໄດເລກະທໍລີໄປທີ່ໄດເລກະທໍລີ webapps2.

    $ cp -r webapps/* webapps2/
    

    8. ຕອນນີ້ສ່ວນທີ່ ໜ້າ ຕື່ນເຕັ້ນ. ພວກເຮົາ ກຳ ລັງຈະເລີ່ມຕົ້ນ server ແລະເບິ່ງວ່າມັນ ກຳ ລັງເຮັດວຽກຢູ່ຫລືບໍ່. ເຂົ້າໄປທີ່ໄດເລກະທໍລີ ຖັງ ແລະປະຕິບັດຕົວອັກສອນ startup.sh . ທ່ານສາມາດເບິ່ງຂໍ້ມູນບັນທຶກຕ່າງໆທີ່ຢູ່ໃນແຟ້ມ catalina.out ທີ່ຢູ່ໃນບັນທຶກຂໍ້ມູນບັນທຶກ.

    $ 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. ຖ້າທ່ານສົ່ງຂໍ້ມູນບັນທຶກທ່ານຈະສາມາດເຫັນໄດ້ວ່າທັງສອງ webapps ແລະ webapps2 ຖືກ ນຳ ໃຊ້ແລະແອັບ and ກໍ່ເລີ່ມຕົ້ນໂດຍບໍ່ມີບັນຫາຫຍັງເລີຍ.

    $ 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. ໃນສະຖານະການນີ້, IP ຂອງ server ທີ່ຂ້ອຍເຄີຍໃຊ້ແມ່ນ 172.16.1.39 ແລະທ່ານສາມາດເຫັນໄດ້ວ່າຂ້ອຍສາມາດເລີ່ມຕົ້ນສອງ server web ຂຶ້ນຢູ່ພາຍໃນຖັງ tomcat ດຽວ.

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

    ຫວັງວ່າທ່ານທຸກຄົນເຫັນວ່າບົດຂຽນນີ້ມີປະໂຫຍດແລະມ່ວນຊື່ນ. ຕິດຕໍ່ກັບ TecMint ແລະຮູ້ສຶກວ່າບໍ່ເສຍຄ່າທີ່ຈະຕິດຕໍ່ຫາຂ້ອຍເພື່ອສອບຖາມກ່ຽວກັບບົດຄວາມນີ້.