APACHE TOMCAT ¿¬µ¿Çϱ⠖ MOD_JK
APACHE TOMCAT ¿¬µ¿Çϱ⠖ MOD_JK
Table of Contents [hide]
Tomcat À» ´Üµ¶À¸·Î ¿î¿µÇÏÁö´Â ¾Ê´Â´Ù. ¿©·¯ ¼¹ö¿¡¼ ¼³Ä¡ÇÑ ÈÄ¿¡ ÀÌ°ÍÀ» ºÎÇϺлêÇÏ´Â ¹æ¹ýÀ¸·Î ¿î¿µÇϴµ¥, ÀÚÁÖ ¾²ÀÌ´Â ¹æ¹ýÀÌ Tomcat ¾Õ´Ü¿¡ Apache À¥ ¼¹ö¸¦ µÎ°í ÀÌ µÑÀ» ¿¬°áÇØÁÖ´Â ¹æ¹ýÀ¸·Î »ç¿ëÀ» ÇÑ´Ù.
À̶§ ¿¬°á¹æ¹ýÀÌ ¿©·¯°¡Áö°¡ Àִµ¥, Tomcat °ú Apache ¸¦ À§ÇÑ Àü¿ëÀÇ ¸ðµâÀÌ Àִµ¥ ±×°ÍÀÌ ¹Ù·Î mod_jk ÀÌ´Ù. mod_jk ´Â AJP ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇؼ ÀÌ µÑÀ» ¿¬°áÇØÁִµ¥, ´Ù¸¥ ¿¬°áµéº¸´Ù ¼º´ÉÀÌ ¿ì¼öÇÏ´Ù.
ȯ°æ
À̹ø Å×½ºÆ®ÇÑ È¯°æÀº ´ÙÀ½°ú °°´Ù.
- OS: CentOS7 x86_64
- Java Version: jdk-1.8.0_u65
- WAS: Tomcat 8.0.30
±×¸®°í ¼¹ö´Â ÇÑ´ëÀÌ°í Tomcat À» ¿©·¯°³ ¼³Ä¡Çß´Ù. À̶§¿¡ ÇϳªÀÇ Tomcat À»°¡Áö°í ¸ÖƼÀνºÅϽº »ý¼º¹æ¹ýÀ» »ç¿ëÇß´Ù. °¢°¢ÀÇ WAS ¼¹öÀÇ Á¤º¸´Â ´ÙÀ½°ú °°´Ù.
- instance1, 8109 AJP Port
- instance2, 8209 AJP Port
- instance3, 8309 AJP Port
Apache À¥ ¼¹ö´Â CentOS 7 ¿¡ Yum À» ÀÌ¿ëÇؼ ¼³Ä¡Çß´Ù. À̶§ ¼³Ä¡ÇÒ¶§¿¡ ¡°httpd-devel.x86_64¡± µµ ÇÔ²² ¼³Ä¡ÇØÁà¾ß ÇÑ´Ù.
mod_jk ¼³Ä¡
mod_jk ´Â Apache ȨÆäÀÌÁö¿¡¼ ´Ù¿î·Îµå °¡´ÉÇÏ´Ù.
¼³Ä¡´Â apxs ¸¦ ÀÌ¿ëÇؼ Apache ¸ðµâ·Î ¼³Ä¡¸¦ ÇØÁÖ¸é ³¡³ª°Ô µÈ´Ù.
À§¿Í°°ÀÌ ¿À·ù¾øÀÌ libtool ·Î ¼³Ä¡°¡ ¿Ï·áµÇ¸é Á¤»óÀÌ´Ù.
mod_jk ¼³Á¤
mod_jk ¿¡ ´ëÇÑ ¼³Á¤Àº ±âº»ÀûÀ¸·Î µÎ°¡Áö Ãø¸é¿¡¼ ÀÌ·ç¾îÁø´Ù. ù°´Â Apache À¥¼¹ö¿¡¼ mod_jk ¸¦ Çڵ鸵À» ¾î¶»°Ô ÇÒ°ÇÁö¿¡ ´ëÇÑ ¼³Á¤ÀÌ°í µÎ¹ø°´Â mod_jk °¡ Apache·ÎºÎÅÍ ¹ÞÀº ¿äûÀ» ¾î¶»°Ô Tomcat ¿¡ Àü´ÞÇÒ °ÍÀÎÁö¿¡ ´ëÇÑ °ÍÀÌ´Ù.
Apache À¥¼¹ö¿¡¼ mod_jk ¼³Á¤
mod_jk ¸¦ Á¤»óÀûÀ¸·Î ÄÄÆÄÀÏ ¼³Ä¡Çß´Ù¸é Apache À¥¼¹ö¿¡¼ À̸¦ ÀνĽÃÄÑÁÖ°í ¼³Á¤À» ÇØÁà¾ß ÇÑ´Ù.
¿©±â¼ ÇÑ°¡Áö ÁÖÀÇÇؾßÇÒ °ÍÀÌ Àִµ¥, CentOS7 ¿¡¼ Yum À¸·Î ¼³Ä¡ÇÑ Apache ÀÇ °æ¿ì¿¡´Â ¼³Á¤Çϴµ¥ Ä«Å×°í¸®º°·Î µð·ºÅ丮¸¦ ºÐ¸®¸¦ Çسù´Ù.
- ¸ðµâ ·Îµù ¼³Á¤ µð·ºÅ丮: /etc/httpd/conf.modules.d
- ¸ðµâº° ¼³Á¤ µð·ºÅ丮: /etc/httpd/conf.d
¸ðµâÀ» ·ÎµùÇϱâ À§Çؼ ´ÙÀ½°ú °°ÀÌ conf.modules.d µð·ºÅ丮¿¡¼ ÆÄÀÏÀ» ÀÛ¼ºÇÑ´Ù.
ÀÌ·¸°Ô ÇÏ°í³ª¼ ´ÙÀ½°ú °°ÀÌ ¹®¹ý Å×½ºÆ®¸¦ ÇØÁØ´Ù. ÀÌ ¹®¹ý Å×½ºÆ®´Â ¼³Á¤À» º¯°æÇÒ¶§¸¶´Ù ÇØÁÖ´Â °ÍÀÌ ÁÁ´Ù.
ÀÌÁ¦ Apache ¿¡¼ mod_jk ¿¡ ´ëÇÑ ¼³Á¤À» ´ÙÀ½°ú °°ÀÌ ÇØÁØ´Ù.
±âº»ÀûÀÎ ¼³Á¤Àº À§¿Í °°´Ù. ÀúÀåÇÑ ´ÙÀ½¿¡ ¡°workers.properties¡±, ¡°uriworkermap.properties¡± ºó ÆÄÀÏÀ» ¸¸µé¾î ÁÝ´Ï´Ù. Apache ¹®¹ý Å×½ºÆ®¸¦ Çغ¸°í ¿À·ù°¡ ¾ø´Ù¸é Á¤»óÀÌ´Ù.
mod_jk worker ¼³Á¤
ÀÌ ¼³Á¤Àº Apache ¿Í Tomcat °£¿¡ ¾î¶»°Ô ¿¬°áÀ» ÇؾßÇÏ´ÂÁö¿¡ ´ëÇØ Á¤ÀÇÇÑ´Ù. ÀÌ ÆÄÀÏÀº À§¿¡ ¡°httpd-jk.conf¡± ÆÄÀÏ¿¡¼ ¡°conf.d/workers.properties¡± ·Î Á¤ÀǵǾî ÀÖ´Ù.
¿©±â¼ °í·ÁÇؾßÇÒ »çÇ×Àº ´ÙÀ½°ú °°´Ù.
- worker À̸§: worker À̸§Àº Á¤Çϱ⠳ª¸§ÀÌÁö¸¸ °¢°¢ µÞ´ÜÀÇ Tomcat ¼¹ö¸¦ ±¸ºÐÇÒ ¼ö ÀÖ´Â À̸§ÀÌ¿©¾ß ÇÑ´Ù. ÀÌ worker À̸§Àº ³ªÁß¿¡ ·Îµå¹ë·±½ÌÀ» ÇÒ¶§¿¡ Tomcat ¿¡µµ Àû¿ëµÇ¾îÁö´Â À̸§À̱⿡ Àß ¼³Á¤ÇØ¾ß ÇÑ´Ù.
- worker port: ¿©±â¼ ¸»ÇÏ´Â port ´Â µÞ´Ü Tomcat ¼¹öÀÇ AJP Æ÷Æ®¸¦ ¸»ÇÑ´Ù.
- worker type: ÀÌ°Ç ajp13 À¸·Î ¼³Á¤ÇÏ¸é µÈ´Ù.
- worker lbfactor: ºÎÇϺлêÀ» À§ÇÑ ¼³Á¤À¸·Î µÞ´Ü Tomcat ¼¹öµé¿¡ ¿¬°á ¹«°Ô¸¦ ¼³Á¤ÇØÁØ´Ù.
mod_jk uriworkermap ¼³Á¤
ÀÌ ¼³Á¤Àº ƯÁ¤ URI ¿¡ ´ëÇؼ mod_jk ÀÇ woker °¡ µ¿ÀÛÇϵµ·Ï Çؼ ¿äûÀ» Tomcat ¿¡ ³Ñ±æ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. Apache – Tomcat ±¸Á¶¿¡¼ ÃÖÃÊÀÇ ¿äûÀº Apache °¡ ¹Þ¾Æ URI ¸¦ Çؼ®Çϴµ¥, ÀÌ ¼³Á¤À» ÇØÁÖ¸é ƯÁ¤ URI ¿¡ ´ëÇؼ Apache °¡ Tomcat ¿¡°Ô ³Ñ±â°Ô µÈ´Ù.
¿©±â¼ °£´ÜÇÑ ½Ã³ª¸®¿À¸¦ »ý°¢Çغ¸ÀÚ. ÇöÀç±îÁö ¼³Á¤Àº ºÎÇϺлê(Loadbalance) °¡ ¾ø´Â °ÍÀÌ´Ù. °¢ 3´ëÀÇ Tomcat ÀνºÅϽº¿¡ ´ëÇؼ µ¿ÀÏÇÑ ¹«°Ô¸¦ ÁÖ¾úÀ» »ÓÀÌ´Ù. ÀÌ·¸°ÔµÇ¸é ƯÁ¤ URI ¿äûÀÌ ÀÖÀ»¶§¿¡ ¾î´À Tomcat ÀνºÅϽº·Î º¸³¾°ÍÀÎÁöµµ ¹®Á¦°¡ µÈ´Ù.
Å×½ºÆ®¸¦ À§Çؼ Tomcat ¼³Ä¡½Ã ³ª¿À´Â ¸ÞÀÎÆäÀÌÁö¸¦ ±âÁØÀ¸·Î Çϱâ·Î Çß´Ù. ÀÌ ÆäÀÌÁö¸¦ µé¿©´Ùº¸¸é jsp, png, css ÆÄÀϵé·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. ±×·¯¸é jsp ´Â instance1 ¼¹ö°¡ ¼ºùÀ» ÇÏ°ÔÇÏ°í png ´Â instance2 ÀÌ css ´Â instance3 ÀÌ ÇÏ°Ô ÇÏ¸é ¾î¶³±îÇÏ´Â ½Ã³ª¸®¿À¸¦ ¸¸µé°í À̸¦ ¼³Á¤¿¡ Àû¿ëÇØ º¸ÀÚ.
Å×½ºÆ®
Å×½ºÆ®´Â °£´ÜÇÏ´Ù. ºê¶ó¿ìÀú¸¦ ½ÇÇà½ÃÅ°°í http://apache-server-ip/index.jsp ÁÖ¼Ò·Î À̵¿Çغ¸´Â °ÍÀÌ´Ù. À̶§ Tomcat Ãʱ⠸ÞÀÎȸéÀÌ ³ª¿Â´Ù¸é Á¤»óÀÌ´Ù.
±×·±µ¥, ¼³Á¤¿¡¼ jsp ´Â instance1ÀÌ png ÆÄÀÏÀº instance2 ÀÌ css ÆÄÀÏÀº instance3 ÀÌ Ã³¸®Çϵµ·Ï ¼³Á¤Çß¾ú´Ù. ±×·¸´Ù¸é ½ÇÁ¦·Î ±×·¸°Ô µÇ°í ÀÖ´ÂÁö È®ÀÎÀ» ÇؾßÇϴµ¥ È®Àιæ¹ýÀº °¢°¢ Tomcat ÀνºÅϽº¿¡ Á¢¼Ó ·Î±×¸¦ È®ÀÎÇÏ¸é µÈ´Ù.
³»°¡ È®ÀÎÇغ» ¹Ù·Î´Â ¿øÇϴ´ë·Î ·Î±×°¡ ÂïÇû´Ù.
·Îµå¹ë·±½º ¼³Á¤
¾Õ¿¡ ¿¹Á¦µéÀº ·Îµå¹ë·±½º ¼³Á¤°ú´Â °ü°è°¡ ¾ø´Ù. ·Îµå¹ë·±½º¶ó°í Çϸé instance1 ÀνºÅϽº°¡ ÀÀ´äÇÏÁö ¾ÊÀ» °æ¿ì¿¡ ´Ù¸¥ ¼¹öµéÀÌ ±× ¿ªÈ°À» ´ë½ÅÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù. À̸¦ À§Çؼ´Â woker ¼³Á¤°ú urlworkermap ¼³Á¤À» º¯°æÇØÁÖ¾î¾ß ÇÑ´Ù.
ÀÏ´Ü, Å×½ºÆ®¸¦ À§ÇÑ ½Ã³ª¸®¿À´Â ¾Õ¿¡¼ ¼ºùÇß´ø jsp, png, css ÆÄÀϵéÀº °¢°¢ÀÇ ÀνºÅϽºµéÀÌ ¸ðµÎ Á¦°øÇÏ´Â °ÍÀ¸·Î ÇÑ´Ù. ÀÌ·¸°ÔµÇ¸é urlworkermap ¼³Á¤Àº ´ÙÀ½°ú °°ÀÌ ¹Ù²ãÁÖ¸é µÈ´Ù.
worker À̸§À» balancer ¶ó°í Çߴµ¥, ÀÌ´Â worker ¼³Á¤ÆÄÀÏ¿¡¼ »ç¿ëÇÒ °ÍÀÌ´Ù.
·Îµå¹ë·±½º´Â ƯÁ¤ ÀνºÅϽº°¡ Á×¾úÀ» °æ¿ì¿¡ ´Ù¸¥ ¼¹ö°¡ ±× ¿ªÈ°À» ´ë½ÅÇÏ´Â °ÍÀÌ´Ù. À̸¦ À§Çؼ ·Îµå¹ë·±½º ¿ªÈ°À» À§ÇÑ worker À̸§À» Á¤ÀÇÇÏ°í ±× worker ¿¡ ·Îµå¹ë·±½º¸¦ À§ÇÑ worker À̸§À» Á¤ÀÇÇØÁÖ¸é µÈ´Ù. ±âÁ¸ÀÇ worker ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ ·Îµå¹ë·±½º ³»¿ëÀ» Ãß°¡ÇÏ¸é µÈ´Ù.
°Á¶ÇÑ ¶óÀÎÀ» ÁÖÀDZí°Ô º¸±â ¹Ù¶õ´Ù.
ÇÑ°¡Áö ´õ, Tomcat ÀνºÅϽºµé¿¡°Ô ¼³Á¤À» ÇØÁà¾ß ÇÑ´Ù. JvmRoute ¼³Á¤À̶ó°í Çϴµ¥, ÀÌ ¼³Á¤À» À§ÇÑ ¹æ¹ýÀº µÎ°¡Áö°¡ ÀÖ´Ù. ù°´Â System.property ¸¦ ÀÌ¿ëÇÑ ¹æ¹ýÀÌ°í µÎ¹ø°´Â server.xml À» ÆíÁýÇÏ´Â ¹æ¹ýÀÌ´Ù.
ù¹ø° ¹æ¹ýÀº Tomcat ÀνºÅϽº ±¸µ¿½Ã¿¡ Ä¿¸Çµå¶óÀÎÀ¸·Î °ªÀ» ³Ö¾îÁÖ´Â °ÍÀ¸·Î ´ÙÀ½°ú °°ÀÌ ÇØÁÖ¸é µÈ´Ù.
º¸Åë Tomcat ÀÇ ½ÃÀÛ ½ºÅ©¸³Æ®´Â JVM_OPTS ¿É¼ÇÀ» ÀνÄÇÑ´Ù. À§¿Í°°ÀÌ Tomcat ÀνºÅϽºÀÇ ½ÃÀÛ ½ºÅ©¸³Æ®¿¡ Ä¿¸Çµå ¶óÀÎ ¿É¼ÇÀ¸·Î jvmRoute À̸§À» ÁÖ¸é ÀνÄÇÏ°Ô µÈ´Ù.
µÎ¹ø°´Â server.xml ÆÄÀÏÀ» ´ÙÀ½°ú °°ÀÌ ÆíÁýÇÏ´Â °ÍÀÌ´Ù.
À§¿Í°°ÀÌ ¼³Á¤ÇØÁÖ¸é µÈ´Ù.
¸¸ÀÏ µÎ°¡Áö ¼³Á¤À» ¸ðµÎ ÇßÀ» °æ¿ì¿¡´Â server.xml ÆÄÀÏ ¼³Á¤ÀÌ ¿ì¼±µÇ¾î Àû¿ëµÈ´Ù.
Å×½ºÆ®
ÆíÇÑ ¹æ¹ýÀ¸·Î ¼³Á¤ÇÏ°í Apache¿Í Tomcat ÀνºÅϽº¸¦ Àç½ÃÀÛÇØÁÖ°í index.jsp ¸¦ È£ÃâÇغ¸¸é µÈ´Ù.
HTTP Á¢¼Ó Æ÷Æ® ²ô±â
ÀÌ·¸°Ô Apache – Tomcat ¿¬µ¿À» ÇÏ°í³ª¸é ¹Ýµå½Ã Tomcat ÀνºÅϽºÀÇ HTTP Á¢¼Ó Æ÷Æ®¸¦ Disable ÇØÁÖ´Â°É ÀØÁö ¸»¾Æ¾ß ÇÑ´Ù.