ÃֽŠ°Ô½Ã±Û(OS/WAS)
2018.03.12 / 01:04

APACHE TOMCAT ¿¬µ¿Çϱ⠖ MOD_JK

ÈÞ°í
Ãßõ ¼ö 185

APACHE TOMCAT ¿¬µ¿Çϱ⠖ MOD_JK

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 ÇØÁÖ´Â°É ÀØÁö ¸»¾Æ¾ß ÇÑ´Ù.