ÃֽŠ°Ô½Ã±Û(OS/WAS)
2018.07.30 / 10:21

ÅèÄÏ ¹öÃß¾ó È£½ºÆà + server.xml ¼³Á¤

summerman
Ãßõ ¼ö 116

¿¹¸¦µé¾î ¾î¶² È£½ºÆà ȸ»ç°¡ 100¿©°³ÀÇ »çÀÌÆ®¸¦ ¿î¿µÁßÀ̶ó°í ÇÑ´Ù¸é, ÇØ´ç °¹¼ö¸¸Å­ÀÇ ¼­¹ö ȤÀº VM(°¡»ó¿î¿µÃ¼Á¦)ÀÌ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù.
¹°·Ð 100¿©°³ÀÇ »çÀÌÆ®°¡ ¸ðµÎ ¾öû³­ Á¢¼Ó·®À» °¡Áö°í ÀÖ´Ù¸é ¿ÀÈ÷·Á 100°³ÀÌ»óÀÇ ¼­¹ö°¡ ÇÊ¿äÇÏ°ÚÁö¸¸,
ÀϹÝÀûÀ¸·Î ¼Ò¼öÀÇ »çÀÌÆ®¿¡ Æ®·¡ÇÈÀÌ ¸ô¸®¸ç ³ª¸ÓÁö ¼­¹öµéÀº ±âº»ÀÚ¿ø(¿î¿µÃ¼Á¦ ±¸µ¿À»À§ÇÑ)ÀÌ ´ëºÎºÐÀÓÀ¸·Î »ó´çÇÑ ÀÚ¿øÀÌ ³¶ºñµÉ °Í ÀÔ´Ï´Ù.
À̶§ ÇØ°áÃ¥Àº ¹Ù·Î ¹öÃß¾ó È£½ºÆÃÀÔ´Ï´Ù.
¹öÃß¾ó È£½ºÆÃÀº ÇϳªÀÇ À¥ ¼­¹ö¾È¿¡ ´Ù¼öÀÇ ¾îÇø®ÄÉÀ̼Ç(¿©±â¼­´Â ÁÖ·Î »çÀÌÆ®)À» µ¹·Á Çϵå¿þ¾î³ª ¿î¿µÃ¼Á¦°¡ ¼Ò¸ðÇÏ´Â ±âº»ÀÚ¿øÀÇ ¼Ò¸ð·®À» ÁÙÀÌ´Â ¹æ¹ýÀÔ´Ï´Ù.
´õ ½±°Ô ¼³¸íÇϸé
ÇÑ´ëÀÇ ÄÄÇ»ÅÍ·Î ¿©·¯°³ÀÇ °¡»ó ¿î¿µÃ¼Á¦¸¦ °¡µ¿Çϸé -> ¹öÃß¾ó ¸Ó½Å
- ÇÑ´ëÀÇ ¹°¸®Àû ÄÄÇ»ÅÍ·Î Å« ÀÚ¿øÀ» ¼Ò¸ðÇÏÁö ¾Ê´Â ¿©·¯°³ÀÇ ¿î¿µÃ¼Á¦¸¦ µ¹¸°´Ù¸é Àü±â¿ä±Ý °°Àº ¹°¸®Àû ÀÚ¿ø¿¡¼­ À̵æÀ» ¾ò´Â´Ù.
ÇÑ´ëÀÇ ÄÄÇ»ÅÍ ÇϳªÀÇ ¿î¿µÃ¼Á¦ ÇϳªÀÇ À¥¼­¹ö·Î ¿©·¯°³ÀÇ À¥È£½ºÆ®¸¦ °¡µ¿Çϸé -> ¹öÃß¾ó È£½ºÆ®
- ¹öÃß¾ó ¸Ó½Å°°Àº °æ¿ìµµ °¢ °¡»ó¸Ó½Å¸¶´Ù ¿î¿µÃ¼Á¦¸¦ °¡µ¿½ÃÅ°±âÀ§ÇÑ ±âº»ÀÚ¿øÀÌ ¼Ò¸ðµÊÀ¸·Î ¹öÃß¾ó È£½ºÆÃÀ» ÇÏ¸é ´õ È¿À²ÀûÀÔ´Ï´Ù. (¹°·Ð ºÙ¾îÀÖ´Â À¯ÀúµéÀº ¿î¿µÃ¼Á¦°¡ ¾Æ´Ñ ÇϳªÀÇ È£½ºÆ®¸¸ °¡Áö°í ÀÖÀ½À¸·Î ÀÚÀ¯µµ°¡ ÁÙ¾îµì´Ï´Ù.)
ÅèÄÏÀ» ºñ·ÔÇÑ °ÅÀÇ ¸ðµç À¥¼­¹ö´Â ¹öÃß¾ó È£½ºÆ®¸¦ Áö¿øÇÕ´Ï´Ù.


ÅèÄÏ ¹öÃß¾ó È£½ºÆà ¼³Á¤Çϱâ
ÅèÄÏÆú´õ/conf ·Î°¡°ÔµÇ¸é ¾Æ·¡¿Í °°Àº ¼³Á¤ÆÄÀϵéÀÌ ÀÖ½À´Ï´Ù. (ÀϺΠ»ý·«)
context.xml : ÄÁÅؽºÆ® ¼³Á¤ (°øÅë)
server.xml : ¼­¹ö ¼³Á¤
tomcat-users.xml : ÅèÄÏ Á¢±Ù ±â´É À¯Àú/±ÇÇÑ ¼³Á¤
web.xml : À¥ ¼³Á¤ (°øÅë)
server.xml À» ¿ÀÇÂÇÕ´Ï´Ù.
Å©°Ô <Service> <Connector> <Engine> <Host> °¡ ÀÖ½À´Ï´Ù.
Service, Connector : ¼­ºñ½º ´ÜÀ§, ¿¬°á¼³Á¤ // ¼­ºñ½º ´ÜÀ§¸¦ ¿©·¯°³ ¸¸µé°í Connector ¸¦ ÅëÇØ 80Æ÷Æ® / 8080Æ÷Æ® / 443(SSL/TSL)µî ¿©·¯°³ÀÇ Æ÷Æ®¸¦ ¿­¾î ¼­ºñ½ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
Engine : Connector°ú ¸¶Âù°¡Áö·Î Service ¾Æ·¡ ´ÜÀ§·Î Connector¼³Á¤ÀÌ ¹Ý¿µµÇ°í ÇÏÀ§ °´Ã¼ÀÔ´Ï´Ù.
Host : óÀ½ 1°³¸¸ ¼³Á¤µÇ¾îÀÖÀ» °Ì´Ï´Ù. ÀÌ°ÍÀÌ °¢ È£½ºÆ®ÀÔ´Ï´Ù.
¾Æ¸¶ óÀ½ »óŶó¸é ´ÙÀ½°ú °°ÀÌ ¼³Á¤µÇ¾îÀÖÀ» °ÍÀÔ´Ï´Ù.
  1. <Engine name="Catalina" defaultHost="localhost">
  2. ...
  3. <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
  4. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />
  5. </Host>
  6. ...
  7. </Engine>
Engine
- defaultHost : Host[name]°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â È£½ºÆ®·Î Á¢¼Ó½Ã ±âº»°ªÀ¸·Î ´ëóÇÒ È£½ºÆ®ÀÔ´Ï´Ù.
- ¿¹¸¦µé¾î 127.0.0.1 ·Î Á¢¼ÓÇÑ °æ¿ì ¾Æ·¡ Host[name]¿¡´Â localhost ¹Û¿¡ ¾ø¾î ÀÏÄ¡ÇÏ´Â °ÍÀÌ ¾øÁö¸¸ ±âº»°ª localhost¸¦ º¸°í localhost·Î ÇÒ´çÇÏ°Ô µË´Ï´Ù.
Host
- Âü°í : https://tomcat.apache.org/tomcat-9.0-doc/config/host.html
- name : È£½ºÆ® À̸§ÀÔ´Ï´Ù. ¿¹¸¦µé¾î¼­ µµ¸ÞÀÎÀ̸§ gs.saro.me ·Î Á¢¼ÓÇÑ°æ¿ì Host[name]ÀÌ gs.saro.me ÀΰÍÀ» ã°í ¾øÀ¸¸é À§ ¼³¸íó·³ Engine[defaultHost]ÀÇ °ªÀ¸·Î Á¢¼ÓÇÕ´Ï´Ù.
- appBase : ±âº» °æ·ÎÀÔ´Ï´Ù. ¿¹¸¦µé¾î webapps ¶ó¸é [ÅèÄϱ⺻°æ·Î/webapps] ¸¦ ±âº»À¸·Î Á¢¼ÓÇϰԵ˴ϴÙ.
- unpackWARs (war ÆÄÀÏ ÀÚµ¿¾ðÆÑ), autoDeploy(ÀÚµ¿ µðÇ÷ÎÀÌ) : https://tomcat.apache.org/tomcat-9.0-doc/config/host.html#Automatic_Application_Deployment
Valve
- Âü°í : https://tomcat.apache.org/tomcat-9.0-doc/config/valve.html
- °¢ È£½ºÆ® Á¢¼Ó½Ã ¿µÇâÀ» ÁÖ´Â °ÍµéÀ̶ó°í º¸¸éµË´Ï´Ù.
- RemoteAddrValve °°ÀÌ IP ÇÊÅÍ°°Àº ÇÊÅÍ ¿ªÈ°À» ÇÏ´Â °ÍµµÀÖ°í Á¾·ùµµ ´Ù¾çÇÕ´Ï´Ù.
- ÇöÀç °­ÀÇ¿Í´Â ¿¬°üÀÌ Àû´Ùº¸´Ï ±Ã±ÝÇϽźеéÀº À§ Âü°í»çÇ×À» Àо½Ã±â ¹Ù¶ø´Ï´Ù.
±×·¸´Ù¸é 127.0.0.1 °ú localhost ½Ã¿¡ ¼­·Î ´Ù¸¥ »çÀÌÆ®°¡ ¼³Á¤µÇµµ·Ï Çغ¸°Ú½À´Ï´Ù.
(·Î±×¹ëºê´Â »ý·«Çϵµ·Ï ÇÏ°Ú½À´Ï´Ù.)
  1. <Engine name="Catalina" defaultHost="localhost">
  2. ...
  3. <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
  4. </Host>
  5. <Host name="127.0.0.1" appBase="myHosts/ip" unpackWARs="true" autoDeploy="true">
  6. </Host>
  7. ...
  8. </Engine>
ÀÌ·¸°Ô µÈ°æ¿ì ¾Æ·¡¿Í °°ÀÌ µ¿ÀÛÇÏ°Ô µË´Ï´Ù.
localhost ·Î Á¢¼ÓÇÑ°æ¿ì : ÅèÄÏ°æ·Î/webapps/ROOT ½ÇÇà : ÅèÄϱ⺻ÆäÀÌÁö
127.0.0.1 ·Î Á¢¼ÓÇÑ°æ¿ì : ÅèÄÏ°æ·Î/myHosts/ip/ROOT ½ÇÇà : ±âº»ÀûÀ¸·Î Æú´õ´Â »ý¼ºÇØÁּžßÇÕ´Ï´Ù.
ÅèÄÏÀ» Àç½ÃÀÛÇϸé Á¤»óÀûÀ¸·Î À§¿Í°°ÀÌ ÀÛµ¿ÇÒ °Í ÀÔ´Ï´Ù.
ÇÏÁö¸¸ ipÀÇ °æ¿ì maven deploy °¡ ÀÛµ¿ÇÏÁö ¾Ê½À´Ï´Ù.
ÀÌÀ¯´Â manager°¡ ¼³Á¤µÇÁö ¾Ê¾Æ¼­ ÀÔ´Ï´Ù.
- ¾î¶² °­ÀÇµé º¸¸é webapps ¿¡¼­ manager¸¦ º¹»çÇ϶ó´Â ¸»ÀÌÀִµ¥... ±ÇÀåÇÏ´Â ¹æ¹ýÀÌ ¾Æ´Õ´Ï´Ù.
1. ÅèÄÏÆú´õ/conf/¿£ÁøÀ̸§<±âº»°ª:Catalina>/127.0.0.1/ Æú´õ·Î À̵¿ÇÕ´Ï´Ù.
2. manager.xml À» ¾Æ·¡¿Í °°ÀÌ ÀÛ¼ºÇÕ´Ï´Ù. (ÅèÄÏ¿¡¼­ ±ÇÀåÇÏ´Â ±âº»°ª : È£½ºÆ®¸Å´ÏÀú·Î »ý¼ºÇÒ°æ¿ì ÀÌ ÆÄÀÏÀ» ÀÚµ¿À¸·Î »ý¼ºÇØÁØ´Ù.)
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Context docBase="${catalina.home}/webapps/manager" privileged="true" antiResourceLocking="false" >
  3. </Context>
3. ÅèÄÏÀ» Àç½ÃÀÛÇÕ´Ï´Ù.
ÀÌÁ¦ http://127.0.0.1 ·Îµµ maven deploy °¡ ÀÛµ¿ÇÏ°Ô µË´Ï´Ù.
- ${catalina.home}/webapps/manager} À» ´ë½ÅÇؼ­ ¿­¾îÁֱ⠶§¹®.
ÀÌ·¸°Ô ¹öÃß¾ó È£½ºÆÃÀº ¿Ï·áµÇ¾ú½À´Ï´Ù.!!


ºÎ·Ï : ¿Ö ROOT Æú´õÀΰ¡? + Context
ÅèÄÏ manager¸¦ À¥À̳ª mavenÀ» ÅëÇؼ­ ÀÌ¿ëÇØ º¸¼Ì´Ù¸é ROOT ·Î deploy ÇÒ °æ¿ì ¸ÞÀÎÀ¸·Î ÀÛµ¿ÇÏ´Â °ÍÀ» º¼¼ö ÀÖ½À´Ï´Ù.
ÀÌÀ¯´Â ¾Æ·¡¿Í °°ÀÌ host ¾Æ·¡ Context °ªÀ» ³ÖÁö ¾ÊÀ» °æ¿ì ±âº»°ªÀ¸·Î ¾Æ·¡¿Í °°ÀÌ ÀâÈ÷±â ¶§¹®ÀÔ´Ï´Ù.
  1. <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
  2. <!-- context¸¦ »ý·«ÇÏ¸é ¾Æ·¡¿Í °°Àº ±âº»°ªÀÌ ÇÒ´çµÈ´Ù -->
  3. <Context docBase="ROOT" path="/" />
  4. </Host>
Context[docBase] : Host[webapps]/Context[docBase] °ªÀÌ ±âº» Á¢±Ù Æú´õÀÌ´Ù. (index.htmlÀÇ Æú´õ°°Àº ±âº» Æú´õ¶ó°í º¸½Ã¸éµË´Ï´Ù.)
Context[path] : docBaseÀÇ ÇÒ´çÀ§Ä¡
Áï ÅèÄÏÆú´õ/webapps/ROOT ¸¦ ÇØ´ç È£½ºÆ®ÀÇ / ¿¡ ÇÒ´çÇÑ´Ù´Â ¶æÀÔ´Ï´Ù.
- http://localhost/ : ÅèÄÏÆú´õ/webapps/ROOT/À妽ºÆäÀÌÁö
¶ÇÇÑ Host/Context ¸¹Àº ¿É¼ÇµéÀ» ¾µ ¼ö Àִµ¥ ¹ú½á ¾Ë¾ÆÂ÷¸° »ç¶÷µµ ÀÖ°ÚÁö¸¸ ÅèÄÏÆú´õ/conf/context.xml ÀÇ È£½ºÆ®º° ¼³Á¤ÀÔ´Ï´Ù.
Áï ÅèÄÏÆú´õ/conf/context.xml °¡ ¹ü¿ë¼³Á¤À̶ó¸é Host/Context ´Â ´Üµ¶¼³Á¤ÀÌ¸ç ¿ì¼±°ªÀÌ ´õ ³ô½À´Ï´Ù.

¶ÇÇÑ Context´Â Host ű׾ÈÀÌ ¾Æ´Ñ docBase ³»¿¡¼­µµ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù....
Host[copyXML]="true" Host[deployXML]="true" »óÅ¿¡¼­ /META-INF/context.xml ¿¡µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
- https://tomcat.apache.org/tomcat-9.0-doc/config/context.html


Ãß½Å
ÀÛ¼ºÇÏ´Ùº¸´Ï ¼³¸íº´¿¡ °É·Á¼­.. ¾öû ±æ¾îÁ³³×¿ä.. ¹®¼­ ºÐ¸®Çϱæ ÀßÇß... ÇÏÇÏÇÏ.....