ÃֽŠ°Ô½Ã±Û(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
- http://tomcat.apache.org/download-connectors.cgi ¸µÅ© À§Ä¡ ÁÖ¼Ò·Î ¹æ¹®ÇÏ¿© ÃֽŠ´Ù¿î·Îµå ÆÄÀÏ ¸µÅ©¸¦ È®ÀÎ ÇÕ´Ï´Ù.
- ȸé Áß°£¿¡ º¸½Ã¸é tar.gzÆÄÀÏÀÇ ¸µÅ©°¡ ÀÖ½À´Ï´Ù. ¿ìŬ¸¯ÇÏ¿© ¡®¸µÅ© ÁÖ¼Ò º¹»ç¡¯ ¸¦ ÅëÇØ ¸µÅ©¸¦ Ä«ÇÇÇÕ´Ï´Ù.
- ´Ù¿î·Îµå ¹ÞÀ» µð·ºÅ丮 À§Ä¡·Î À̵¿ÇÑ ÈÄ ÆÄÀÏÀ» ¾Æ·¡ÀÇ ¸í·É¾î·Î ´Ù¿î·Îµå ¹Þ½À´Ï´Ù.
$ wget -c ¸µÅ©Ä«ÇÇÁÖ¼Ò
- ´Ù¿î·Îµå ¹ÞÀº ÆÄÀÏÀÇ È®ÀåÀÚ°¡ tar.gzÀÔ´Ï´Ù. ÀÌ´Â ¾ÐÃàÆÄÀÏÀ̸ç, ¾ÐÃàÆÄÀÏÀ» ÇØÁ¦Çϱâ À§ÇØ ¾Æ·¡ÀÇ ¸í·É¾î¸¦ ½ÇÇàÇÕ´Ï´Ù.
$ tar zxvf tomcat-connector*
- ¾ÐÃàÀÌ Ç®¸®¸ç µð·ºÅ丮°¡ »ý¼ºµÈ °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
- »ý¼ºµÈ µð·ºÅ丮 ¾È¿¡ nativeµð·ºÅ丮·Î µé¾î°©´Ï´Ù.
- MakefileÀ» »ý¼ºÇϱâ À§ÇØ ¾Æ·¡ ¸í·É¾î¸¦ ½ÇÇàÇÕ´Ï´Ù.
- ¿É¼Ç ³»¿ëÀº ApacheÈ®Àå±â´É ¼³Ä¡¸¦ µµ¿ÍÁÖ´Â À¯Æ¿¸®Æ¼ÀÇ °æ·ÎÀÔ´Ï´Ù.
- ´Ù¸¥ ºí·Î±×³ª »çÀÌÆ®¿¡¼ÀÇ ¼³¸í¿¡´Â /usr/sbin/¾Æ·¡ÀÇ °æ·Î·Î ÁöÁ¤À¸·Î ¼³¸íµÇ¾îÁ® Àִµ¥ Á¦°¡ ¼³Ä¡ ÇѹöÀüÀº /usr/bin °æ·Î¿¡ ÀÖ¾ú½À´Ï´Ù.
- °æ·Î¿¡ ãÀ»¼ö ¾ø´Ù´Â ¿¡·¯°¡ ¹ß»ýÇϽŴٸé /usr/sbinÀÇ °æ·Îµµ Çѹø »ìÆ캸½Ã±â ¹Ù¶ø´Ï´Ù.
$ ./configure --with-apxs=/usr/bin/apxs
- make¸í·É¾î·Î ÄÄÆÄÀÏÀ» ½ÇÇàÇÕ´Ï´Ù.
$ make
- ÄÄÆÄÀÏ ¿Ï·áÈÄ install ÇÕ´Ï´Ù.
$ make install
- install ÈÄ /etc/httpd/modules/ °æ·ÎÀÇ ÆÄÀÏ ¾È¿¡ mod_jk.soÆÄÀÏÀÌ »ý¼ºµÇ¾îÀÖÀ½À» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
- 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>
- ȸ鿡 º¸½Ã¸é 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>
: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
- ¸¶Áö¸·À¸·Î ´Ù½Ã /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
±×¸®°í ¾Æ·¡ÀÇ Directory ±ÇÇÑÀ» Ãß°¡ÇØÁÝ´Ï´Ù.
<Directory "/usr/share/tomcat/webapps/ROOT">
AllowOverride none
Require all granted
</Directory>
- ¸¶Áö¸·À¸·Î ¾Æ·§ºÎºÐÀÇ Selinux¼³Á¤À» ÇØÁÝ´Ï´Ù.
$ chcon -R --type=httpd_sys_rw_content_t /usr/share/tomcat/webapps/ROOT
- ÀÌÁ¦ °á°ú¸¦ È®ÀÎ Çϱâ À§ÇÏ¿© http://¾ÆÀÌÇÇ/index.jsp·Î µé¾î°¡º¾´Ï´Ù.
- 8080Æ÷Æ® ¾øÀÌ ÁøÀÔÇߴµ¥ TomcatȸéÀÌ ³ª¿À½Ã¸é ¼º°øÀÔ´Ï´Ù.
Æ÷Æ® ¹øÈ£ ¾øÀ̵µ ÅèĹÀÇ È¸éÀÌ º¸¿©Áý´Ï´Ù. ¿¬µ¿ ÀÛ¾÷ÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù. °¨»çÇÕ´Ï´Ù. ´ÙÀ½ ±ÛÀº ¼Ò½º °ü¸® ÅøÀÎ GitLab ¼³Ä¡ ÀÔ´Ï´Ù.
https://suwoni-codelab.com/linux/2017/05/29/Linux-CentOS-Apache-Tomcat/