Linux ƽ̨ºÍ Java ƽ̨ÓÐמÃÔ¶µÄµ«Óо³£¾ÀúÇúÕ۵ĹØÏµ¡£½¨ÖøßЧÄÜÐéÄâ»úÆ÷µÄͬʱÓÖÒª¸úÉÏÈÕÒæÔö³¤µÄºËÐÄ Java API ¼¯ºÏ£¬ÕâÑù×öËù´øÀ´µÄ¸´ÔÓÐÔÔںܴó³Ì¶ÈÉÏʹ¿ª·¢ Java ƽ̨µÄ¿ª·ÅÀ´Ô´³ÌÐò´úÂ롸Clean Room¡¹Êµ×÷µÄÔçÆÚÐж¯À§ÄÑÖØÖØ¡£Java ¼¼ÊõµÄÌØÐíʵ×÷×îÖÕ¿ÉÓÃÓÚ Linux£¬µ«ÕâЩʵ×÷²¢²»ÊÇ¿ª·ÅÀ´Ô´³ÌÐò´úÂë¡£Òò´Ë£¬´ó¶àÊý Linux ·Ö·¢°æÃ»ÓаüÀ¨¸ÃÌØÐíʵ×÷¡£
¾¡¹ÜÓÐÕâЩÀ§ÄÑ£¬Java ƽ̨»¹ÊÇÌṩÁËÐí¶àºÃ´¦£¬´Ó¶øµ¼ÖÂÔÚ Linux ÉÏÔ½À´Ô½¶àµØÊ¹ÓøÃÌØÐíʵ×÷£¬ÓÈÆäÊǶÔÓÚ·þÎñÆ÷Ó¦ÓóÌÐò¡£ÔÚ±¾ÎÄÖУ¬ÎһعËÁË Java ƽ̨¸ø·þÎñÆ÷Ó¦ÓóÌÐò´øÀ´µÄÓŵ㣬ȻºóÑо¿ÁËÔÚ Linux Éϼòµ¥ÇÒ°²È«µØ²¿Êð Java ·þÎñËùÉæ¼°µÄÎÊÌâ¡£×÷Ϊһ¸öʵ¼Ê·¶Àý£¬ÎÒ½«ÌÖÂÛÉ趨 Apache Software Foundation µÄ¹ã·ºÊ¹ÓÃµÄ Tomcat Java servlet ÒýÇæµÄÏêϸÐÅÏ¢ÒÔÓÃÓÚ¶ÀÁ¢×÷Òµ¡£
ΪʲôʹÓà Java ƽ̨£¿
ÓÐÐí¶àÔÒò¿ÉÒÔ½âÊÍΪʲô Java ƽ̨³ÉΪ»ùÓÚ·þÎñÆ÷µÄÉÌÒµÓ¦ÓóÌÐòµÄ¹ãΪ½ÓÊܵÄÑ¡Ôñ¡£ÎÒ½«Ö÷ÒªÌÖÂÛÎÒÈÏΪ¶ÔÓڸû·¾³ÖÁ¹ØÖØÒªµÄÈý¸öÔÒò©U¿çƽ̨¼æÈÝÐÔ¡¢ÊܹÜÖ´ÐÐʱ»·¾³ºÍÒ×ÓÚ¿ª·¢¡£
Java Ó¦ÓóÌÐòÌṩÁË¿ç¶àÖÖ²Ù×÷ϵͳºÍÓ²¼þƽ̨µÄ¶þ½øÖƼæÈÝÐÔ¡£¶ÔÓÚ·Ç GUI ·þÎñÆ÷Ó¦ÓóÌÐòÓÈÆäÊÇÕâÑù£¬ÔÚ´ËÀà±ðÓ¦ÓóÌÐòÖУ¬Í¨³£ÔÚʵ¼ÊÄ¿±êϵͳÖÐÐèÒªÖ´Ðзdz£ÉٵIJâÊÔ¡£¹¤×÷ÈËÔ±¿ÉÒÔÔÚÈκÎËûÃÇϲ»¶µÄƽ̨ÉϽøÐбàÂëºÍ³ý´í£¬Í¬Ê±ÈÔ¿ÉÒÔ½«ÕâЩӦÓóÌÐò²¿Êðµ½ËûÃÇÒ²Ðí²»ÄÜÖ±½Ó¿ØÖƵĻ·¾³ÖС£
Java ÐéÄâ»úÆ÷£¨Java Virtual Machine£¬JVM£©»·¾³µÄÖ´ÐÐÊ±ÌØÐÔÒÔ¼¸ÖÖ·½Ê½À´¼ÓÇ¿³ÌÐò°²È«ÐÔ¡£×îÏÔÖøµÄ·½ÃæÖ®Ò»ÊÇÑϸñµÄÀà±ðÐͼì²é¡¢Êý×é±ß½ç¼ì²éºÍ×Ô¶¯À¬»øÊÕ¼¯µÄ×éºÏ³¹µ×·ÀÖ¹ÁË×î¾ßÆÆ»µÐÔÐÎʽµÄ·þÎñÆ÷³ÌÐò´úÂë¹¥»÷©U»º³åÇøÒçλ¡¢Öظ´ÊͷŵĴíÎóºÍÓÎÀëµÄÖ¸Õë¡£Java ÓïÑÔÔçÆÚÓÃÓÚ applet£¬¾¹ý²»¶Ï·¢Õ¹£¬¸ÃÓïÑÔ»¹ÓÐÒ»¸öÍêÉÆµÄϵͳ£¬ÓÃÓÚ¶ÔÄÇЩÒÑÈ·ÐÅ´æÔÚ°²È«ÐÔ·çÏÕµÄÉèÊ©½øÐÐϸ΢µÄ´æÈ¡¿ØÖÆ¡£ÕâЩ·½·¨¿É¹©¶ÀÁ¢Ó¦ÓóÌÐòÑ¡ÔñʹÓ㬵«ËüÃÇÒѽ¨ÖÃÔÚÐí¶à Java ·þÎñµÄ¼Ü¹¹ÖС£
ÕâЩִÐÐʱ³ÌÐò°²È«ÌØÐÔ»¹ÌṩÁËÓà Java ÓïÑÔ¿ª·¢µÄ±ãÀûÐÔ¡£Òª¶Ô±ãÀûÐÔÕâÀà±ðÎÊÌâ×÷Èκξ«È·²âÁ¿ÊÇÀ§Äѵ쬵«´ó¶àÊý¾ßÓÐÖîÈç C ºÍ C++ Ö®Àà±ðÓïÑÔ±³¾°¶ø×ªÏò Java ³ÌÐò»¯µÄ¹¤×÷ÈËÔ±¶¼³ÐÈÏÔÚת±äÖ®ºóËûÃǵÄÉú²úÁ¦Ìá¸ßÁË¡£ÆäÖв¿·ÖÊÇÒòΪÔÚ±àÒëʱºÍÖ´ÐÐʱÑϸñÖ´ÐÐÀà±ðÐÍÈ·¶¨£¬ÒÔ¼°×Ô¶¯ÄÚ´æ¹ÜÀíµÄ¼òµ¥ÐÔ¡£ÁíÒ»¸öÒòËØÊÇΪ Java ƽ̨¿ª·¢µÄ±ê×¼ API À©³äµÄ¼¯ºÏ¡£ÕâЩ API ¶ÔÓÚÐµĹ¤×÷ÈËÔ±¿ÉÄÜÊÇÒ»¸öÖØ´óÌôÕ½£¬µ«ÊÇÒ»µ©Ñ§»áÁË£¬API »áΪ¸÷ÖÖÆóÒµÐèÇóÌṩÓÅÐãµÄ¿çƽ̨֧³Ö¡£
µ±È»£¬¶ÔÓÚijЩӦÓóÌÐò¶øÑÔ£¬Java ƽ̨¿ÉÄÜÊÇÒ»¸öÔã¸âµÄÑ¡Ôñ¡£¾¡¹Ü JVM Ìåϵ½á¹¹ÔÚ³ÖÐø¸Ä½ø£¬µ« Java Ó¦ÓóÌÐòͨ³£»á±ÈʹÓÃÏàͬËã·¨µÄ C »ò C++ Ó¦ÓóÌÐòÖ´ÐеÃÉÔ΢ÂýÒ»µã¡£¸ù¾ÝÎҵľÑéºÍ²âÊÔ£¬ÎÒ¹À¼ÆÕâ¸öËٶȲîÒì¶ÔÓÚÔÚÌØÐí JVM ÉÏÖ´ÐеĴó¶àÊý·þÎñÆ÷Ó¦ÓóÌÐòÀ´Ëµ´óÔ¼ÊÇÔÚ 20£¥ µ½ 50£¥ µÄ·¶Î§ÄÚ£¬È»¶øÕâºÜ´ó³Ì¶ÈÉÏÈ¡¾öÓÚ³ÌÐò´úÂëµÄÖÊÁ¿¡£Óë¶ÀÁ¢³ÌÐòÏà±È£¬ÔÚÕâЩ JVM ÉÏÖ´ÐÐµÄ Java Ó¦ÓóÌÐò»¹ÈÌÊÜ×űȽÏÂýµÄÆô¶¯£¬µ«ÊÇÕâ¶ÔÓÚ³¤Ê±¼äÖ´ÐеķþÎñÆ÷Ó¦ÓóÌÐòͨ³£²¢²»ÊÇÒ»¸öÖØ´óÎÊÌâ¡£ÔÚ´ó¶àÊýÇé¿öÖУ¬½µµÍµÄЧÄܺͽÏÂýµÄÆô¶¯µoÊÇΪ»ñµÃ Java ƽ̨µÄÔöÇ¿µÄ°²È«ÐԺ͸ü¿ìËٵĿª·¢ÓŵãËù¸¶³öµÄ΢С´ú¼Û¡£
¿ª·ÅÀ´Ô´ÂëÌæ´úÑ¡Ôñ
³ýÁ˱ê×¼ÌØÐí JVM£¨Ãâ·ÑʹÓ㬵«ÊÇÀ´Ô´ÂëÊܵ½ÏÞÖÆ£»¿ÉÓÃÓÚ Sun¡¢IBM¡¢BEA ºÍ Blackdown ×éÖ¯µÄ Linux£©Ö®Í⣬¶ÔÓÚ Linux »¹ÓÐÆäËü¼¸¸öÌæ´úÑ¡Ôñ¡£ÕâЩѡÔñ°üÀ¨¡¸Clean Room¡¹¿ª·ÅÀ´Ô´Âë JVM ʵ×÷£¬ÆäÖÐʹÓÃ×î¹ã·ºµÄ¿ÉÄÜÊÇ Kaffe£¨ÔÚÐí¶à Linux ·Ö·¢°æÖж¼°üÀ¨Ëü£©¡£Kaffe ÊÇÒ»¸ö·Ç³£ÓÐÒâÒåµÄÏîÄ¿£¬ËüÒѾÍê³ÉÁËһЩÁîÈ˾ªÑȵŤ×÷£¬µ«ËüÖ»ÄÜÌṩÓëÄ¿Ç°ÌØÐí JVM ÓÐÏ޵ļæÈÝÐÔ¡£Òò´Ë£¬Ëüͨ³£ÎÞ·¨Ê¹ÓÃÓÚ±¾ÎÄËù¹Ø×¢µÄÆóÒµÀà±ðÐ͵ķþÎñÆ÷Ó¦ÓóÌÐò¡£
ÓÃÓÚ Java ³ÌÐòµÄ±¾»ú³ÌÐò´úÂë±àÒëÆ÷µÄ¿ª·ÅÀ´Ô´Â빤×÷Ò²Óм¸¸öÌæ´úÑ¡Ôñ¡£ÕâÀï×îÖØÒªµÄÏîÄ¿ÊÇ GNU ±àÒëÆ÷¼¯£¨GNU Compiler Collection£©µÄ GCJ.ʹÓÃÖîÈç CGJ Ö®Àà±ðµÄ±¾»ú³ÌÐò´úÂë±àÒëÆ÷»á½«¶ÀÁ¢ÓÚÆ½Ì¨µÄ Java ×Ö½ÚÂëÔÚÆäÖ´ÐÐ֮ǰת»»³ÉÌØ¶¨ÓÚÆ½Ì¨µÄ³ÌÐò´úÂ루ÕâÓëÔÚ JVM ÖÐÖ´ÐгɶԱȣ¬ÔÚ JVM ÖÐÖ´ÐÐͨ³£ÔÚÖ´ÐÐʱ½«×Ö½ÚÂëת»»³ÉÌØ¶¨ÓÚÆ½Ì¨µÄ³ÌÐò´úÂ룩¡£
±¾»ú³ÌÐò´úÂë±àÒëÏÔʾ³öËü¼«ÓпÉÄܳÉΪһÖÖ±ÜÃâÔÚ JVM ÖÐÖ´ÐÐµÄ Java Ó¦ÓóÌÐòÆô¶¯½ÏÂýµÄ·½·¨¡£µ«ÊÇ£¬Ê¹ÓÃÕâÖÖ·½·¨µÄ±àÒëÆ÷ͨ³£¶¼²»ÄÜÓëµ±´úÌØÐí JVM µÄÎȶ¨×´Ì¬Ð§ÄÜÏàÆ¥Åä¡£Èç¹û Java Ó¦ÓóÌÐòʹÓà Java ƽ̨µÄ¶¯Ì¬ÌØÐÔ£¨ÈçʹÓ÷´ÉäÀ´´æÈ¡×ֶλò¼ÓÔØÔÚÖ´ÐÐʱѡÔñµÄÀà±ð£©£¬ÕâÖÖÇé¿öÓÈÆäÍ»³ö¡£¸ù¾ÝËùʹÓõÄʵ×÷ºÍ±àÒëÑ¡Ï±¾»ú³ÌÐò´úÂë±àÒëÒ²Ðí»¹»áÏ÷Èõ Java ƽ̨µÄÐí¶àÖ´ÐÐʱ°²È«ÌØÐÔ¡£×îºó£¬ÓÉÓÚÐí¿ÉÖ¤ÎÊÌ⣬Ðí¶à Java API ²»ÄÜÓëÒѱàÒëµÄ±¾»ú³ÌÐò´úÂëÒ»ÆðʹÓá£ÓÉÓÚÕâЩÏÞÖÆ£¬±¾»ú³ÌÐò´úÂë±àÒëĿǰ»¹²»ÊÇ Java ƽ̨·þÎñÆ÷Ó¦ÓóÌÐòµÄÒ»¸öºÃÑ¡Ôñ¡£
C# ÔõôÑù£¿
Óë Java Ö´ÐÐʱ»·¾³ÓÐÐí¶à¹²Í¬µãµÄÒ»¸öÌæ´ú·½·¨ÊÇ Microsoft µÄ C# ÓïÑÔºÍÏà¹ØµÄ¹«¹²ÓïÑÔÖ´ÐÐʱ£¨Common Language Runtime£¬CLR£©¡£C# ÊÇ Java ÓïÑԵĹØÏµ½ôÃܵÄÑÜÉúÎCLR ¿ÉÄÜÈÝÐí C# ÔÚÐí¶àƽ̨ÉÏʹÓá£CLR »¹ÌṩÁË JVM µÄÐí¶àÖ´ÐÐʱ°²È«ÌØÐÔ£¨¾¡¹ÜÓÐÑÏÖØÏ÷Èõ°²È«±£Ö¤µÄÌÓÀë³ö¿Ú£©¡£Microsoft .Net ʵ×÷»¹Ö§³ÖÔ¤±àÒë³É±¾»ú³ÌÐò´úÂëµÄÑ¡ÏîÒÔ»ñµÃ¸ü¿ìËÙÆô¶¯£¬ÕâÓë GCJ ¶Ô Java ×Ö½ÚÂëËù×öµÄ¹¤×÷Ïàͬ¡£µ±È»£¬Linux ʹÓÃÕß²¢²»ÄÜÖ±½ÓʹÓÃÕâÏÄÜ£¬ÒòΪ .Net Ö»ÊÊÓÃÓÚ Windows ϵͳ¡£
Mono Project ÕýÖÂÁ¦ÓÚΪ¶àÖÖ Linux ²úÆ·½¨Öá¸CLean Room¡¹¿ª·ÅÀ´Ô´Âë C# ºÍµÈ¼ÛÓÚ CLR µÄ²úÆ·¡£ÏÖÔÚ£¬¸ÃÏîÄ¿ÖÐµÄ C# ±àÒëÆ÷ÒÑ¿ª·¢Íê³É£¬¶øÇÒ»¹Íê³ÉÁË´ó²¿·ÖµÄ CLR£¬Microsoft ÒÑ·¢²¼½«ËüÓÃÓÚ±ê×¼»¯¡£µ«ÊÇ£¬ÎÞÂÛ´ÓЧÄÜ»¹Êǹ¦ÄܽǶÈÀ´¿´£¬ÔÚËü³ÉΪºÏÀíµÄ Java Æ½Ì¨Ìæ´úÑ¡Ôñ֮ǰ»¹ÓÐÐí¶à¹¤×÷Òª×ö¡£CLR Ö»°üÀ¨ÁËÓë Java ºËÐÄÀà±ð¿âµÈ¼ÛµÄ»ù±¾ÄÚÈÝ¡£ÔÚ¿ÉÒÔ½«Ëü¿´×÷ÊÇÆóÒµÈí¼þ¿ª·¢µÄºÏÀíÑ¡Ïî֮ǰ£¬»¹ÐèÒªÓÃÐí¶à¶îÍâ API À´²¹³äËü¡£
Mono Project ÕýÔÚÖÂÁ¦ÓÚ¿ª·¢ CLR ÒÔÍâµÄ .Net ÆäËü²¿·ÖµÄÒÆÖ²£¬Èç¹ûÕâÐ©ÒÆÖ²³É¹¦ÁË ©¤ ²¢ÇÒÈç¹û Microsoft ²»¶Ô .Net µÄÕâЩ²¿·ÖÇ¿¼ÓËüµÄרÀûȨ ©¤ ÄÇôËüÃÇ»áÓÐÖúÓÚÂú×ã C# ³ÉΪ Linux ÉÏ·þÎñÆ÷Èí¼þ¿ª·¢µÄ¿É¿¿Æ½Ì¨µÄÐèÒª¡£µ«ÒªÊ¹ÄÇЩ¼ÙÉè³ÉΪÏÖʵ£¬»¹ÐèÒª×öºÜ¶à¹¤×÷£¬Í¬Ê±£¬Java ³ÌÐòµÄ±¾»ú³ÌÐò´úÂë±àÒëÆ÷ºÍ¿ª·ÅÀ´Ô´Âë JVM ÏòÄÇЩȷʵÏëÒª±ÜÃâʹÓÃÌØÐí JVM ²¢¿ÉÒÔÈÌÊÜÓÐÏÞ¹¦ÄÜÐÔµÄʹÓÃÕßÌṩÁ˱ȽÏÎȶ¨µÄÌæ´úÑ¡Ôñ¡£
Apache Tomcat
×îÆÕ±é´æÔÚµÄ Java ƽ̨·þÎñÆ÷Ó¦ÓóÌÐòÖ®Ò»ÊÇ Apache Tomcat.Tomcat ÊÇ»ùÓÚ×î³õÓÉ Sun ¾èÔùµÄÀ´Ô´ÂëµÄ¿ª·ÅÀ´Ô´ÂëÏîÄ¿¡£ËüÊÇÒ»¸ö HTTP ·þÎñÆ÷£¬ÊÇ Sun ͸¹ý Java Community Process ¿ª·¢µÄ¡¢¶Ô¹ã·ºÊ¹ÓÃµÄ servlet ºÍ JavaServer Page£¨JSP£©¼¼ÊõµÄÕýʽ²Î¿¼Êµ×÷¡£ÎÒ½«ÔÚ±¾ÎÄÖÐʹÓà Tomcat ×÷ΪÑù±¾ Java Ó¦ÓóÌÐò£¬½«Æä²¿Êð³É Linux ÉϵÄÒ»¸ö·þÎñ¡£Èç¹ûÄúÏëÒª³¢ÊÔ×Ô¼ºÖ´ÐÐ Tomcat£¬ÄÇôÄú½«ÐèÒªÔÚϵͳÉϰ²×° Java ¿ª·¢¹¤¾ßÏ䣨Java Development Kit£¬JDK£©£¬¶ø²»Êǰ²×°¸üСµÄ Java Ö´ÐÐʱ»·¾³£¨Java Runtime Environment£¬JRE£©¡£
servlet ºÍ JSP ¼¼ÊõÓÃÓÚ½¨¹¹ HTTP ·þÎñÆ÷Ó¦ÓóÌÐò¡£ËäÈ» servlet ¼¼ÊõÖмÓÈëÁËÐí¶àÌØÐÔ£¨°üÀ¨´æÈ¡°²È«ÐÔ¡¢Session¹ÜÀíºÍÖ´ÐÐÐ÷¿ØÖÆ£©£¬µ«Ëü±¾ÉíµoÊÇ´ÖÂԵصȼÛÓÚΪ¿ìËÙÖ±½ÓµÄ Java ÓïÑÔºô½Ð¶ø¶¨ÖÆµÄ CGI ½Ó¿Ú¡£JSP ¼¼ÊõÌṩÁËÒ»ÖÖ´¦Àí¶¯Ì¬Éú³ÉµÄ HTML Ò³ÃæµÄ¼ò±ã·½·¨£¬ÕâЩ HTML Ò³Ãæ±»Ö±½Ó±àÒë³É servlet ÒÔÓÃÓÚ¿ìËÙÖ´ÐÐʱ×÷Òµ¡£
ÔÚÕâÁ½ÖÖ¼¼ÊõÖ®Í⣬Tomcat »¹ÌṩÁËÆäËüÐí¶àÌØÐÔ¡£Æ¾Ëü±¾ÉíµÄЧÄÜ£¬Ëüʵ¼ÊÉÏÊÇÈ«¹¦ÄÜ Web ·þÎñÆ÷£¬µ«Ëüͨ³£ÔÚ Linux ϵͳÉÏÓë Apache Web ·þÎñÆ÷ǰ¶Ë¹²Í¬Ê¹Óá£Apache Ïò Tomcat ÌṩÁËÐí¶à½ø½×ЧÄÜÒÔÊʺϾ²Ì¬ÄÚÈÝ¡£¶ÔÓÚ¾²Ì¬ÄÚÈÝËùÕ¼±ÈÀý±È½Ï¸ßÇÒʹÓÃÂÊºÜ¸ßµÄ Web Ó¦ÓóÌÐò£¬Apache ǰ¶Ë·Ç³£ÓÐÓᣵ«¶ÔÓÚÐí¶à¼òµ¥µÄ Web Ó¦ÓóÌÐò£¬¾Íû±ØÒªÊ¹ÓÃËüÁË£¬µ±¸üÒ×ÓÚ×é̬ºÍ¹ÜÀíʱ£¬µ¥¶ÀÖ´ÐÐ Tomcat ¾Í¿ÉÌṩ×ã¹»µÄЧÄÜ£¨ÖÁÉÙ¶ÔÓÚÒÔǰûÓÐʹÓùý Apache µÄ¹¤×÷ÈËÔ±À´ËµÊÇÕâÑù£©¡£
Á¬½Ó²ºÄÑÌâ
µ¥¶ÀÖ´ÐÐ Tomcat µÄÒ»¸ö´óÎÊÌâÊÇËüÎÞ·¨´æÈ¡±ê×¼ HTTP Á¬½Ó²º 80£¬³ý·ÇÊÇ×÷Ϊ root ʹÓÃÕßÖ´ÐС£×÷Ϊ root ʹÓÃÕßÖ´ÐзþÎñÆ÷Ó¦ÓóÌÐòµÄÏ뷨ͨ³£²¢²»ÊÇÉÏ´®Á÷¹«Ë¾ËùÌÖÂÛµÄÎÊÌ⣬Òò´ËÎÒ½«ÍêÈ«·ÅÆúÕâ¸öÏë·¨©uʹÓóý 80 ÒÔÍâµÄÁ¬½Ó²ºÊÇÒ»¸ö¸üºÃµÄÑ¡Ôñ£¨ÀýÈ磬Tomcat ȱʡÁ¬½Ó²º 8080£©¡£Õâͨ³£ÊÊÓÃÓÚ²âÊÔ£¬µ«µ±Ê¹ÓÃÕßÕýÔÚ´æÈ¡·þÎñʱ£¬Ëü»áµ¼ÖÂÔÓÂÒµÄ URL£¬ÒòΪÐèÒªÔÚÇëÇóÖÐÇå³þµØËµÃ÷Á¬½Ó²ººÅ¡£Ê¹Ó÷DZê×¼Á¬½Ó²º»¹Òâζ×ÅÈç¹ûÐèÒªÍⲿ´æÈ¡£¬¾ÍÐèÒªÖØÐÂ×é̬ËùÓеķÀ»ðǽ¡£
xinetd ½â¾ö·½°¸
ÐҺã¬Linux Ö§³ÖһЩÀûÓà Tomcat£¨»òÈÎºÎÆäËüʹÓÃÕß·½Ê½Ó¦ÓóÌÐò£©´¦ÀíÁ¬½Ó¶Ë¿Ú 80 ÇëÇóµÄ¼ò±ã·½Ê½¡£Ò»ÖÖ³£Ó÷½Ê½ÊÇ͸¹ý xinetd.xinetd ÊÇ´øÓй㷺´æÈ¡¿ØÖƺÍÈÕÖ¾¼Ç¼֧³ÖµÄÒòÌØÍø·þÎñÊØ»¤³ÌÐò£¬Ëü»¹ÓµÓз½±ãµÄÖØÐµ¼ÏòÌØÐÔ¡£ÖØÐµ¼ÏòÈÃÄú½«ÏµÍ³×é̬³É½ÓÊÜÒ»¸öÁ¬½Ó²ºÉϵĽøÈëÇëÇó£¬È»ºó½«ÇëÇ󴫵ݵ½ÁíÒ»¸öÁ¬½Ó²º»òÕßÉõÖÁÁíÒ»¸ö IP µØÖ·½øÐд¦Àí¡£
Èç¹ûÄúÏëÒªÔÚϵͳÉÏÉ趨 Tomcat ÒÔ´¦ÀíÁ¬½Ó²º 80 ÇëÇ󣬾ÍÐèÒª¼ÓÈë xinetd ×é̬ÎļþÀ´Êµ×÷ÕâһĿµÄ¡£¼ÙÉè°´Ò»°ãÔÚÕý³£Â·¾¶Éϰ²×°ÁË xinetd£¬ÄÇôÄú¿ÉÒÔ͸¹ý¶Ô /etc/xinetd.d Ŀ¼¼ÓÈëÒ»¸öÎļþ£¨ÒÔ root ʹÓÃÕßÉí·Ý£©À´Ö´ÐÐÕâÒ»×÷Òµ¡£Çåµ¥ 1 ÌṩÁËÓÃÓÚ Tomcat µÄÒ»¸öÑù±¾×é̬Îļþ¡£
Çåµ¥ 1. xinetd ÖØÐµ¼Ïò×é̬
# Redirects any requests on port 80
# to port 8080 £¨where Tomcat is listening£©
service tomcat
{
socket_type = stream
protocol = tcp
user = root
wait = no
port = 80
redirect = localhost 8080
disable = no
}
ÔÚ¼ÓÈëÁË×é̬ÎļþÖ®ºó£¬ÐèÒªÖØÐÂÆô¶¯ xinetd À´ÕæÕý»î»¯ÖØÐµ¼Ïò¡£ÔÚ´ó¶àÊý Linux °²×°ÉÏ£¬Í¸¹ýÒÔ root ʹÓÃÕßÉí·ÝÖ´ÐÐÒÔÏÂÖ¸ÁîÀ´ÖØÐÂÆô¶¯ xinetd©U
/sbin/service xinetd restart
µoÒª½«×é̬Îļþ·ÅÔÚ /etc/xinetd.d Ŀ¼ÖУ¬µ±ÖØÐÂÆô¶¯ÏµÍ³Ê±£¬ÖØÐµ¼Ïò¾Í»á×Ô¶¯Æô¶¯¡£Èç¹ûûÓн« Tomcat É趨³É×Ô¶¯Æô¶¯£¬ÄÇôÔÚÆô¶¯ Tomcat ֮ǰ£¬»á¾Ü¾ø½øÈëÇëÇó¡£
iptables ½â¾ö·½°¸
xinetd ÊÇ´¦ÀíÇëÇóÖØÐµ¼ÏòµÄÒ»Öֺ÷½·¨£¬µ«ËüÖ´ÐÐÁËÒ»¸ö´¦ÀíÐòÒÔÔÚÁ¬½Ó¶Ë¿ÚÖ®¼äʵ¼ÊתÐÅÊý¾Ý£¬ÕâȷʵÔö¼ÓÁËһЩ¿ªÏú¡£×îÐ嵀 Linux Äں˰汾͸¹ýʹÓà iptables À´Ö§³ÖÒ»ÖÖ¸üºÃµÄÉè¶¨ÖØÐµ¼ÏòµÄ·½·¨¡£iptables Óë xinetd µÄÇø±ðÖ®´¦ÔÚÓÚËüÊÇÒ»¸öÕæÕýµÄÄÚºË×é¼þ¡£Òò´Ë£¬Ëü¿ÉÒÔ±ÜÃâ xinetd ·½·¨Ôö¼ÓµÄ¿ªÏú¡£Ê¹Óà iptables µÄΨһȱµãÊÇËü¿ÉÄÜ±È xinetd ¸üÄÑÒÔ×é̬£¬¶øÇÒËüÖ»¿ÉÓÃÓÚÏ൱еÄÄں˰汾¡£
ÄúÐèÒªÖ´ÐÐÖ§³Ö iptables µÄ 2.4.x »ò¸üеÄÄںˣ¬ÒÔ±ãʹÓÃÎÒÔÚÕâÀïÃèÊöµÄ¼¼Êõ¡£×é̬ºÍÉ趨 iptables ÊÇÒ»¸öÈ·ÐÅÓɼ¸ÆªÎÄÕÂÀ´µ¥¶ÀÃèÊöµÄÖ÷Ì⣬ËùÒÔÎÒ²»´òËãÔÚÕâÀï³¢ÊÔÌÖÂÛ¸ÃÖ÷Ìâ¡£Èç¹û¶Ô iptables µÄÈëÃÅÐèÒª°ïÖú£¬ÇëÔĶÁ Linux ·Ö·¢°æµÄÊֲᡣҪ¿ìËÙ¼ì²é iptables ÊÇ·ñÔÚÄúµÄϵͳÉÏÖ´ÐУ¬³¢ÊÔÒÔ root ʹÓÃÕßÉí·ÝÖ´ÐЩU
/sbin/service iptables status
Èç¹ûËüÕýÔÚÖ´ÐУ¬Äú½«»áÔÚ¿ØÖÆÌ¨ÉÏ¿´µ½±íºÍÁ´µÄÇåµ¥¡£
iptables ʹÓü¸¸ö²»Í¬µÄ±íºÍ·â°üÁ´À´´¦Àí¹æÔòµÄ¡£ÎªÁ˽«½øÈë HTTP ÇëÇó´ÓÁ¬½Ó¶Ë¿Ú 80 ÖØÐµ¼Ïòµ½ÏµÍ³ÖеÄÁíÒ»¸öÁ¬½Ó²º£¬Äú½«ÒªÊ¹Óà nat ±í£¨±íÊ¾ÍøÂçµØÖ·×ª»»£¬Network Address Translation£©ºÍ PREROUTING Á´¡£Çåµ¥ 2 ÌṩÁËÒªÖ´ÐеÄʵ¼ÊÖ¸ÁÒÔ root ʹÓÃÕßÉí·Ý£©£¬ÒÔ±ãÓÚ¼ÓÈëÒ»Ìõ´¦ÀíÕâÒ»ÇëÇóµÄ¹æÔò¡£ÕâÌõ¹æÔòµÄ×÷ÓÃÊǽ«½øÈë°üµÄÄ¿±êÁ¬½Ó¶Ë¿Ú 80 Ð޸ijÉÄ¿±êÁ¬½Ó¶Ë¿Ú 8080£¬Òò´ËµoÓÐÔÚÄúûÓÐ×èÖ¹´ÓÍⲿʹÓÃÁ¬½Ó²º 8080 ʱ£¬ÕâÌõ¹æÔò²Å»áÕýÈ·¹¤×÷¡£Ò»µ©Ö´ÐÐÁ˸ÃÖ¸ÁÄú¾ÍÓ¦¸ÃÄܹ»Á¢¼´´¦Àí½øÈëÇëÇó¡£
Çåµ¥ 2. iptables ÖØÐµ¼Ïò¹æÔò
/sbin/iptables -t nat \
-A PREROUTING -j REDIRECT -p tcp \
¡ª¡ªdestination-port 80£º80 ¡ª¡ªto-ports 8080
/sbin/service iptables save
ÒÔ±ãÓÚ´¢´æÄ¿Ç° iptables ×é̬¡£
×Ô¶¯Æô¶¯ Tomcat
µ±Ö´ÐÐÖîÈç Tomcat Ö®Àà±ðµÄ Java ·þÎñʱµÄÁíÒ»¸öÎÊÌâÊǵ±ÏµÍ³Æô¶¯Ê±£¬ÈçºÎ×Ô¶¯Æô¶¯¸ÃÓ¦ÓóÌÐò£¬ÒÔ¼°µ±ÏµÍ³¹Ø»úʱÈçºÎ×Ô¶¯Í£Ö¹Ëü£¨»»¾ä»°Ëµ£¬½«Ëüµ±×÷ÊØ»¤³ÌÐòÖ´ÐУ©¡£¾Ñé·á¸»µÄ Linux ʹÓÃÕßÒѾ֪µÀÔõÑù×ö£¬µ«Èç¹ûÄú»¹ÊǸö Linux ÐÂÊÖ£¬ÒÔϾÍÊÇһЩ»ù´¡ÖªÊ¶¡£
Èç¹ûÄú¾ÍÔÚÄúµÄ¸öÈËϵͳÉÏÖ´ÐÐËü²¢ÇÒÏëҪʹÓÃÓëÖ±½ÓÖ´ÐÐ Tomcat Ò»ÑùµÄ¶Ô Tomcat µÄÎļþºÍĿ¼µÄ´æÈ¡È¨£¬ÄÇôÄú¿ÉÒÔÓÃÄú×Ô¼ºµÄʹÓÃÕßÃû³ÆÀ´É趨Ëü¡£µ«ÊÇ£¬Í¨³££¬Ò»¸ö±È½ÏºÃµÄÏë·¨ÊÇ©UΪ½«Òª×÷ÎªÊØ»¤³ÌÐòÖ´ÐеÄÈκγÌÐòÉ趨һ¸öµ¥¶ÀµÄʹÓÃÕß¡£ÒªÕë¶Ô Tomcat Ö´ÐÐÕâÒ»×÷Òµ£¬ÒÔ root ʹÓÃÕßÉí·ÝÖ´ÐЩU
/usr/sbin/useradd tomcat
Õ⽫½¨Á¢Ò»¸öÃûΪ tomcat µÄʹÓÃÕßÕË»§²¢½¨Á¢Ò»¸öÓÃÓÚ Tomcat °²×°µÄÖ÷Ŀ¼ /home/tomcat.Ëù½¨Á¢µÄÖ÷Ŀ¼µÄËùÓÐÕßÊÇ tomcat ʹÓÃÕߣ¬¶øÇÒͨ³£Ö»ÈÝÐíÕâ¸öʹÓÃÕß´æÈ¡£¨µ±È»»¹ÓÐ root ʹÓÃÕߣ©¡£Èç¹ûÏëÒª´ÓÆäËüÕË»§´æÈ¡ Tomcat °²×°£¬¿ÉÒÔ½«Ðí¿ÉȨ±ä¸ü³É°üÀ¨×é´æÈ¡È¨£¬²¢½« tomcat ×éÐÂÔöµ½ÕâЩÆäËüÕË»§¡£
×ÜÖ®£¬Òª½« Tomcat µ±×÷ÊØ»¤³ÌÐòÖ´ÐУ¬ÐèÒª½«·þÎñ×é̬ÎļþÐÂÔöµ½ /etc/init.d Ŀ¼ÖУ¬¶øÄú¿ÉÄÜÒª½«¸ÃÎļþÃüÃûΪ¡¸tomcat¡¹¡£Çåµ¥ 3 ÌṩÁ˸ÃÎļþµÄÑù±¾¡£Õâ¼ÙÉèÁË Tomcat °²×°ÔÚ /home/tomcat Ï£¬²¢ÇÒ¸ÃλÖÃÖÐÓÐÁ½¸ö shell Ö¸ÁîÂëÎļþ£¬ÓÃÓÚ´¦ÀíÆô¶¯ºÍÍ£Ö¹·þÎñÆ÷£¨tcstart.sh ºÍ tcstop.sh£©¡£ÔÚÖ´ÐÐʵ¼ÊµÄ Tomcat Æô¶¯»òÍ£Ö¹Ö¸ÁîÂë֮ǰ£¬ÐèҪʹÓÃÕâЩÎļþÀ´É趨 Tomcat ËùÐèµÄ»·¾³±äÁ¿£¨°üÀ¨ JAVA_HOME ºÍ JDK_HOME£©¡£
Çåµ¥ 3. Tomcat ·þÎñ¶¨Òå
#£¡/bin/bash
#
# tomcat Starts Tomcat Java server.
#
#
# chkconfig£º 345 88 12
# description£º Tomcat is the server for Java servlet applications.
### BEGIN INIT INFO
# Provides£º $tomcat
### END INIT INFO
# Source function library.
¡£ /etc/init.d/functions
[ -f /home/tomcat/tcstart.sh ] || exit 0
[ -f /home/tomcat/tcstop.sh ] || exit 0
RETVAL=0
umask 077
start£¨£© {
echo -n $"Starting Tomcat Java server£º "
daemon su -c /home/tomcat/tcstart.sh tomcat
echo
return $RETVAL
}
stop£¨£© {
echo -n $"Shutting down Tomcat Java server£º "
daemon su -c /home/tomcat/tcstop.sh tomcat
echo
return $RETVAL
}
restart£¨£© {
stop
start
}
case "$1" in
start£©
start
£»£»
stop£©
stop
£»£»
restart|reload£©
restart
£»£»
*£©
echo $"Usage£º $0 {start|stop|restart}"
exit 1
esac
exit $£¿
ÒÔÏÂÊÇÒ»¸öÑù±¾ tcstart.sh£¬¿ÉÒÔÐÞ¸ÄËüÀ´ÊʺÏÄúµÄ°²×°¡£
Çåµ¥ 4. Ñù±¾ tcstart.sh
#£¡/bin/bash
export JDK_HOME=/usr/java/jdk
export JAVA_HOME=/usr/java/jdk
#run the startup script from Tomcat installation
/home/tomcat/server/bin/startup.sh
chroot©U×î´óµÄ°²È«ÐÔ¼àÓü
¶ÔÓÚÕæÕýµÄƫִ¿ñ£¬»¹¿ÉÄܽøÒ»²½ÌÖÂÛ±£»¤ Java ÓïÑÔ·þÎñ¡£µ±¸Ã·þÎñÌṩ¶Ô±¾µØÎļþϵͳµÄijÖÖÐÎʽµÄ´æÈ¡È¨Ê±£¬ÕâÓÈÆäÓÐÓá£JVM Ö´ÐÐʱ°²È«ÐÔÌØÐÔ²¢²»ÄÜ×èÖ¹ÒѾÓÐȨ´æÈ¡ÎļþϵͳµÄÓ¦ÓóÌÐò´æÈ¡³ýÁËʹÓÃÕßרÓõÄÎļþÖ®ÍâµÄÎļþ¡£ÔÚ Tomcat µÄÇé¿öÖУ¬Îļþ´æÈ¡ÊÇËü×÷Ϊ HTTP ·þÎñÆ÷ʹÓÃʱËù¹ÌÓеġ£Ëüͨ³£½«ÎªÃ¿¸ö Web Ó¦ÓóÌÐòÌṩ·þÎñµÄÎļþÏÞÖÆÎª¸ÃÓ¦ÓóÌÐòĿ¼ÖеÄÄÇЩÎļþ£¬µ« servlet Ó¦ÓóÌÐò¿ÉÒԱܿªÕâЩÏÞÖÆ¡£µ± Tomcat ÓëÖîÈç Apache Ö®Àà±ðµÄǰ¶Ë Web ·þÎñÆ÷¹²Í¬Ö´ÐÐʱ£¬Ò²»á·¢ÉúÕâÖÖÇé¿ö¡£
͸¹ýʹÓà chroot£¬Äú¿ÉÒÔ×èÖ¹ Tomcat£¨ºÍËùÓÐÔÚ Tomcat ÏÂÖ´ÐÐµÄ Web Ó¦ÓóÌÐò£©´æÈ¡Îª¸Ã·þÎñÆ÷Áô³öµÄ¿Õ¼äÒÔÍâµÄÈκζ«Î÷¡£chroot ²¢²»ÒÔÈκη½Ê½Ìض¨ÓÚ Java Ó¦ÓóÌÐò£¬µ«ËüÊÇΪ JVM ÌṩµÄ°²È«ÐÔ¼ÓÈë×îÖÕ°ü×°Æ÷µÄ¼ò±ã·½·¨¡£ÎÒ½«ÔÚÕâÀïΪÄÇЩ²»ÊìϤ chroot ¸ÅÄîµÄÈ˽éÉÜÉ趨ËüµÄÒªµã¡£
chroot Ëù×öµÄÀà±ðËÆÓÚÓÃÓÚÖ´ÐÐ Java ³ÌÐò´úÂëµÄ JVM ɳÏ䣬µ«ËüÊÊÓÃÓÚÎļþϵͳ±¾Éí¡£chroot Ö´ÐÐÒ»ÌõÖ¸Áî²¢½«ÄúÖ¸¶¨µÄλÖÃÉ趨³ÉÓÐЧ¸ùĿ¼¡£ËùÖ´ÐеÄÖ¸Á¿ÉÒÔÊÇÖ´ÐÐÆäËüÖ¸Á°üÀ¨Ó¦ÓóÌÐò£©µÄ shell Ö¸ÁîÂ룩ֻÄÜ´æÈ¡ËùÖ¸¶¨µÄÓÐЧ¸ùĿ¼ÏµÄÎļþϵͳµÄÒ»²¿·Ö¡£ÎļþϵͳµÄÆäÓಿ·Ö¶ÔÓÚ¸ÃÖ¸ÁîÀ´ËµÍêÈ«²»´æÔÚ¡£
Òª¶ÔÖîÈç Tomcat Ö®Àà±ðµÄÓ¦ÓóÌÐòʹÓà chroot£¬ÐèÒª½«Ò»Ð©»ù±¾ÏµÍ³Ó¦ÓóÌÐòºÍÁ´½Ó¿â£¨°üÀ¨Êµ¼ÊµÄ Java JDK °²×°£©¸´ÖƵ½ÐµÄÐéÄâ¸ùĿ¼Ï¡£Õâ¿ÉÄÜ»áÕ¼ÓÃÐí¶à¿Õ¼ä ©¤ Ò²Ðí´ÓÒ»°ÙÕ××Ö½Úµ½Ò»Ç§Õ××Ö½Ú»ò¸ü¶à ©¤ ÕâÈ¡¾öÓÚÄúÏ뾡¶àÉÙŬÁ¦À´½«ÕâЩӦÓóÌÐòºÍÁ´½Ó¿â¼õÉÙµ½×îС¡£É趨ËüµÄ×î¼òµ¥·½·¨Ò²×îÀ˷ѿռä©UµoÒª½«Õû¸ö /bin¡¢/lib¡¢/usr/bin ºÍ /usr/lib Ŀ¼Ê÷ÒÔ¼° Java °²×°¸´ÖƵ½ÐµĸùĿ¼Ï£¬Ê¹ root ʹÓÃÕß³ÉΪ¶ÔËùÓÐÎļþµÄÓµÓÐÕߺÍΨһÊÚȨµÄдÈëÕß¡£Èç¹ûÏëÒªÈôÅÅÌʹÓÃÂʱ£³Öµ½×îС£¬¿ÉÒÔÓÐÑ¡ÔñµØÖ»¸´ÖÆ chroot ÖÐÐèÒªµÄÖ¸Á°üÀ¨»ù±¾Ö¸ÁÈç ls¡¢rm¡¢echo ºÍ cat µÈ£¬ÒÔ¼°Êµ¼ÊµÄ Java °²×°£©ÒÔ¼°ÄÇЩָÁîʹÓõĿ⣨͸¹ýʹÓà ldd ¿ÉÒÔÕÒµ½ÄÇЩ¿â£©¡£
½ÓÏÂÀ´£¬Äú½«ÐèÒª½¨Á¢Ò»Ð©¶îÍâĿ¼×÷Ϊһ°ãϵͳµÄËõ¼õ°æ±¾¡£Õâ°üÀ¨ /dev£¬ÒÔ¼°É豸 /dev/null ºÍ /dev/zero£»/etc ÒÔ¼° /etc/passwd ºÍ /etc/group ÎļþµÄÒѱ༰汾£¨Ö»±£Áô root ºÍ tomcat Ï£¬Ò²Ðí»¹ÓÐÖ÷»ú¡£Èç¹ûÕýÔÚ¶à´¦ÀíÆ÷ϵͳÉÏÖ´ÐУ¬Äú»¹ÐèÒªÔÚеĸùĿ¼Ï¹Ò×° /proc ϵͳ£¬ÒòΪ JVM ʹÓøÃϵͳÀ´Ðµ÷¸÷¸ö´¦ÀíÆ÷¡£
×îºó£¬ÎªÁËÔÚÉ趨ÁË chroot ºóÈÔ×÷ΪʹÓÃÕß tomcat Ö´ÐУ¬Ò²ÐíÐèÒª½¨ÖÃÒ»¸ö¿ÉÒÔÔÚÐéÄâ¸ùĿ¼ÏÂÖ´ÐÐµÄ su Ö¸Áî°æ±¾£¨Ðí¶à·Ö·¢°æµÄÒ»°ã°æ±¾²»ÈÝÐíÕâÑù×ö£©¡£ÒªÕâÑù×ö£¬¿ÉÒÔ´Ó GNU ÏîÄ¿»ñÈ¡ sh-utils À´Ô´Âë²¢¸ù¾Ý¸ÃÀ´Ô´ÂëÖ±½Ó½¨Öà su£¬È»ºó½«Ëü¸´ÖƵ½ÐµĸùĿ¼µÄ /bin Ŀ¼ÖС£
Íê³ÉÁËËùÓÐÕâЩÉ趨ºó£¬¿ÉÒÔ³¢ÊÔÒÔ root ʹÓÃÕßÉí·ÝÖ´ÐУ¨¼ÙÉèеĸùĿ¼λÓÚ /home/tomcat£©©U
/usr/sbin/chroot /home/tomcat /bin/su tomcat
Èç¹ûÉ趨ÕýÈ·£¬ÕâÓ¦¸ÃÈÃÄúÔÚеĸùĿ¼ÏÂ×÷Ϊ tomcat Ö´ÐУ¬¶øÇÒÄú¿ÉÒÔ³¢ÊÔʹÓÃÄúµÄÖ¸ÁîÂëÀ´Æô¶¯ºÍÍ£Ö¹ Tomcat.ÔÚ֤ʵÁËËùÓж«Î÷¶¼¹¤×÷Ö®ºó£¬×îºóÒ»²½¾ÍÊǽ«Çåµ¥ 3 ÖÐµÄ Tomcat ·þÎñ¶¨Òå±ä¸ü³ÉʹÓà chroot À´´úÌæ su£¬½« su Ö¸ÁîÒÆµ½ tcstart.sh Ö¸ÁîÂëºÍ tcstop.sh Ö¸ÁîÂë¡£»¹ÐèҪȷ±£Ö»ÄÜÓÉ root ʹÓÃÕßÐÞ¸ÄÕâЩָÁîÂë¡£
Ï£ÍûÕâÆª¸ÅÊöµÄ½âÊͺÜÇå³þ£¬Õâ¸ö¹ý³Ì²¢²»Êʺϵ¨Ð¡µÄÈË©uÈç¹ûÄúÑ¡Ôñ×ßʹÓà chroot ÕâÌõ·Ïߣ¬µ«ÒÔǰûÓÐʹÓùý chroot£¬ÄÇôÄúÒ»¶¨Òª²Î¿¼ÍøÉ쵀 chroot ²Î¿¼Êý¾ÝÖ®Ò»£¬ÒÔ»ñÈ¡ÏêϸÐÅÏ¢¡£µ«ÊÇÕâȷʵ»á¸øÄúµÄ Java ·þÎñÆ÷³ÌÐò´úÂë¿ÉÄÜ×îºÃµÄ¸ôÀ룬¶øÇÒÔÚijЩÇé¿öÏ£¬´øÀ´µÄÄÚÐĵÄÄþ¾²ÖµµÃÕâÑù×ö¡£
½áÓï
Linux ºÍ Java ¼¼Êõ¶¼ÕýÔÚÓ®µÃÉÌҵϵͳµÄÊг¡·Ý¶î¡£¾¡¹Ü¿ª·ÅÀ´Ô´Âë Linux ºÍÌØÐí Java ¼¼ÊõÖ®¼ä´æÔÚ×ÅÔÀíÉϵIJîÒ죬µ«ÕâÁ½ÕßÔÚÒ»ÆðȷʵÅäºÏµÃºÜºÃ¡£Linux ¶ÔÓÚ Java Ó¦ÓóÌÐò£¬ÓÈÆäÊǶÔÓÚ·þÎñÆ÷Àà±ðÐ͵ÄÓ¦ÓóÌÐòÊÇÒ»¸ö¼«ºÃµÄ²¿Êð»·¾³£¬¶ø Java ¼¼ÊõÊÇ×÷ΪÆóÒµÈí¼þ¿ª·¢µÄÏȽø·½·¨¶ø½¨Á¢Çҵõ½ÁËÈϿɡ£
͸¹ýÕýÈ·µÄÔ¤·À´ëÊ©£¬ÔÚ Linux ÉÏÖ´ÐÐµÄ Java ·þÎñÆ÷Ó¦ÓóÌÐò¿ÉÒÔÌṩ·Ç³£¸ßµÄ°²È«ÐÔ³Ì¶È ©¤ ÉõÖÁ¸ßÓÚ±¾»úÓ¦ÓóÌÐò ©¤ ÒòΪ Java ¼¼ÊõÏû³ýÁË·þÎñÆ÷Ó¦ÓóÌÐòÖÐÐí¶àÈõµãµÄ³£¼ûÀ´Ô´¡£Java ¼¼ÊõµÄ¿çƽ̨ÐÔÖÊËù´øÀ´µÄÊǰüÀ¨ÆóÒµ¹¤×÷ÈËÔ±ºÍ Linux Á¢¼´¾ÍÐ÷µÄÓ¦ÓóÌÐòµÄ¾Þ´ó×ÊÔ´¼¯ºÏ¡£Java ·þÎñÆ÷Ó¦ÓóÌÐò¿ªÊ¼ÔÚÈÕÒæÔö³¤µÄ Linux µÄ·þÎñÆ÷Êг¡·Ý¶îÖаçÑÝÖØÒª½ÇÉ«£¬¶øÇÒÕâÖÖÇ÷ÊÆÔÚ½«À´Ö»»á°ïÖúÕâÁ½ÖÖ¼¼Êõ¡£
ÎÒÒª¸Ðл Miles Sabin ÏòÎÒÖ¸³öÁË /proc Îļþϵͳ£¬À´½â¾öÔÚ¶à´¦ÀíÆ÷ϵͳÉÏ chroot Java µÄÎÊÌâ¡£
| ×ÔÓÉ¹ã¸æÇø |
| ¡¡ |