ÃֽŠ°Ô½Ã±Û(OS/WAS)
2019.06.04 / 19:08

09. Apache¿Í Tomcat ¿¬µ¿

Źµ¹ÀÌ°³¹ßÀÚ
Ãßõ ¼ö 212

¾È³çÇϼ¼¿ä~ Apache¿Í TomcatÀÇ ¿¬µ¿°ú °ü·ÃÇÑ ±ÛÀ» ½ÃÀÛÇغ¸°Ú½À´Ï´Ù.

  • Tomcatµµ ´Üµ¶À¸·Î ¼­ºñ½º¸¦ ÇÒ ¼ö ÀÖÀ¸³ª º¸ÆíÀûÀ¸·Î Apache¿Í ¿¬µ¿ÇÏ¿© »ç¿ëÇÏ´Â °æ¿ì°¡ ¸¹½À´Ï´Ù. ±× ÀÌÀ¯´Â ¾Æ·¡¿Í °°½À´Ï´Ù.
  • Á¤ÀûÄÁÅÙÃ÷ÀÇ ¼­ºñ½º ¼Óµµ(À̹ÌÁö µ¿¿µ»óÀÇ °æ¿ì Apache°¡ ºü¸§)
  • ¿©·¯ ´ëÀÇ Apache¿Í Tomcat¼­¹öÀÇ Å¬·¯½ºÅ͸µ ±¸¼º
  • Apache À¥¼­¹öÀÇ ´Ù¾çÇÑ ¸ðµâ È®Àå
  • º¸¾È °­È­

  • ¿¬µ¿ ¹æ½ÄÀº mod_jk, mod_proxy, mod_prox_ajp ¼¼°¡Áö ¹æ½ÄÀÌ Á¸ÀçÇÑ´Ù°í ÇÕ´Ï´Ù¸¸, Àú´Â mod_jk ¹æ½Ä¸¸À» ´Ù·ç°Ú½À´Ï´Ù. mod_jk·Î ¿¬µ¿ÇÏ´Â °æ¿ì°¡ ¸¹°í, ³ª¸ÓÁö 2°¡Áö¿¡ ºñÇØ URL ¶Ç´Â ÄÁÅÙÃ÷º° ¼³Á¤ÀÌ ½±´Ù°í ÇÕ´Ï´Ù.

1. mod_jk¼³Ä¡

  • mod_jk¸¦ ¼³Ä¡ ÇÏ·Á¸é gcc, gcc-c++, httpd-devel ¼¼°¡Áö ÆÐÅ°Áö°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù.
  • ¾Æ·¡ ¸í·É¾î¸¦ ÀÔ·ÂÇÏ¿© 3°¡Áö ÆÐÅ°Áö¸¦ ¸ðµÎ ¼³Ä¡ÇÕ´Ï´Ù.
$ yum install gcc gcc-c++ httpd-devel

9-1

  • È­¸é Áß°£¿¡ º¸½Ã¸é tar.gzÆÄÀÏÀÇ ¸µÅ©°¡ ÀÖ½À´Ï´Ù. ¿ìŬ¸¯ÇÏ¿© ¡®¸µÅ© ÁÖ¼Ò º¹»ç¡¯ ¸¦ ÅëÇØ ¸µÅ©¸¦ Ä«ÇÇÇÕ´Ï´Ù.
  • ´Ù¿î·Îµå ¹ÞÀ» µð·ºÅ丮 À§Ä¡·Î À̵¿ÇÑ ÈÄ ÆÄÀÏÀ» ¾Æ·¡ÀÇ ¸í·É¾î·Î ´Ù¿î·Îµå ¹Þ½À´Ï´Ù.
$ wget -c ¸µÅ©Ä«ÇÇÁÖ¼Ò

9-2

  • ´Ù¿î·Îµå ¹ÞÀº ÆÄÀÏÀÇ È®ÀåÀÚ°¡ tar.gzÀÔ´Ï´Ù. ÀÌ´Â ¾ÐÃàÆÄÀÏÀ̸ç, ¾ÐÃàÆÄÀÏÀ» ÇØÁ¦Çϱâ À§ÇØ ¾Æ·¡ÀÇ ¸í·É¾î¸¦ ½ÇÇàÇÕ´Ï´Ù.
$ tar zxvf tomcat-connector*
  • ¾ÐÃàÀÌ Ç®¸®¸ç µð·ºÅ丮°¡ »ý¼ºµÈ °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.

9-3

  • »ý¼ºµÈ µð·ºÅ丮 ¾È¿¡ nativeµð·ºÅ丮·Î µé¾î°©´Ï´Ù.

9-4

  • MakefileÀ» »ý¼ºÇϱâ À§ÇØ ¾Æ·¡ ¸í·É¾î¸¦ ½ÇÇàÇÕ´Ï´Ù.
  • ¿É¼Ç ³»¿ëÀº ApacheÈ®Àå±â´É ¼³Ä¡¸¦ µµ¿ÍÁÖ´Â À¯Æ¿¸®Æ¼ÀÇ °æ·ÎÀÔ´Ï´Ù.
  • ´Ù¸¥ ºí·Î±×³ª »çÀÌÆ®¿¡¼­ÀÇ ¼³¸í¿¡´Â /usr/sbin/¾Æ·¡ÀÇ °æ·Î·Î ÁöÁ¤À¸·Î ¼³¸íµÇ¾îÁ® Àִµ¥ Á¦°¡ ¼³Ä¡ ÇѹöÀüÀº /usr/bin °æ·Î¿¡ ÀÖ¾ú½À´Ï´Ù.
  • °æ·Î¿¡ ãÀ»¼ö ¾ø´Ù´Â ¿¡·¯°¡ ¹ß»ýÇϽŴٸé /usr/sbinÀÇ °æ·Îµµ Çѹø »ìÆ캸½Ã±â ¹Ù¶ø´Ï´Ù.
$ ./configure --with-apxs=/usr/bin/apxs

9-5

  • make¸í·É¾î·Î ÄÄÆÄÀÏÀ» ½ÇÇàÇÕ´Ï´Ù.
$ make
  • ÄÄÆÄÀÏ ¿Ï·áÈÄ install ÇÕ´Ï´Ù.
$ make install
  • install ÈÄ /etc/httpd/modules/ °æ·ÎÀÇ ÆÄÀÏ ¾È¿¡ mod_jk.soÆÄÀÏÀÌ »ý¼ºµÇ¾îÀÖÀ½À» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.

9-6

  • SelinuxÀÇ º¸¾È°ü·Ã ¼³Á¤À» º¯°æÇØÁÖ¾î¾ß Çϴµ¥¿ä, ¾Æ·¡ÀÇ ¸í·É¾î¸¦ ½ÇÇàÇÕ´Ï´Ù.
$ chcon -u system_u -r object_r -t httpd_modules_t /etc/httpd/modules/mod_jk.so

2. Apache ¼³Á¤

  • ApacheÀÇ ¼³Á¤Àº /etc/httpd/conf/httpd.conf ÆÄÀÏÀε¥ vi ¿¡µðÅÍ·Î ¿ÀÇÂÇÕ´Ï´Ù.
  • vi¿¡µðÅÍ Ã¢¿¡¼­ / ¸¦ ´©¸£°í LoadModuleÀ» ã¾Æ(¿£ÅÍÈÄ n¹öÆ°À» ´©¸£¸é ´ÙÀ½Ã£±â°¡ µË´Ï´Ù.) ±× ¾Æ·¡ÂÊ¿¡ ´ÙÀ½ÀÇ ³»¿ëÀ» Ãß°¡ÇÕ´Ï´Ù.
  • ½Ã¸®Áî ¿¬Àç¿¡¼­ ¸·¹ÙÁö¿¡ ¸í·É¾î¿Í vi ¿¡µðÅÍ Á¤¸® Æíµµ ´ã°Ú½À´Ï´Ù. 😆
$ vi /etc/httpd/conf/httpd.conf
LoadModule jk_module modules/mod_jk.so 
<VirtualHost *:80>
 ServerName localhost
  # È®ÀåÀÚ jsp, json, xml, do¸¦ °¡Áø °æ·Î´Â woker tomcatÀ¸·Î ¿¬°áÇÏ´Â ±¸¹®ÀÔ´Ï´Ù.     
  JkMount /*.jsp tomcat     
  JkMount /*.json tomcat     
  JkMount /*.xml tomcat     
  JkMount /*.do tomcat 
</VirtualHost>

9-7

  • È­¸é¿¡ º¸½Ã¸é conf.modules.d °æ·Î°¡ include°¡ µÈ °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù.
  • /etc/httpd/conf.modules.d °æ·Î¿¡ ÁøÀÔÇÏ¿© vi mod_jk.conf ¸¦ ½ÇÇàÇÏ¿© »õ·Î¿î ¼³Á¤ÆÄÀÏÀ» ¿ÀÇ ÇÕ´Ï´Ù.
$ vi /etc/httpd/conf.modules.d/mod_jk.conf
<IfModule mod_jk.c>
 # ¿öÄ¿ ¼³Á¤ÆÄÀÏ À§Ä¡
 JkWorkersFile conf/workers.properties
 # °øÀ¯ ¸Þ¸ð¸®ÆÄÀÏ À§Ä¡ ¹Ýµå½Ã Selinux º¸¾È¶§¹®¿¡ run¿¡ À§Ä¡ Çʼö     
 JkShmFile run/mod_jk.shm     
 # log À§Ä¡     
 JkLogFile logs/mod_jk.log     
 # ·Î±×·¹º§ ¼³Á¤     
 JkLogLevel info     
 # ·Î±× Æ÷¸Ë¿¡ »ç¿ëÇÒ ½Ã°£ Çü½ÄÀ» ÁöÁ¤ÇÑ´Ù.     
 JkLogStampFormat "[%y %m %d %H:%M:%S] " 
</IfModule>

9-8

  • :wq·Î ÀúÀåÇÏ°í ºüÁ® ³ª¿É´Ï´Ù.

  • ÀÌÁ¦ mod_jk.conf ÆÄÀÏ¿¡¼­ ¼³Á¤ÇÑ ¿öÄ¿ ¼³Á¤ ÆÄÀÏÀ» ¸¸µé Â÷·Ê ÀÔ´Ï´Ù.

  • ¼³Á¤ÇÑ °æ·Î°¡ /etc/httpd/conf/workers_jk.properties ÀÔ´Ï´Ù.
  • vi ·Î ÇØ´ç°æ·Î ¸¦ ¿ÀÇÂÇÏ¿© ÆÄÀÏÀ» »ý¼ºÇÕ´Ï´Ù.
$ vi /etc/httpd/conf/workers.properties
worker.list=tomcat 
worker.tomcat.port=8009 
worker.tomcat.host=localhost 
worker.tomcat.type=ajp13 
worker.tomcat.lbfactor=1
  • port¸¦ 8009·Î ¼³Á¤ÇÔÀº tomcatÀÇ server.xml¼³Á¤¿¡ ±âÀÎÇÕ´Ï´Ù. È®ÀÎÀº ¾Æ·¡¿¡¼­ °¡´ÉÇÕ´Ï´Ù.
$ vi /usr/share/tomcat/conf/server.xml

9-9

  • ¸¶Áö¸·À¸·Î ´Ù½Ã /etc/httpd/conf/httpd.confÆÄÀÏÀ» ¿­¾î Apache¿Í Tomcat DocumentÀ§Ä¡¸¦ ¸ÂÃß¾îÁÝ´Ï´Ù.
  • ¸ÂÃß¾î ÁÖÁö ¾ÊÀ¸¸é jsp ÆÄÀÏÀº º¸ÀÌÁö¸¸.. À̹ÌÁö¿Í CSS°¡ ·Îµå µÇÁö ¾Ê½À´Ï´Ù.
  • httpd.confÆÄÀÏÀ» ¿ÀÇÂÇÏ¿© DocumentRoot¸¦ °Ë»öÇÏ¿© TomcatÀÇ ¹®¼­ °æ·Î·Î º¯°æÇØÁÝ´Ï´Ù.
  • /usr/share/tomcat/webapps/ROOT ÀÔ´Ï´Ù.
$ vi /etc/httpd/conf/httpd.conf

9-10

±×¸®°í ¾Æ·¡ÀÇ Directory ±ÇÇÑÀ» Ãß°¡ÇØÁÝ´Ï´Ù.

<Directory "/usr/share/tomcat/webapps/ROOT">     
AllowOverride none     
Require all granted 
</Directory>

9-11

  • ¸¶Áö¸·À¸·Î ¾Æ·§ºÎºÐÀÇ Selinux¼³Á¤À» ÇØÁÝ´Ï´Ù.
$ chcon -R --type=httpd_sys_rw_content_t /usr/share/tomcat/webapps/ROOT
  • ÀÌÁ¦ °á°ú¸¦ È®ÀÎ Çϱâ À§ÇÏ¿© http://¾ÆÀÌÇÇ/index.jsp·Î µé¾î°¡º¾´Ï´Ù.
  • 8080Æ÷Æ® ¾øÀÌ ÁøÀÔÇߴµ¥ TomcatÈ­¸éÀÌ ³ª¿À½Ã¸é ¼º°øÀÔ´Ï´Ù.

9-12

Æ÷Æ® ¹øÈ£ ¾øÀ̵µ ÅèĹÀÇ È­¸éÀÌ º¸¿©Áý´Ï´Ù. ¿¬µ¿ ÀÛ¾÷ÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù. °¨»çÇÕ´Ï´Ù. ´ÙÀ½ ±ÛÀº ¼Ò½º °ü¸® ÅøÀÎ GitLab ¼³Ä¡ ÀÔ´Ï´Ù.




https://suwoni-codelab.com/linux/2017/05/29/Linux-CentOS-Apache-Tomcat/