²é¿´: 7064|»Ø¸´: 11

apacheÉý¼¶

[¸´ÖÆÁ´½Ó]
ÂÛ̳»ÕÕÂ:
4
ITPUBÔªÀÏ
ÈÕÆÚ:2005-02-28 12:57:00ÊÚȨ»áÔ±
ÈÕÆÚ:2005-10-30 17:05:33¹ÜÀíÍŶÓ2006¼ÍÄî»ÕÕÂ
ÈÕÆÚ:2006-04-16 22:44:45»áÔ±2006¹±Ï×»ÕÕÂ
ÈÕÆÚ:2006-04-17 13:46:34
Ìøתµ½Ö¸¶¨Â¥²ã
1#
·¢±íÓÚ 2002-9-23 16:43 | Ö»¿´¸Ã×÷Õß »ØÌû½±Àø |µ¹Ðòä¯ÀÀ |ÔĶÁģʽ
   ÎªÁË°ïÖúÄúÉý¼¶£¬ÎÒÃDZàдÁËÒ»¸öÎĵµ£¬À´½éÉÜһЩ¶ÔApacheµÄµ±Ç°Óû§·Ç³£ÖØÒªµÄÐÅÏ¢¡£ÎÒÃÇÒªÌáÐÑÄú£¬Õâ¸öÎĵµÖ»½éÉÜÁË×îÐÂÒ»´ÎÉý¼¶Öз¢ÉúµÄ±ä»¯£¬ÍƼöµÄÀý×ÓÒ²ÊÇÒ»ÑùµÄ¡£Òò´Ë£¬Èç¹ûÄúÕýÔÚʹÓÃApache1.1»òÊǸüÀϵİ汾£¬ÄÇôÄú¾ÍµÃÏÈŪÇå³þÔÚÕâЩ°æ±¾Éý¼¶µ½1.2ÒÔÇ°µÄ±ä»¯,È»ºóÔÙ¿¼ÂÇʹÓÃÕâ·ÝÎĵµ¡£ÀÏ°æ±¾µÄÓû§¿ÉÒԲ鿴src/CHANGESÎļþ£¬ÔÚÕâ¸öÎļþÀï¼ÇÔØ×ÅÒÔÍùµÄ´úÂë±ä»¯Çé¿ö¡£
    Õâ¸öÎĵµÖ»ÊǼò½éһЩҪµã£¬¸üÏêϸµÄ½éÉÜ¿ÉÒÔÔÚNew FeatureÎĵµÀïÕÒµ½£¬Ò²¿ÉÒԲ鿴src/CHANGESÎļþ¡£
±àÒëÆÚ¼äÅäÖõı仯
¡¤ ÖØÐÂ×éÖ¯ÁËÔ­´úÂë¡£Õâ»á¶Ô¸öÈËÅäÖõÄÄ£¿éºÍ¸öÈË×ö¶ÔÆäËûÅäÖõÄÐ޸IJúÉúÓ°Ïì¡£ÁíÍ⣬ModuleÒýµ¼(directive)¸Ä³ÉÁËAddModuleÒýµ¼(directive)¡£
¡¤  ÅäÖñäÁ¿EXTRA_LFLAGS¸ÄÃûΪEXTRA_LDFALGS¡£
¡¤ -DMAIMUM_DNSAµÄ¶¨Ò屻ɾµô¡£Èç¹ûÐèÒª£¬¿ÉÒÔͨ¹ýmod_accessÖ´ÐÐË«ÏòDNSµÄ²éÑ°¡£
¡¤ -DSERVER_SUBVERSION=\"string\"±àÒëÆÚ¼ä ÅäÖÃÑ¡Ïî±»³ÆΪ"ap_add_version_component? µÄÔËÐÐÆÚ¼äAPIËùÈ¡´ú¡£Í¬Ê±±àÒëÆڼ䲻ÔÙÄܹ»Í¨¹ýÅäÖýű¾¶Ô·þÎñÆ÷µÄ±àÒë¡£
¡¤ mod_dir·ÖΪmod_autoindexºÍmod_dirÁ½¸ö²¿·Ö¡£
¡¤ mod_browser±»mod_setenvifÈ¡´ú¡£
¡¤ IRIXϵͳÖУ¬Èç¹û°üÀ¨Î´ÖÃÐŵÄÓû§£¬ËûÃÇ¿ÉÒÔ±àдÔÚÖ´ÐÐʱÓëhttpdÏàͬÓû§ÃûµÄCGI£¬ÄÇôӦ¸Ã¿¼ÂÇʹÓÃsuexec,»òÕß°ÑDUSE_FCNTL_SERIALIZED_ACCEPT¼ÓÈëµ½EXTRA_CFLAGSÖС£ÕâÑù×öÂýһЩ,Óë´ËÓйصĸü¶à½âÊÍ¿ÉÒÔÔÚperformance tuning pageÖÐÕÒµ½¡£ÔÚȱʡµÄÅäÖÃÏ£¬¶Ô¿ÉÄܳöÏֵķþÎñ¹¥»÷£¨service attack£©Ö»ÓÐÒ»¸öÇá¶ÈµÄ±£»¤¡£²»¹ýÕâ¸öÅäÖÃÔËÐеÄËٶȷdz£¿ì¡£
¡¤ mod_auth_msql ÒѾ­´ÓÕâ¸ö°æ±¾Öб»É¾³ý
¡¤  ÐµÄApache×Ô¶¯ÅäÖýӿڣ¨Apache Autoconf-style Interface£©APACI±»¼Óµ½¶¥²ã£¬ËüΪÍêÕûµÄApacheÈí¼þ°üÌṩÁËÒ»¸öÕæÕýµÄºÚÏäʽµÄ¹¹½¨ºÍ°²×°¹ý³Ì¡£
                           ±àÒëºÍ°²×°Apache 1.3
    ÕâƪÎĵµº­¸ÇÁËÔÚUnixϵͳÉϱàÒëºÍ°²×°Apache, ÊÖ¶¯½¨Á¢ºÍ°²×°µÄ·½·¨. Èç¹ûÄãÏ£ÍûʹÓÃ×Ô¶¯ÅäÖ÷½Ê½µÄ½çÃæ, ÄãÓ¦¸ÃÔĶÁ ApacheÔ´Âë·¢ÐаæµÄ¸ùĿ¼ÏµÄINSTALLÎļþ. ÈôÔÚһЩÌض¨µÄƽ̨ÉÏ°²×°,Çë¿´
?        Using Apache with Microsoft Windows
?        Using Apache with Novell Netware 5
?        Using Apache with HP MPE/iX
?        Compiling Apache under UnixWare
?        Overview of the Apache TPF Port
  ÏÂÔØ Apache
        Apache ×îеİ汾ÐÅÏ¢¿ÉÒÔÔÚ Apache web ·þÎñÆ÷ http://www.apache.org/.ÉÏÕÒµ½. Ëü»áÁгöµ±Ç°µÄ°æ±¾, µ±Ç°beta²âÊÔ°æ±¾, ÒÔ¼°Ò»Ð©¾µÏówebÕ¾µãºÍÄäÃûftpÕ¾µã..
    Èç¹ûÄãÏÂÔØÁË¿ÉÖ´Ðеķ¢Ðаæ, Ö±½ÓÌøµ½°²×° Apache. ·ñÔò¼ÌÐø¶ÁÏÂÒ»½Ú,ÔõÑù±àÒëApache·þÎñÆ÷.
   ±àÒë Apache
    ±àÒëApacheÒª¾­¹ýÈý²½: Ê×ÏÈÑ¡ÔñÄãÏ£Íû°üº¬½øÈ¥µÄApache Ä£¿é. È»ºóΪÄãµÄ²Ù×÷ϵͳ´´½¨Ò»¸öÅäÖÃ. ×îºó±àÒë³ö¿ÉÖ´ÐÐÎļþ.
    ËùÓеÄÅäÖù¤×÷¶¼ÊÇÔÚApache·¢ÐаæµÄsrcĿ¼ÏÂÍê³ÉµÄ. ¸Ä±äÆäΪµ±Ç°Ä¿Â¼.
1.        ÔÚÅäÖÃÎļþÖÐÑ¡ÔñÒª±àÒë½øApacheµÄÄ£¿é. ûÓÐ×¢Ê͵ÄÐжÔÓ¦ÓÚÄÇЩ¿ÉÑ¡µÄ,ÄãÏ£Íû¼ÓÈëµÄÄ£¿é(ÔÚAddModule ÐÐÖ®¼ä,ÔÚÎļþ×îµ×²¿), »òÕß¼ÓһЩ¶ÔÓ¦ÓÚÄãÏÂÔصĻòдµÄ¸½¼ÓÄ£¿éÐÂÐÐ. (ÔõÑù±àд³õ²½µÄApacheÄ£¿éÏê¼û API.html). ¸ß¼¶Óû§Èç¹ûÈ·ÐŲ»ÐèҪһЩĬÈÏÄ£¿é, ¿ÉÒÔ×¢Ê͵ôËüÃÇ (ËäÈ»Èç´ËҲҪСÐÄ, ÒòΪºÜ¶àĬÈÏÄ£¿é¶ÔÓÚÕýÈ·µÄÔË×÷ºÍ·þÎñÆ÷°²È«·Ç³£ÖØÒª).
ÄãÒ²±ØÐëÔĶÁÅäÖÃÎļþÖеÄ˵Ã÷ÒÔÈ·¶¨ÄãÊÇ·ñÐèÒªÕâЩ²ßÂÔÐÐ.
2.        ΪÄãµÄ²Ù×÷ϵͳÅäÖÃApache. ͨ³£ÄãÖ»ÐèÏóÏÂÃæÄÇÑùÔËÐÐ Configure½Å±¾. µ«ÊÇÈç¹ûÕâÑùʧ°ÜÁË»òÕßÄãÓÐһЩÌØÊâÐèÇó (ÀýÈç, °üº¬Ò»¸ö¿ÉÑ¡Ä£¿éÐèÒªµÄ¸½¼Ó¿â) Äã»òÐí¾ÍÐèÒª±à¼­ÅäÖÃÎļþÖÐÒÔϵÄÒ»¸ö»ò¼¸¸öÑ¡Ïî: EXTRA_CFLAGS, LIBS, LDFLAGS, INCLUDES.
ÔËÐÐÅäÖÃConfigure½Å±¾:
    % Configure
    Using 'Configuration' as config file
     + configured for <whatever> platform
     + setting C compiler to <whatever> *
     + setting C compiler optimization-level to <whatever> *
     + Adding selected modules
     + doing sanity check on compiler and options
    Creating Makefile in support
    Creating Makefile in main
    Creating Makefile in os/unix
    Creating Makefile in modules/standard
   
(*: ÒÀÀµÓÚÄãµÄÅäÖÃÎļþºÍϵͳ, Configure¿ÉÄܲ»»á´òÓ¡³öÕâЩÐÐ.ÄÇÒ²ÊÇÕý³£µÄ).
Õâ»áΪµÚÈý²½Éú³ÉÒ»¸öMakefileÎļþ. »¹»áÔÚsupportĿ¼ÏÂΪ¿ÉÑ¡µÄÖ§³Ö³ÌÐò±àÒëÉú³ÉÒ»¸öMakefileÎļþ.
(Èç¹ûÄãÏëά»¤¶à¸öÅäÖÃ,Äã¿ÉÒÔ¸øConfigureÒ»¸öÑ¡Ïî¸æËßËü¶ÁÄÄÒ»¸öÌæ´úµÄÅäÖÃÎļþ, ÀýÈçConfigure -file Configuration.ai).
3.        ¼üÈë make.
    ÎÒÃÇ·ÅÈëApache·¢ÐаæµÄµÄÄ£¿éÊÇÎÒÃDzâÊÔ¹ý²¢ÔÚ¿ª·¢Ð¡×鲻ͬ³ÉÔ±ÖÐʹÓùýµÄ. һЩ³ÉÔ±»òµÚÈý·½¿ª·¢µÄÓÃÓÚÌØÊⳡºÏµÄÄ£¿é¿ÉÒÔÔÚ<http://www.apache.org/dist/contrib/modules/>»ñµÃ. ÔÚÉÏÃæÓаÉÕâЩģ¿éÁ´½ÓÈëApacheºËÐÄ´úÂëµÄ˵Ã÷.
  °²×° Apache
    ÄãÏÖÔÚÔÚsrcĿ¼ÏÂÓ¦¸ÃÓÐÁËÒ»¸ö½ÐhttpdµÄ¿ÉÖ´ÐÐÎļþ. ApacheµÄ¿ÉÖ´Ðз¢Ðа汾»á°üº¬Õâ¸öÎļþ.
    ÏÂÒ»²½¾ÍÊÇ°²×°Õâ¸ö³ÌÐò²¢ÅäÖÃËü. Apache±»Éè¼Æ³ÉÔںͱàÒëʱµÄͬһ×éĿ¼ÏÂÅäÖúÍÔËÐÐ. Èç¹ûÄãÏëÔÚ±ðµÄµØ·½ÔËÐÐ,½¨Á¢Ò»¸öĿ¼²¢°Ñconf, logs ºÍ icons Ŀ¼¿½±´¹ýÈ¥. ²»ÂÛÊÇÄÄÖÖÇé¿öÄã±ØÐëÔĶÁsecurity tipsÒÔÖªµÀÔõÑùΪ·þÎñÆ÷µÄ¸ùĿ¼ÉèÖÃȨÏÞ.
    ÔÚÏÂÒ»²½¾ÍÊÇΪ·þÎñÆ÷±à¼­ÅäÖÃÎļþ. Õâ°üº¬ÔÚÈý¸öÖ÷ÒªµÄÅäÖÃÎļþÖÐÉèÖò»Í¬µÄÖ¸Áî(directives). ȱʡÇé¿öÏÂ, ÕâЩÎļþÔÚconfĿ¼ÏÂ,³ÆΪsrm.conf, access.conf ºÍ httpd.conf. ΪÁË°ïÖúÄ㿪ʼÁ˽â,ÔÚ·¢ÐаæµÄconfĿ¼ÏÂÓÐÏàͬµÄÎļþ, ½Ð×ösrm.conf-dist, access.conf-dist ºÍ httpd.conf-dist. ¿½±´»òÖØÃüÃûÕâЩÎļþ°Ñ-distÈ¥µô. È»ºó±à¼­ÕâЩÎļþ. ÈÏÕæ¶Áÿ¸öÎļþÖеÄ×¢ÊÍ. ´íÎóµÄÉèÖÃÕâЩÎļþ»áµ¼ÖÂÄãµÄ·þÎñÆ÷²»Äܹ¤×÷»ò²»°²È«. ÄãÔÚconfĿ¼ÏÂÒ²Ó¦¸ÃÓнÐ×ömime.typesµÄ¸½¼ÓÎļþ. Õâ¸öÎļþ²»Óñ༭.
ÂÛ̳»ÕÕÂ:
4
ITPUBÔªÀÏ
ÈÕÆÚ:2005-02-28 12:57:00ÊÚȨ»áÔ±
ÈÕÆÚ:2005-10-30 17:05:33¹ÜÀíÍŶÓ2006¼ÍÄî»ÕÕÂ
ÈÕÆÚ:2006-04-16 22:44:45»áÔ±2006¹±Ï×»ÕÕÂ
ÈÕÆÚ:2006-04-17 13:46:34
2#
 Â¥Ö÷| ·¢±íÓÚ 2002-9-23 16:43 | Ö»¿´¸Ã×÷Õß
Ê×Ïȱ༭httpd.conf. Õâ¸öÎļþÉèÖÃÁ˳£ÓõķþÎñÆ÷µÄÊôÐÔ: ¶Ë¿ÚºÅ, ×÷ΪÄĸöÓû§ÔËÐеȵÈ. È»ºó±à¼­srm.confÎļþ; Õâ¸öÎļþÉèÖÃÁËÎĵµµÄ¸ùĿ¼Ê÷, ÌØÊâµÄ¹¦ÄÜÈçserver-parsed HTML»òinternal imagemap parsingµÈµÈ. ×îºó, ±à¼­access.confÎļþ×îÉÙÒªÉèÖ÷ÃÎʵĻù±¾ÇéÐÎ.
    ³ýÁËÕâÈý¸öÎļþ, ·þÎñÆ÷µÄÐÐΪҲ¿ÉÒÔÒ»¸öĿ¼һ¸öĿ¼µÄÔÚ·þÎñÆ÷·ÃÎʵÄĿ¼ÏÂÓÉ .htaccessÎļþÉèÖÃ.
    ÕýÈ·ÉèÖÃÄãµÄϵͳʱ¼ä!
    ¹«¹²·þÎñÆ÷µÄÕý³£¹¤×÷ÐèҪ׼ȷµÄʱ¼ä, ÒòΪHTTPЭÒéµÄÔªËØ(element)ÊÇÓÃÒ»ÌìÖеÄʱ¼ä(the time of day)À´±íʾµÄ. ËùÒÔ, ±ØÐëµ÷²éNTP»òÆäËûһЩUnixÉϵÄͬ²½ÉèÊ©, »òºÍËüÃǵȼ۵ÄNTÉϵÄÉèÖÃ.
    ¿ªÊ¼ÔËÐкÍÖÐÖ¹·þÎñÆ÷
    Òª¿ªÊ¼ÔËÐзþÎñÆ÷Ö»Ðè¼òµ¥µØÔËÐÐhttpd. Ëü»áÔÚ±àÒëÈëϵͳµÄλÖÃÕÒµ½httpd.confÎļþ(ÃþÈÏΪ /usr/local/apache/conf/httpd.conf). Èç¹û´ËÎļþÔÚ±ðµÄµØ·½,Äã¿ÉÒÔÓÃ-f ²ÎÊý¸ø³öÆäλÖÃ. ÀýÈç:
    /usr/local/apache/httpd -f /usr/local/apache/conf/httpd.conf
    Èç¹ûÒ»ÇÐ˳Àû,¾Í»áÁ¢¼´·µ»Øµ½ÃüÁîÐÐÌáʾ·ûÏÂ. Õâ±íʾ·þÎñÆ÷ÒѾ­Æô¶¯²¢¿ªÊ¼ÔËÐÐÁË. Èç¹ûÔÚ³õʼ»¯·þÎñÆ÷ʱ³ö´í,ÄãÔÚÆÁÄ»Éϻῴµ½Ò»¸ö´íÎóÐÅÏ¢. Èç¹û·þÎñÆ÷Õý³£Æô¶¯ÁË, ÄãÏÖÔھͿÉÒÔÓÃä¯ÀÀÆ÷Á¬½Óµ½ÄãµÄ·þÎñÆ÷²¢¿ÉÒÔä¯ÀÀÁË. Èç¹ûÄãÊÇÔÚ°²×°·þÎñÆ÷µÄͬһ̨»úÆ÷Éϲ¢ÇÒÓÃĬÈ϶˿Ú80, Äã¿ÉÒÔÔÚä¯ÀÀÆäÖÐʹÓÃURL:
    http://localhost/
    ×¢Òâ,·þÎñÆ÷Æô¶¯ºó,»á´´½¨Ò»ÏµÁеÄ×Ó½ø³ÌÀ´ÏìÓ¦ÇëÇó. Èç¹ûÄãÒÔrootÀ´Æô¶¯µÄ·þÎñÆ÷,¸±½ø³Ì»áÒ»Ö±ÒÔrootÔËÐÐ,¶ø×Ó½ø³Ì»áÇл»µ½httpd.confÎļþÉèÖõÄÓû§ÔËÐÐ.
    Èç¹ûµ±ÄãÔËÐÐhttpdʱ, Ëü¸ø³ö²»ÄÜ"°ó¶¨"µ½Ò»¸öµØÖ·ÐÅÏ¢, ÄÇô»òÕßÊÇÆäËûµÄ½ø³ÌÒѾ­ÔÚʹÓÃÄãΪApacheÅäÖõĶ˿Ú, »òÕßÊÇÄãÒÔÒ»¸öÆÕͨÓû§µÄÉí·ÝÔËÐÐ httpdµ«È´ÊÔͼʹÓÃ1024ÒÔϵĶ˿Ú(ÀýÈçȱʡ¶Ë¿Ú80).
    Èç¹û·þÎñÆ÷²»ÄÜÔËÐÐ, ¿´¿´µ±ÄãÔËÐÐhttpdʱÏÔʾµÄ´íÎóÐÅÏ¢. ÄãÒ²Ó¦¼ì²é·þÎñÆ÷µÄ´íÎóÈÕÖ¾ ÒԵõ½Ò»Ð©¸½¼ÓµÄÐÅÏ¢(ÔÚȱʡÇé¿öÏÂ, ´íÎóÈÕÖ¾»áÔÚlogsĿ¼ÏÂ).
    Èç¹ûÄãÏ£ÍûÖØÆðºó·þÎñÆ÷×Ô¶¯ÔËÐÐ, Äã±ØÐëÔÚÄãµÄÆô¶¯ÎļþÖмÓÒ»¸öhttpdµ÷ÓÃ(Ò»°ãÊÇ rc.local»òÔÚrc.N Ŀ¼ÏµÄÒ»¸öÎļþ). ÕâÑù¾Í»áÒÔrootÆô¶¯Apache. ÔÚÕâÑù×ö֮ǰ,Äã±ØÐë±£Ö¤ÄãµÄ·þÎñÆ÷ÒѾ­Îª°²È«ºÍ·ÃÎÊȨÏÞ×öºÃÁËÅäÖÃ.
    ÒªÖÐÖ¹Apache¸ø¸¸½ø³Ì·¢ËÍÒ»¸öTERMÐźÅ. Õâ¸ö½ø³ÌµÄPID±»Ð´ÔÚlogsĿ¼ÏµÄhttpd.pidÎļþÀï(³ý·Ç±»ÁíÍâÅäÖùý). ²»Òª³¢ÊÔɱËÀ×Ó½ø³ÌÒòΪËüÃÇ¿ÉÒÔ±»¸¸½ø³Ì¸üÐÂ. Ò»¸öµäÐ͵ÄÖÐÖ¹·þÎñÆ÷µÄÃüÁîÊÇ:
    kill -TERM `cat /usr/local/apache/logs/httpd.pid`
    ΪÁ˵õ½¸ü¶àµÄ¹ØÓÚApacheÃüÁîÐÐÑ¡Ïî,ÅäÖúÍÈÕÖ¾µÄÐÅÏ¢, Çë¿´Starting Apache. Ò»¸öËùÓйØÓÚApacheËù·¢²¼µÄÄ£¿éÖ§³ÖµÄApache directives µÄ·ÃÎÊÊÖ²á, Çë¿´Apache directives.
  ±àÒëÖ§³Ö³ÌÐò(Support program)
    ³ýÁËÇ°Ãæ±àÒëºÍÅäÖõÄ×îÖ÷ÒªµÄhttpd·þÎñÆ÷Íâ, Apache»¹°üº¬Á˺ܶàÖ§³Ö³ÌÐò. ÕâЩ²»»áȱʡµÄ±»±àÒë. ÕâЩ֧³Ö³ÌÐò±»·ÅÔÚsupportĿ¼ÏÂ. Òª±àÒëËüÃÇ, Çл»µ½¸ÃĿ¼ÏÂÈ»ºó¼üÈë:
    make
¿ªÊ¼Ê¹Óà Apache
µ÷ÓÃ Apache
ÔÚ Unix ϵͳÖÐ, httpd Ó¦ÓóÌÐòͨ³£ÊÇ×÷Ϊһ¸ö³ÖÐøÔËÐеÄÊغî½ø³ÌÀ´´¦ÀíÇëÇóµÄ.¿ÉÒÔʹÓà Internet daemon inetd À´µ÷Óà Apache ²¢Ã¿´Î½« HTTP ×÷Ϊ·þÎñÀ´´´½¨Á¬½Ó. (ʹÓÃServerTypeÀ´Ö¸Ê¾) È»¶øÕâ²¢²»±»ÍƼöʹÓÃ.
ÔÚ Windows ϵͳÖÐ, Apache ͨ³£ÊÇ×÷Ϊ Windows NT µÄÒ»¸ö·þÎñÀ´ÔËÐÐ, »òÕßÒ²¿ÉÒÔ×÷Ϊһ¸ö¿ØÖÆ̨ӦÓóÌÐòÔÚ Windows 95 ÉÏÔËÐÐ. Áí¼ûÔÚ Windows ƽ̨ÔËÐÐ Apache.
ÃüÁîÐÐÑ¡Ïî
ÒÔϵÄÑ¡ÏîÊÇÓÐ¹Ø httpd ·þÎñµÄÃüÁîÐвÎÊý:
-d ·þÎñÆ÷µÄ¸ù·¾¶
ΪServerRoot variable to serverrootÉèÖóõʼֵ. ËüÒ²¿ÉÒÔ±»ÅäÖÃÎļþÖÐ ServerRoot ÃüÁîµÄ³õʼֵÌæ´ú. ÔÚ Unix ϵͳÖÐȱʡµÄĿ¼ÊÇ /usr/local/apache, ÔÚ Windows ƽ̨ÊÇ/apache ÔÚOS/2ƽ̨ÊÇ/os2httpd.
-D Ãû³Æ
¶¨ÒåÒ»¸öÃû³ÆIfDefine directives. Õâ¸öÑ¡Ïî¿ÉÒÔ±»ÓÃÀ´ÔÚÅäÖÃÎļþÖÐËæʱÆôÓÃÈ·¶¨µÄ¹¦ÄÜ, »òÕßΪ¼¸¸ö¶ÀÁ¢Ö÷»úʹÓÃÒ»¸ö±»¸¶ÉϵÄÖ÷»úÌØÊâÐÅÏ¢<IfDefine> ¶ÎÂä.
-f ÅäÖÃ
ÔÚÆô¶¯Ê±Ö´ÐÐÃüÁîÅäÖÃ. Èç¹ûÅäÖÃÖв»ÊÇÒÔ/·ûºÅ¿ªÊ¼µÄ, Ëü½«´ú±íÊÇServerRootµÄ×ÓĿ¼. ȱʡÊÇconf/httpd.conf.
-C "ָʾ"
·¢³öÒ»¸öָʾ¸ø Apache ·þÎñÆ÷(ËüÊÇÅäÖÃÎļþµÄÒ»²¿·Ö) ÔÚʵ¼Ê¶ÁÈ¡¹æÔòÅäÖÃÎļþ֮ǰ.
-C "ָʾ"
·¢³öÒ»¸öָʾ¸ø apache ·þÎñÆ÷ÔÚ¶ÁÈ¡ÅäÖÃÎļþÖ®ºó.
-X
ÒÔµ¥´¦ÀíÆ÷·½Ê½ÔËÐÐ, ֻΪÁËÄÚ²¿µ÷ÊÔÄ¿µÄ; Õâ¸öÊغî½ø³Ì²»ÄÜͨ¹ýÈκÎ×Ó½ø³Ì²úÉú.²»Óà ÕâÖÖģʽÌṩÆÕͨ WWW ·þÎñ.
-v
Êä³ö httpd °æ±¾ºÍʱ¼äÖ®ºóÍ˳ö.
-V
ÏÔʾ httpdµÄ°æ±¾, ËüµÄ·¢ÐÐʱ¼ä, ±àÒëʱ¼äÉèÖúÍ(ÆäËûÈ»ºó½áÊø, -DUSE_MMAP_FILES).
-L
Êä³öÖ¸ÁîÁÐ±í²¢ÏÔʾÄÇЩÓÐЧȻºóÍ˳ö.(Apache 1.3.4 ¼°ÒÔºó°æ±¾. ÒÔÇ°°æ±¾Ê¹Óà -l).
-l
Áгö±àÒëÔÚ Server ÖеÄÄ£¿éÁбíÈ»ºóÀ뿪. (Apache 1.3.4 ¼°ÒÔºó°æ±¾. ÔçÆڰ汾ʹÓà -h).
Êä³öÖ¸ÁîÁÐ±í²¢ÏÔʾÄÇЩÓÐЧȻºóÍ˳ö. (´Ó Apache 1.2 µ½ 1.3.3. ÒÔÇ°°æ±¾Ê¹Óà -L).
-h
ÏÔʾ³ö httpd Ñ¡ÏîÁбíÈ»ºóÍ˳ö. (Apache 1.3.4 ¼°ÒÔºó°æ±¾. ÔçÆڰ汾ʹÓà -? ).
Áгö±àÒëÔÚ Server ÖеÄÄ£¿éÁбíÈ»ºóÀ뿪. (Ö±µ½ Apache 1.3.3. ÒÔºó°æ±¾Ê¹Óà -l).
-S
Ϊ·ÖÎöÅäÖÃÎļþµÄÄ¿µÄÏÔʾÉèÖà (µ±Ç°Ö»ÏÔʾ±ÀÀ£µÄÐéÄâÖ÷»úÉèÖÃ), µ«²»»áÆô¶¯·þÎñÆ÷. (Ö±µ½ Apache 1.3.3, Õâ¸öÑ¡ÏîÒ²¿ÉÒÔÆô¶¯·þÎñÆ÷).
-t
²âÊÔÅäÖÃÎļþÓï·¨ (¼È¶ÁËùÓÐÅäÖÃÎļþ²¢½âÊÍ) µ«²»Æô¶¯·þÎñÆ÷. Èç¹ûÅäÖÃÎļþ°üº¬´íÎó, ½«ÏÔʾ´íÎóÐÅÏ¢²¢´ø×ÅÒ»¸ö·ÇÁã²ÎÊý·µ»Ø, ·ñÔò½«ÏÔʾ "Óï·¨ÕýÈ·" ²¢·µ»ØÒ»¸öÁã²ÎÊý.
-k Ñ¡Ïî
½öΪ Windows ƽ̨ʹÓÃ: ±ê¼Ç Apache ÖØÐÂÆô¶¯»ò¹Ø±Õ. Ñ¡Ïî ÊÇ "¹Ø±Õ" »ò "ÖØÐÂÆô¶¯" Ö®Ò». (Apache 1.3.3 ºÍÒÔºó°æ±¾).
-?
ÏÔʾ³ö httpd Ñ¡ÏîÁбíÈ»ºóÍ˳ö. (Ö±µ½ Apache 1.3.3£¬ÒÔºó°æ±¾Ê¹Óà -h).
ÅäÖÃÎļþ
·þÎñÆ÷ΪÅäÖÃÖ¸Á¶ÁÈý¸öÎļþ. ÈκÎÖ¸Á¿ÉÄܳöÏÖÔÚËüÃǵÄÈÎÒ»¸öÖÐ. ËüÃǵÄÃû³ÆÓë·þÎñÆ÷µÄ¸ùĿ¼ÓйØ; Õâ±»ServerRootÉèÖÃ, -d ÃüÁîÐбê¼Ç, »ò (½öµ± windows ƽ̨µÄ×¢²á±í) (Çë²Î¼ûÔÚ Windows ƽ̨ÔËÐÐ Apache). ÕâЩÎļþÊÇ:
conf/httpd.conf
°üº¬·þÎñÊغî½ø³ÌµÄ¿ØÖÆÖ¸Áî. ÎļþÃû¿ÉÒÔ²»¹Ë-fÃüÁîÐбê¼Ç.

ʹÓõÀ¾ß ¾Ù±¨

»Ø¸´
ÂÛ̳»ÕÕÂ:
4
ITPUBÔªÀÏ
ÈÕÆÚ:2005-02-28 12:57:00ÊÚȨ»áÔ±
ÈÕÆÚ:2005-10-30 17:05:33¹ÜÀíÍŶÓ2006¼ÍÄî»ÕÕÂ
ÈÕÆÚ:2006-04-16 22:44:45»áÔ±2006¹±Ï×»ÕÕÂ
ÈÕÆÚ:2006-04-17 13:46:34
3#
 Â¥Ö÷| ·¢±íÓÚ 2002-9-23 16:44 | Ö»¿´¸Ã×÷Õß
conf/srm.conf
°üº¬·þÎñÆ÷Ìṩ¸ø¿Í»§¶ËµÄÌØÊâÎĵµ¿ØÖÆÖ¸Áî.ÎļþÃû¿ÉÒÔ²»¹ËResourceConfigÖ¸Áî.
conf/access.conf
°üº¬´æÈ¡ÎĵµµÄ¿ØÖÆÖ¸Áî. ÎļþÃû¿ÉÒÔ²»¹Ë AccessConfigµÄÖ¸Áî.
È»¶ø, Ò»°ã²»ÐèÒªÕâÑù.
·þÎñÆ÷Ò²¶ÁÈ¡°üº¬ mime ÎĵµÀàÐÍ; ÎļþÃû±»TypesConfig Ö¸ÁîÉèÖÃ,ȱʡÊÇconf/mime.types.
ÈÕÖ¾Îļþ
°²È«¾¯¸æ
¿ÉÒÔÔÚ Apache ´æÈ¡ÈÕÖ¾ÎļþºÍ UID ÎļþµÄĿ¼ÀïÓÐдȨÏÞµÄÍùÍùÊÇ Root Óû§.²»ÓøøÆäËûÓû§ÓÐдÈÕ־Ŀ¼µÄȨÏÞ; Çë²Î¼û°²È«ÌáʾÎĵµ.
pid Îļþ
Æô¶¯Ê±, Apache ±£´æ¸¸½ø³ÌµÄ ID ÔÚÒ»¸öÎļþÖÐlogs/httpd.pid. ÎļþÃû¿ÉÒÔ±»PidFileÖ¸Áî¸Ä±ä. Õâ¸ö½ø³Ì ID ÊÇΪ¹ÜÀíÔ±ÖØÐÂÆô¶¯ºÍÖÕÖ¹Êغî½ø³ÌʱʹÓõÄ: ÔÚ Unix ƽ̨, HUP »ò USR1 ÐźſÉÒÔÈÃÊغî½ø³ÌÖØжÁÈ¡ËüµÄÅäÖÃÎļþ²¢ÖÕÖ¹Ëü; ÔÚ Windows ƽ̨¿ÉÒÔʹÓà -k ÃüÁî. ÏëµÃµ½¸ü¶àÐÅÏ¢Çë²Î¼ûÍ£Ö¹ºÍÖØÐÂÆô¶¯Ò³.
Èç¹û½ø³Ì²»Õý³£µÄÖÕÖ¹ (»ò±»½áÊø), ½«ÐèÒª½áÊø×Ó½ø³Ì.
´íÎóÈÕÖ¾
·þÎñÆ÷½«±£´æ´íÎóÏûÏ¢ÔÚÒ»¸öÈÕÖ¾ÎļþÖÐ, ȱʡÊÇ Unix ƽ̨logs/error_log Windows »ò OS/2 ƽ̨logs/error.log. ÎļþÃû½«±»ErrorLogÖ¸ÁîÉèÖÃ; ²»Í¬µÄ´íÎóÈÕÖ¾¿ÉÒÔ±»²»Í¬µÄ ÐéÄâÖ÷»úÉèÖÃ.
´«ÊäÈÕÖ¾
·þÎñÆ÷½«Ã¿Ò»¸öÇëÇó¼Ç¼³É±ê×¼ÈÕÖ¾, ȱʡÔÚ Unix ƽ̨ÊÇlogs/access_log windows ºÍ OS/2 ƽ̨ÊÇlogs/access.log. ÎļþÃû¿ÉÒÔʹÓÃTransferLogÖ¸ÁîÅäÖûò±» CustomLog Ö¸Áî´´½¨µÄÈÕÖ¾Îļþ; ²»Í¬µÄ´«ÊäÎļþ¿ÉÒÔʹÓò»Í¬µÄÐéÄâÖ÷»úÀ´ÅäÖÃ.
Í£Ö¹ºÍÆô¶¯ Apache
±¾ÎĽöÕë¶Ô Unix ƽ̨µÄ Apache ·þÎñÆ÷µÄÆô¶¯ºÍÍ£Ö¹.Windows ƽ̨µÄÓû§Çë²Î¼ûÔËÐÐ Apache.
Ä㽫»á×¢Òâµ½Óкܶàhttpd ÔËÐÐÔÚÄãµÄϵͳÖÐ, µ«ÊÇÄã²»Ó¦¸Ã·¢ËͽáÊøÐźŸø³ýÁËÖ÷½ø³ÌÒÔÍâµÄÈκÎ×Ó½ø³Ì, ËüÃǵĽø³ÌºÅÔÚÎļþPidFileÖÐ. ÕâÒ²ÊÇ˵ÄãÓÀÔ¶Ò²²»Ó¦¸Ã·¢ËͽáÊøÐźŸø³ýÁËÖ÷½ø³ÌÒÔÍâµÄÈκÎ×Ó½ø³Ì. ÓÐÈý¸öÐźÅÄã¿ÉÒÔ·¢Ë͸øÖ÷½ø³Ì:TERM, HUP, ºÍUSR1, ÉԺ󽫽âÊÍËüÃǵÄʹÓ÷½·¨.
ÄãÓ¦¸ÃʹÓÃÀýÈçÏÂÃæµÄÃüÁî¸øÖ÷½ø³Ì·¢³öÒ»¸öÐźÅ:
    kill -TERM `cat /usr/local/apache/logs/httpd.pid`
Äã¿ÉÒÔÔĶÁÓйØÕâ¸ö¹ý³ÌµÄÐÅÏ¢:
    tail -f /usr/local/apache/logs/error_log
ÐÞ¸ÄÏÂÃæµÄÀý×ÓÀ´Æ¥ÅäÄãµÄServerRoot ÀàÐͺÍPidFileÎļþÉèÖÃ.
¶ÔÓÚ Apache 1.3 Ìṩһ¸ö½Å±¾Îļþsrc/support/apachectl Ëü¿ÉÒÔÆô¶¯, Í£Ö¹, ²¢ÖØÐÂÆô¶¯ Apache. ËüÒ²ÐèҪһЩϵͳ¶¨Öƹ¤×÷, Çë²ÎÔĽű¾¿ªÊ¼²¿·ÖµÄ×¢½â.
TERM Signal: Á¢¿ÌÍ£Ö¹
·¢ËÍTERMÐźŸøÖ÷½ø³Ì, ½«»áÒýÆðÖ÷½ø³ÌÁ¢¿Ì³¢ÊÔ½áÊøËüµÄËùÓÐ×Ó½ø³Ì. Ò²¿ÉÄÜÐèÒª¼¸ÃëÖÓÀ´³¹µ×½áÊøËüµÄ×Ó½ø³Ì. È»ºóÖ÷½ø³Ì×Ô¼º½áÊø. ÔÚ´¦ÀíµÄÈκÎÇëÇ󽫱»ÖжÏ, ²¢ÇÒÒ²²»»áÔÙ·þÎñÈκÎÇëÇó.
HUP Signal: ÖØÐÂÆô¶¯
·¢ËÍHUPÐźŸøÖ÷½ø³Ì½«µ¼Ö½áÊøËüµÄ×Ó½ø³Ì, ¾ÍÏëTERMÐźÅÒ»Ñù,µ«ÊÇÖ÷½ø³Ì½«²»»áÖÕÖ¹. Ëü½«ÖØжÁÈ¡ÅäÖÃÎļþ, ²¢ÇÒÖØдò¿ªËùÓеÄÈÕÖ¾Îļþ. È»ºóÖØвúÉúËùÓÐ×Ó½ø³Ì²¢¼ÌÐøΪµã»÷²Ù×÷Ìṩ·þÎñ.
״̬ģ¿é µÄʹÓÃÕß½«»á×¢Òâµ½·þÎñÆ÷µÄ״̬ͳ¼ÆÔÚHUPÐźű»·¢Ëͺó±»ÖÃΪÁã.
×¢Òâ:Èç¹ûÄãʹÓôæÔÚ´íÎóµÄÅäÖÃÎļþ·¢³öÖØÐÂÆô¶¯ÐźÅ,Ö÷½ø³Ì½«²»»áÖØÐÂÆô¶¯²¢ÇÒ´ø×ÅÒ»¸ö´íÎó½áÊø. Çë²Î¼ûÏÂÎÄ:Ò»ÖÖ¿ÉÒÔ±ÜÃâÕâÖÖÇé¿öµÄ·½·¨.
USR1 ÐźÅ: ÓÅÃÀÖØÐÂÆô¶¯
×¢Òâ: ÓÅÏÈ·¢³ö 1.2b9 ´úÂëÊÇÏ൱²»Îȶ¨µÄºÍ¸ù±¾²»Ó¦±»Ê¹ÓõÄ.
USR1 ÐźÅÒýÆðÖ÷½ø³Ì´¦Àí²¢¾¯¸æÊÕµ½µ±Ç°ÇëÇóÖ®ºóµÄ×Ó½ø³Ì½áÊø(»òÔÚËüÃDz»×öÈκηþÎñʱÁ¢¿Ì½áÊø). Ö÷½ø³Ì½«ÖØжÁÈ¡ËüµÄÅäÖÃÎļþ²¢´ò¿ªËüµÄÈÕÖ¾Îļþ. µ±Ã¿Ò»¸ö×Ó½ø³Ì½áÊøºó,Ö÷½ø³Ì½«Ê¹ÓÃÅäÖÃÐÅÏ¢²úÉúÒ»¸öеÄ×Ó½ø³ÌÀ´Á¢¿ÌÏìÓ¦ÇëÇó²¢ÎªÖ®·þÎñ.
Õâ¸öÐźÅÊÇΪ²»·Á°­MaxClients, MinSpareServers, ºÍMaxSpareServersµÄÉèÖöøÉè¼ÆµÄ. ´ËÍâ, ËüÒ²²»·Á°­ÔÚÒÔÏ·½Ê½ÖÐStartServers µÄʹÓÃ: Èç¹ûÒ»ÃëÖÓºó, ÖÁÉÙ StartServers µÄеÄ×Ó½ø³Ì»¹Ã»ÓÐÀ´µÃ¼°±»´´½¨, ½«´´½¨×ã¹»µÄ×Ó½ø³ÌÀ´Ìî³äÕâ¶Î¿ÕÏÐʱ¼ä. ÕâÒ²ÊÇ˵´ËÐźų¢ÊÔΪ·þÎñÆ÷µÄµ±Ç°¸ººÉά»¤Ò»¸öºÏÊʵÄ×Ó½ø³ÌµÄÖµ²¢²»»á¸ÉÈÅÄãÏ£ÍûµÄ StartServers µÄ²ÎÊý.
״̬ģʽ µÄʹÓÃÕß½«×¢Òâµ½·þÎñÆ÷µÄͳ¼ÆÔÚUSR1Ðźŷ¢³öʱ,²¢Ã»Óб»ÖÃΪÁã. ´ËÐźÅÊÇΪÁËÔÚ·þÎñÆ÷²»ÄÜΪÐÂÇëÇó·þÎñʱΪ½«Ê±¼äÀ˷ѼõСµ½×îÉÙ¶ø±àдµÄ (ÐÂÇëÇ󽫱»²Ù×÷ϵͳÅųɶÓÁÐ, ËùÒÔËüÃÇÔÚÈκÎʼþÖж¼²»»á±»¶ªÊ§) ²¢ÇÒÒ²²»·Á°­µ÷Õû²ÎÊý. ΪÁËʵÏִ˹¦ÄÜ»¹±ØÐë±£Áô¼Ç·ÖÅÆ À´¸ú×ÙËùÓÐ×Ó½ø³ÌµÄ½»²æÉú³É.
ÔÚʹÓÃÓÅÃÀÖØÐÂÆô¶¯ÐźÅÇ°,״̬ģʽҲ½«Ê¹ÓÃG±êÖ¾À´Ö¸³öÄÇЩ×Ó½ø³ÌÈÔÔÚΪÇëÇó·þÎñ.
ĿǰûÓа취¶ÔÈÕ־ת»»½Å±¾Ê¹ÓÃUSR1ÐźŲ¢ÇÒÈ·¶¨µÄÖªµÀΪËùÓÐ×Ó½ø³ÌдµÄÔ¤ÖØÐÂÆô¶¯ÈÕÖ¾ÒѾ­Íê³É. ÎÒÃǽ¨ÒéÄãÔڶԾɵÄÈÕÖ¾Îļþ×öÈκβÙ×÷֮ǰºÍ·¢³öUSR1ÐźÅÖ®ºóʹÓÃÒ»¸öºÏÊʵÄÑÓ³Ù.ÀýÈç,Èç¹ûµã»÷²Ù×÷ÖеĴó¶àÊýÔÚµÍËÙÁ¬½ÓµÄÇé¿öÏÂÖ»»¨ÉÙÓÚÊ®·ÖÖÓµÄʱ¼äÀ´Íê³ÉÓû§µÄÇëÇó,È»ºóÄãÔڶԾɵÄÈÕÖ¾Îļþ×ö²Ù×÷֮ǰ¿ÉÄÜÒªµÈÊ®Îå·ÖÖÓ.
×¢Òâ:Èç¹ûÄãʹÓôæÔÚ´íÎóµÄÅäÖÃÎļþ·¢³öÖØÐÂÆô¶¯ÐźÅ,Ö÷½ø³Ì½«²»»áÖØÐÂÆô¶¯²¢ÇÒ´ø×ÅÒ»¸ö´íÎó½áÊø. ÔÚÓÅÃÀÖØÐÂÆô¶¯µÄÇé¿öÏÂ,Ëü½áÊøʱҲ½«ÔËÐÐÖеÄ×Ó½ø³Ì½áÊø.(ÓÐЩ×Ó½ø³ÌÊÇ´¦ÀíÍê×îºóµÄÇëÇóºóµÄ "ÓÅÃÀ½áÊø".) Èç¹ûÄã³¢ÊÔÖØÐÂÆô¶¯·þÎñÆ÷½«ÒýÆðһЩÎÊÌâ -- Ëü½«²»Äܰ󶨼àÌý¶Ë¿Ú. Ä¿Ç°,¿ÉÒÔ×÷µÄÖ»ÄÜÊÇÔÚÖØÐÂÆô¶¯Ç°¼ì²éÅäÖÃÎļþµÄÓï·¨.×îÈÝÒ׵ķ½·¨ÊÇ×÷Ϊһ¸ö²»ÊÇ Root µÄÓû§À´ÔËÐÐ Httpd ·þÎñ. Èç¹ûûÓдíÎó,Ëü½«³¢ÊÔ´ò¿ªÌ×½Ó×ÖºÍÈÕÖ¾Îļþ,È»ºóÒòΪËü²»ÊÇ Root Óû§¶øʧ°Ü.(»òÊÇÒòΪµ±Ç°ÔËÐÐµÄ httpd ·þÎñÒѾ­°ó¶¨ÁËÄÇЩ¶Ë¿Ú). Èç¹ûÒòΪһЩÆäËûÔ­Òò¶øʧ°Ü,¿ÉÄÜÊÇÅäÖÃÎļþ´æÔÚ´íÎó,ÇëÔÚÓÅÃÀÖØÐÂÆô¶¯Ç°ÐÞ¸ÄÄÇЩ´íÎó.
¸½Â¼: ÐźźÍËÙ¶ÈÌõ¼þ (race conditions)
Apache 1.2b9 Óм¸ÖÖËÙ¶ÈÌõ¼þ µ¼ÖÂÖØÐÂÆô¶¯ºÍËÀÐźŠ(ËÙ¶ÈÌõ¼þµÄ¼òµ¥ÃèÊöÊÇ: Ò»¸ö¶Ôʱ¼äÃô¸ÐµÄÎÊÌâ, ÔÚ²»ÕýÈ·µÄʱ¼ä³öÏֵIJ»ÆÚÍûµÄ´íÎó). ΪÎÒÃǾ¡¿ÉÄÜÅųýµÄÕýÈ·µÄ¹¦ÄܵÄÌåϵ½á¹¹. µ«ÊÇÓ¦±»×¢Òâµ½ÔÚÕýÈ·µÄÌåϵ½á¹¹ÖÐÈÔÒ²´æÔÚËÙ¶ÈÌõ¼þ.
ÔÚ´ÅÅÌÉÏʹÓõÄÌåϵ½á¹¹¼Ç·Ö°åÎļþ ´æÔÚDZÔÚÆÆ»µµÄ¼Ç·Ö°å. Õâ¿ÉÄܽ«µ¼Ö "°ó¶¨: µØÖ·ÒѾ­Ê¹ÓÃ" (ÔÚHUPÖ®ºó) »ò "ʼÖÕ¶ªÊ§×Ó½ø³Ì!" (ÔÚUSR1Ö®ºó). ÉÔºóÄ£ÐÍÊǸöÖÂÃü´íÎ󽫵¼Ö·þÎñÆ÷¶ªÊ§¼Ç·Ö°å²Û. ËùÒÔ¿ÉÒÔ´ø×ÅÒ»¸öżȻÖØÐÂÆô¶¯¶øʹÓÃÓÅÃÀÖØÐÂÆô¶¯. ΧÈÆ׏¤×÷µÄÕâЩÎÊÌâÊ®·ÖÀ§ÄÑ, µ«ÐÒÔ˵ÄÊÇ´ó¶àÌåϵ½á¹¹²»ÐèÒªÒ»¸ö¼Ç·Ö°åÎļþ. Çë²Î¿¼ÎªÄãµÄÌåϵ½á¹¹Ê¹ÓõļǷְåÎļþÎĵµ.
NEXTºÍMACHTEN (68k) ÓпÉÒÔÒýÆðÖØÐÂÆô¶¯»òËÀÐźÅ, µ«²»»áÒýÆð·þÎñÆ÷×ö³ýÁË´íÎóÒÔÍâµÄÈκÎÊÂÇé.
ËùÓÐÌåϵ½á¹¹µÄÿһ¸ö×Ó½ø³Ì¶¼ÓÐÒ»¸öС¾ºÈüÌõ¼þÀ´±£³ÖÒÔºóµÄ³ÖÐøµÄ HTTP Á¬½Ó(KeepAlive). ÔÚ¶ÁÈ¡ÇëÇóµÄÍ·ÐÅϢ֮ǰºÍ¶ÁÈ¡ÇëÇóµÄÐÐÐÅÏ¢Ö®ºóËü½«À뿪. Ä¿Ç°½«ÓÐÒ»¸öÐÞ¸´Èí¼þ°ü°æ±¾ 1.2. ÀíÂÛÉϽ² KeepAlive ¿Í»§ÒòÍøÂçDZ·üºÍ·þ

ʹÓõÀ¾ß ¾Ù±¨

»Ø¸´
ÂÛ̳»ÕÕÂ:
4
ITPUBÔªÀÏ
ÈÕÆÚ:2005-02-28 12:57:00ÊÚȨ»áÔ±
ÈÕÆÚ:2005-10-30 17:05:33¹ÜÀíÍŶÓ2006¼ÍÄî»ÕÕÂ
ÈÕÆÚ:2006-04-16 22:44:45»áÔ±2006¹±Ï×»ÕÕÂ
ÈÕÆÚ:2006-04-17 13:46:34
4#
 Â¥Ö÷| ·¢±íÓÚ 2002-9-23 16:44 | Ö»¿´¸Ã×÷Õß
Îñ³¬Ê±µÄÔ­Òò¶ø²¢²»±ØÆÚÍûÕâЩʼþ·¢ÉúµÄÏÖÏó²¢²»ÊÇÒ»¸öÎÊÌâ.ÔÚʵ¼ùÖÐËü½«Òâζ×Ų»Ó°ÏìÈκι¤×÷£¬ÈçÔÚÒ»¸öʵÑéÇéÐÎÖÐ,ÿÃëÖÐÖØÆô·þÎñÆ÷¶þÊ®´ÎÈ´²¢²»Ó°Ïì¿Í»§ä¯ÀÀÕâ¸öÕ¾µã,Ò²²»»á³öÏֶϵÄͼƬºÍ¿ÕÎĵµ.
Apache Ö¸Áî
ÿһÌõAPACHEÖ¸ÁÔÚÏÂÃæÓлù±¾µÄÃèÊö. ËüÃÇʹÓÃͳһµÄ¸ñʽ£¬²¢ÇÒÄܹ»×÷ΪʹÓÃËüÃǵÄ×Öµä.
¡¤        AccessConfig
¡¤        AccessFileName
¡¤        Action
¡¤        AddAlt
¡¤        AddAltByEncoding
¡¤        AddAltByType
¡¤        AddDescription
¡¤        AddEncoding
¡¤        AddHandler
¡¤        AddIcon
¡¤        AddIconByEncoding
¡¤        AddIconByType
¡¤        AddLanguage
¡¤        AddModule
¡¤        AddModuleInfo
¡¤        AddType
¡¤        AgentLog
¡¤        Alias
¡¤        AliasMatch
¡¤        allow
¡¤        AllowOverride
¡¤        Anonymous
¡¤        Anonymous_Authoritative
¡¤        Anonymous_LogEmail
¡¤        Anonymous_MustGiveEmail
¡¤        Anonymous_NoUserID
¡¤        Anonymous_VerifyEmail
¡¤        AuthAuthoritative
¡¤        AuthDBAuthoritative
¡¤        AuthDBGroupFile
¡¤        AuthDBMAuthoritative
¡¤        AuthDBMGroupFile
¡¤        AuthDBMGroupFile
¡¤        AuthDBUserFile
¡¤        AuthDBMUserFile
¡¤        AuthDigestFile
¡¤        AuthGroupFile
¡¤        AuthName
¡¤        AuthType
¡¤        AuthUserFile
¡¤        BindAddress
¡¤        BrowserMatch
¡¤        BrowserMatchNoCase
¡¤        BS2000Account
¡¤        CacheDefaultExpire
¡¤        CacheDirLength
¡¤        CacheDirLevels
¡¤        CacheForceCompletion
¡¤        CacheGcInterval
¡¤        CacheLastModifiedFactor
¡¤        CacheMaxExpire
¡¤        CacheNegotiatedDocs
¡¤        CacheRoot
¡¤        CacheSize
¡¤        CheckSpelling
¡¤        ClearModuleList
¡¤        ContentDigest
¡¤        CookieExpires
¡¤        CookieLog (mod_cookies)
¡¤        CookieLog (mod_log_config)
¡¤        CookieTracking
¡¤        CoreDumpDirectory
¡¤        CustomLog
¡¤        DefaultIcon
¡¤        DefaultLanguage
¡¤        DefaultType
¡¤        deny
¡¤        <Directory>
¡¤        <DirectoryMatch>
¡¤        DirectoryIndex
¡¤        DocumentRoot
¡¤        ErrorDocument
¡¤        ErrorLog
¡¤        Example
¡¤        ExpiresActive
¡¤        ExpiresByType
¡¤        ExpiresDefault
¡¤        ExtendedStatus
¡¤        FancyIndexing
¡¤        <Files>
¡¤        <FilesMatch>
¡¤        ForceType
¡¤        Group
¡¤        Header
¡¤        HeaderName
¡¤        HostNameLookups
¡¤        IdentityCheck
¡¤        <IfDefine>
¡¤        <IfModule>
¡¤        ImapBase
¡¤        ImapDefault
¡¤        ImapMenu
¡¤        Include
¡¤        IndexIgnore
¡¤        IndexOptions
¡¤        KeepAlive
¡¤        KeepAliveTimeout
¡¤        LanguagePriority
¡¤        <Limit>
¡¤        <LimitExcept>
¡¤        LimitRequestBody
¡¤        LimitRequestFields
¡¤        LimitRequestFieldsize
¡¤        LimitRequestLine
¡¤        Listen
¡¤        ListenBacklog
¡¤        LoadFile
¡¤        LoadModule
¡¤        <Location>
¡¤        <LocationMatch>
¡¤        LockFile
¡¤        LogFormat
¡¤        LogLevel
¡¤        MaxClients
¡¤        MaxKeepAliveRequests
¡¤        MaxRequestsPerChild
¡¤        MaxSpareServers
¡¤        MetaDir
¡¤        MetaFiles
¡¤        MetaSuffix
¡¤        MimeMagicFile
¡¤        MinSpareServers
¡¤        MMapFile
¡¤        NameVirtualHost
¡¤        NoCache
¡¤        Options
¡¤        order
¡¤        PassEnv
¡¤        PidFile
¡¤        Port
¡¤        ProxyBlock
¡¤        ProxyPass
¡¤        ProxyPassReverse
¡¤        ProxyReceiveBufferSize
¡¤        ProxyRemote
¡¤        ProxyRequests
¡¤        ProxyVia
¡¤        ReadmeName
¡¤        Redirect

ʹÓõÀ¾ß ¾Ù±¨

»Ø¸´
ÂÛ̳»ÕÕÂ:
4
ITPUBÔªÀÏ
ÈÕÆÚ:2005-02-28 12:57:00ÊÚȨ»áÔ±
ÈÕÆÚ:2005-10-30 17:05:33¹ÜÀíÍŶÓ2006¼ÍÄî»ÕÕÂ
ÈÕÆÚ:2006-04-16 22:44:45»áÔ±2006¹±Ï×»ÕÕÂ
ÈÕÆÚ:2006-04-17 13:46:34
5#
 Â¥Ö÷| ·¢±íÓÚ 2002-9-23 16:45 | Ö»¿´¸Ã×÷Õß
¡¤        RedirectMatch
¡¤        RedirectPermanent
¡¤        RedirectTemp
¡¤        RefererIgnore
¡¤        RefererLog
¡¤        require
¡¤        ResourceConfig
¡¤        RewriteBase
¡¤        RewriteCond
¡¤        RewriteEngine
¡¤        RewriteLock
¡¤        RewriteLog
¡¤        RewriteLogLevel
¡¤        RewriteMap
¡¤        RewriteOptions
¡¤        RewriteRule
¡¤        RLimitCPU
¡¤        RLimitMEM
¡¤        RLimitNPROC
¡¤        Satisfy
¡¤        ScoreBoardFile
¡¤        Script
¡¤        ScriptAlias
¡¤        ScriptAliasMatch
¡¤        ScriptInterpreterSource
¡¤        ScriptLog
¡¤        ScriptLogBuffer
¡¤        ScriptLogLength
¡¤        SendBufferSize
¡¤        ServerAdmin
¡¤        ServerAlias
¡¤        ServerName
¡¤        ServerPath
¡¤        ServerRoot
¡¤        ServerSignature
¡¤        ServerTokens
¡¤        ServerType
¡¤        SetEnv
¡¤        SetEnvIf
¡¤        SetEnvIfNoCase
¡¤        SetHandler
¡¤        StartServers
¡¤        ThreadsPerChild
¡¤        TimeOut
¡¤        TransferLog
¡¤        TypesConfig
¡¤        UnsetEnv
¡¤        UseCanonicalName
¡¤        User
¡¤        UserDir
¡¤        <VirtualHost>
¡¤        XBitHack
Apache modules
ÏÂÃæÊÇÒ»¸ö×÷ΪApache·¢ÐаæÒ»²¿·ÖµÄËùÓеÄÄ£¿éµÄÒ»¸öÁÐ±í¡£Ò²¿É¿´°´×Öĸ˳ÐòµÄÍêÕûµÄApacheÖ¸ÁîÁбí all Apache directives¡£
Core
apacheµÄºËÐÄÌصã
mod_access
»ùÓÚÖ÷»úÃû»òipµØÖ·µÄ´æ´¢¿ØÖÆ
mod_actions Apache1.1»ò¸ü¸ß
»ùÓÚÎļþÀàÐÍ/·½Ê½µÄ½Å±¾µÄÖ´ÐÐ
mod_alias
±ðÃûºÍÖض¨Ïò
mod_asis
´¦ÀíÎļþ.asis
mod_auth
ʹÓÃÎı¾ÎļþµÄÓû§ÈÏÖ¤
mod_auth_anon
ftp·ç¸ñµÄÄäÃûÈÏÖ¤
mod_auth_db
ʹÓÃberkeleyµÄDBÎļþ½øÐÐÓû§ÈÏÖ¤
mod_auth_dbm
ʹÓÃDBMµÄÎļþ½øÐÐÓû§ÈÏÖ¤
mod_autoindex
×Ô¶¯µÄÁгöĿ¼
mod_browser ½öÊʺÏApache1.2.*
»ùÓÚÓû§¶Ë×Ö·û´®µÄ»·¾³µÄÉ趨¡£ÔÚapache1.3»ò¸ü¸ßµÄ°æ±¾ÖÐÓÃmod_setenvif´úÌæ
mod_cern_meta
Ö§³Öhttp¿ªÍ·µÄͼԪÎļþ
mod_cgi
Ö§³Öcgi½Å±¾µÄÖ´ÐÐ
mod_cookies Apache1.1.1ÒÔÉÏ
Ö§³ÖÍø¾°µÄcookies¹¦ÄÜ¡£ÔÚApache1.2Öб»mod_usertrack´úÌæ
mod_digest
MD5ÈÏÖ¤
mod_dir
»ù±¾Ä¿Â¼Ë÷ÒýµÄ¿ØÖÆ
mod_dld Apache 1.2.* »ò¸üÔç
Æô¶¯Ê±ÔØÈë¿ÉÖ´ÐÐÎļþµ½·þÎñÆ÷µÄ¹¦ÄÜ¡£ÔÚApache1.3Öб»mod_so´úÌæ
mod_dll ½öÊʺÏApache1.3b1µ½Apache1.3b5
ÔÚ1.3b6Öб»mod_so´úÌæ
mod_env
´«µÝ»·¾³ÐÅÏ¢µ½cgi½Å±¾ÖÐ
mod_example Apache 1.2 »ò¸ü¸ß
ÑÝʾapache api
mod_expires Apache 1.2 »ò¸ü¸ß
¶ÔÍ·ÎļþÓ¦ÓùýÆÚÑ¡Ïî
mod_headers Apache 1.2 »ò¸ü¸ß
¼ÓÈëÈÎÒâµÄhttpÍ·Îļþ
mod_imap
Ó°ÏñµØͼµµµÄ¿ØÖÆ
mod_include
·þÎñÆ÷¶ËÆÊÎöÎĵµ
mod_info
·þÎñÆ÷¶ËÅäÖÃÐÅÏ¢
mod_isapi
¶Ôwindows isapiÀ©Õ¹Ö§³Ö
mod_log_agent
¿Í»§¶ËʹÓÃÕß³ÌÐò¼Í¼
mod_log_common ¸ßÓÚApache 1.1.1
±ê×¼µÄÒ»°ã¼Ç¼µµ°¸¸ñʽµÄÈÕÖ¾¡£ÔÚApache1.2»ò¸ü¸ßµÄ°æ±¾Öб»mod_log_configÄ£¿é´úÌæ
mod_log_config
¶Ô·þÎñÆ÷¶ËÇëÇó£¬Ê¹ÓÃÓû§¶ËÖ¸¶¨µÄ¸ñʽ£¬´úÌæmod_log_commonµÄÓû§¿ÉÅäÖÃÈÕÖ¾
mod_log_referer
¼Ç¼ÎĵµÖ¸ÄÏ
mod_mime
ͨ¹ýÎļþÃû¾ö¶¨ÎļþÀàÐÍ
mod_mime_magic
ͨ¹ý¡°ÉñÆæµÄÊý×Ö¡±À´¾ö¶¨ÎļþÀàÐÍ
mod_mmap_static
ΪÁËÌá¸ß·þÎñËÙ¶ÈÓ³ÉäÎļþµ½ÄÚ´æ
mod_negotiation
ÄÚÈÝЭÉÌ
mod_proxy
Ö§³Ö´úÀí»º´æµÄ¹¦ÄÜ
mod_rewrite Apache 1.2»ò¸ü¸ß
ͨ¹ýʹÓùæÔòµÄ±í´ïʽÀ´ÊµÏÖÇ¿´óµÄurlµ½ÎļþÃûµÄÓ³Éä
mod_setenvif Apache 1.3 »ò¸ü¸ß
»ùÓÚ¿Í»§¶ËÐÅÏ¢µÄ»·¾³±äÁ¿µÄÉèÖÃ
mod_so Apache 1.3 »ò¸ü¸ß
ÊÔÑéÐÔµÄÔÚÖ´ÐÐʱ֧³Ö×°ÔØÄ£¿é(windowsÖеÄdlls)
mod_speling Apache 1.3 »ò¸ü¸ß
×Ô¶¯¼àÊÓuplÖеÄÕýÈ·ÐÔ
mod_status
·þÎñÆ÷״̬ÏÔʾ

ʹÓõÀ¾ß ¾Ù±¨

»Ø¸´
ÂÛ̳»ÕÕÂ:
4
ITPUBÔªÀÏ
ÈÕÆÚ:2005-02-28 12:57:00ÊÚȨ»áÔ±
ÈÕÆÚ:2005-10-30 17:05:33¹ÜÀíÍŶÓ2006¼ÍÄî»ÕÕÂ
ÈÕÆÚ:2006-04-16 22:44:45»áÔ±2006¹±Ï×»ÕÕÂ
ÈÕÆÚ:2006-04-17 13:46:34
6#
 Â¥Ö÷| ·¢±íÓÚ 2002-9-23 16:46 | Ö»¿´¸Ã×÷Õß
mod_userdir
Óû§µÄhomeĿ¼
mod_unique_id Apache 1.3 »ò¸ü¸ß
¶Ôÿ¸öÇëÇó²úÉú¶ÀÁ¢µÄÇëÇó±êʶ·û
mod_usertrack Apache 1.2 »ò¸ü¸ß
ÓÃcookies¶ÔÓû§¸ú×Ù(´úÌæmod_cookies.c)
Apache ÐéÄâÖ÷»úÎĵµ
ÐéÄâÖ÷»úÌṩÁ˱ÈÔÚһ̨¼ÆËã»úÉϵķþÎñÆ÷¸ü¶àµÄά»¤Á·Ï°,Ëù²»Í¬µÄÊÇËûÃDZíÃæÉϵÄÖ÷»úÃû.ÀýÈç,Ëü¾­³£±»ÓÃÀ´Ê¹¹«Ë¾¹²Ïíһ̨web·þÎñÆ÷À´ÓµÓÐËûÃÇ×Ô¼ºµÄÓò.һ̨web·þÎñÆ÷¿ÉÒÔʹÓÃwww.company1.comºÍwww.company2.c ... Óû§ÖªµÀ¾ßÌåµÄ·¾¶.
ApacheÊÇ×îÏÈÖ§³ÖIP-basedµÄÐéÄâÖ÷»úµÄÆäÖÐ×îºÃµÄ¡£1.1°æºÍÒÔºóµÄ°æ±¾µÄApache¶¼Ö§³ÖIP-basedºÍname-basedÐéÄâÖ÷»ú(vhosts). ºóÕßÓëÐéÄâÖ÷»ú²»Í¬µÄÊÇÓÐʱ³ÆΪhost-based »ò non-IPÐéÄâÖ÷»ú.
ÏÂÃæ¸ø³öµÄÁбí°üº¬Á˶ÔÓÚAPACHE 1.3»òÒÔºó°æ±¾µÄ¹ØÓÚÐéÄâÖ÷»úµÄÏêϸÃèÊö.

ÐéÄâÖ÷»úÖ§³Ö
¡¤        IP-based Virtual Hosts
¡¤        Name-based Virtual Hosts
¡¤        Virtual Host examples for common setups
¡¤        In-Depth Discussion of Virtual Host Matching
¡¤        File Descriptor Limits
¡¤        Dynamically Configured Mass Virtual Hosting with mod_rewrite
ÅäÖÃÃüÁî
¡¤        <VirtualHost>
¡¤        NameVirtualHost
¡¤        ServerName
¡¤        ServerAlias
¡¤        ServerPath
ÈËÃÇÓÃÀ´µ÷ÊÔËûÃǵÄÐéÄâÖ÷»úÅäÖÃ×î³£ÓõÄÃüÁîÒ²ÐíÊÇApache -S¡£Õâ»áÏÔʾ³öApacheÔõÑù·ÖÎöÉèÖÃÎļþµÄϸ½Ú¡£×ÐϸµÄ¼ì²éIPµØÖ·ºÍ·þÎñÆ÷ÃûÓпÉÄܶÔÄã½â¾öÉèÖôíÎóÓаïÖú¡£
Apache 1.3
¶¯Ì¬¹²ÏíÄ¿±ê(DSO)
Ö§³Ö
Ô­Öø
Ralf S. Engelschall <rse@apache.org>, 1998ËÄÔÂ
±³¾°
ÓÉÏÖ´úUnixÅÉÉú³öÀ´µÄ²Ù×÷ϵͳ¶¼´æÔÚ×ŵÄÒ»ÖÖ±»½Ð×ö¶¯Ì¬¹²ÏíÄ¿±ê(DSO)µÄ¶¯Ì¬Á¬½Ó»úÖÆ¡£ËüÌṩÁËÒ»ÖÖÔÚÔËÐÐʱ½«ÌØÊâ¸ñʽµÄ´úÂ룬ÔÚ³ÌÐòÔËÐÐÐèҪʱ£¬½«ÐèÒªµÄ²¿·Ö´ÓÍâ´æµ÷ÈëÄÚ´æÖ´Ðеķ½·¨¡£
ÕâÖÖ´æȡͨ³£ÓÐÁ½ÖÖ;¾¶£ºÒ»ÖÖÊÇldÓÉϵͳÔÚ³ÌÐò¿ªÊ¼Ê±×Ô¶¯ÔØÈ룬ÕâÖÖÔØÈë¿ÉÒÔÓÉÁ½Ìõ;¾¶ÊµÏÖ:×Ô¶¯ÊÇÓÉϵͳÔÚ¿ÉÖ´ÐгÌÐò¿ªÊ¼Ê±µ÷ÓÃld.soÀ´Ö´Ðеġ£ÁíÒ»ÖÖÊÖ¶¯£¬ÊÇͨ¹ýÔÚÖ´ÐгÌÐòÀï³ÌÐòϵͳ½çÃæµ½Unix×°ÔسÌÐòͨ¹ýϵͳµ÷ÓÃtdlopen()/dlsym()À´Ö´ÐеÄ.
ÔÚµÚÒ»ÖÖ;¾¶ÀïDSOͨ³£µ÷Óù²Ïí¿â»òÕßµ÷ÓýÐ×ölibfoo.so»òlibfoo.so.1.2µÄDSO¿â¡£ËüÃÇλÓÚϵͳĿ¼(Ò»°ãÔÚ/usr/lib)²¢ÇÒÔÚ½¨Á¢Ê±Í¨¹ýÌØÊâµÄ -lfooÖ´ÐÐÁ´½ÓÃüÁîÀ´Á´½Óµ½¿ÉÖ´ÐгÌÐòÄÚ²¿ ¡£Õâ¸öhard-codes¿â±»¿ÉÖ´ÐгÌÐò°üº¬ÒÔÖÁÓÚÔÚ¿ªÊ¼µÄʱºòUnix×°ÔسÌÐò¿ÉÒÔÔÚ/usr/libÀﶨλlibfoo.so,ÔÚ·¾¶Àïhard-codedͨ¹ýʹÓÃÏó-RµÄ±àÒëÆ÷Ñ¡Ïî»òÕßÉèÖÃÔÚ·¾¶Àïͨ¹ý»·¾³±äÁ¿ LD_LIBRARY_PATH. Ëý½â¾öÁËËùÓеÄ(»¹Ã»Óнâ¾öµÄ)ÄÄЩÔÚDSO¿ÉÒÔÓõĿÉÖ´ÐгÌÐòÀïµÄµØÖ·Âë.
¿ÉÖ´ÐгÌÐòÀïµÄµØÖ·Âëͨ³£²»±»DSO²Î¿¼(ÒòΪËüÊÇ¿ÉÖØÓõÄÒ»°ã´úÂëµÄ¿â)²¢ÇÒÒò´ËûÓиüºÃµÄ½â¾ö.¿ÉÖ´ÐгÌÐò²»±Ø¸Ä±ä×Ô¼ºÀ´Ê¹ÓÃDSOµÄµØÖ·ÂëÒòΪUNIX×°ÔسÌÐòÒѾ­È«²¿½â¾öÁË¡£(ʵ¼ÊÉÏIn fact,ÇëÇóld.soµÄ´úÂëÊǾ²Ì¬µÄÔÚ³ÌÐò¿ªÊ¼Ê±±àÒë½øÿ¸ö¿ÉÖ´ÐгÌÐòµÄ).Ò»°ã¿â´úÂëµÄ¾²Ì¬×°Ôصĺô¦ÊÇÃ÷ÏÔµÄ:¿â´úÂëÖ»ÐèÒª±»×°ÔØÒ»´Î,ÔÚÒ»¸öÏólibc.soµÄϵͳ¿â,Ϊÿ¸ö³ÌÐò¶¼½ÚÊ¡ÁË¿Õ¼ä.
DSOµÄµÚ¶þ¸ö;¾¶ÊÇͨ³£µ÷Óù²ÏíÄ¿±ê»òÕßDSOÎļþ²¢ÇÒ¿ÉÒÔÓÃÈÎÒâµÄÀ©Õ¹ÃûÃüÃû(ËäȻͨ³£ÓÃfoo.so).ÕâЩÎļþͨ³£ÔÚÒ»¸ö³ÌÐòÌØÓеÄĿ¼²¢ÇÒµ±Ëü±»Óõ½µÄʱºò²»ÊÇ×Ô¶¯½¨Á¢Á´½Óµ½¿ÉÖ´ÐгÌÐòÖÐ.¿ÉÖ´ÐгÌÐòͨ¹ýdlopen()ÊÖ¶¯µÄÔÚÔËÐÐʱµ÷ÓÃDSOµ½ËüµÄµØÖ·¿Õ¼ä.ÔÚÕâ¸öʱºòDSOûÓÐΪ³ÌÐò½â¾öµØÖ·ÂëµÄÎÊÌâ.µ«ÊÇÄÚ²¿µÄUnixµ÷¶È³ÌÐò×Ô¶¯½â¾öËùÓÐ(»¹Ã»Óнâ¾öµÄ)´Ó³ÌÐòÊä³öµÄÔÚDSOÀïµÄµØÖ·Âë²¢ÇÒËüÔç¾Íµ÷ÓÃÁËDSO¿â(ÌرðÊÇËùÓеÄÔÚlibc.soÀïµÄµØÖ·Âë).ÕâÖÖ·½·¨This way the DSOµÃÖª³ÌÐòµÄµØÖ·Âë¾ÍÏóÒѾ­ÔÚµÚÒ»¸öµØÖ·±»¾²Ì¬Á´½ÓÁËÒ»Ñù¡£
×îºó,ΪÁËÀûÓÃDSOµÄAPI,¿ÉÖ´ÐгÌÐò±ØÐëΪÁËÒÔºóÓû§Ê¹ÓÃÄÚº¬µÄµ÷¶È±í¶ø½â¾öDSOͨ¹ýdlsym()µÄÌØÊâ±ê¼ÇµÈµÈµÄÎÊÌâ.ÁíÍâÒ»¸ö·½Ãæ:¿ÉÖ´ÐгÌÐò±ØÐëÊÖ¶¯½â¾öÿһ¸öÌØÊâ±ê¼Çʹ֮¶¼Äܹ»±»Ê¹ÓÃ.ÕâÑùÒ»¸ö»úÖƵĺô¦ÊÇÈÎÒâÒ»¸ö³ÌÐòµÄ²¿·Ö¶¼Ö±µ½ÔÚ³ÌÐòÐèÒªµÄʱºò×°Èë(ÕâÑù²»ÓÃÏûºÄÄÚ´æ) . µ±±»µ÷ÓÃʱ,ÕâЩ³ÌÐò²¿·ÖÄܹ»±»¼ÓÈ룬ʹ³ÌÐòµÄ¹¦Äܶ¯Ì¬µÄÔö¼Ó.
ËäÈ»ÕâÖÖDSO»úÖƷdz£ºÃ£¬µ«ÊÇÕâÀïÖÁÉÙ»¹ÓÐÒ»¸öÄѵã:µ±Ê¹ÓÃDSOÀ´À©Õ¹Ò»¸ö¿ÉÖ´ÐгÌÐòʱΪÁËDSO¶ø´Ó¿ÉÖ´ÐгÌÐòÀï½âÎöµØÖ·ÂëµÄÎÊÌâ(µÚ¶þÖÖ·½·¨).Ϊʲô?ÒòΪ´Ó¿ÉÖ´ÐгÌÐòÀïÃæµÄµØÖ·Âë"·´½âÎö"³öDSOµØÖ·ÂëÊÇÓë¿âµÄÉè¼ÆÏà·´µÄ(³ÌÐòʹÓÃÁËÄÄЩ¿âÊÇδ֪µÄ) ¶øÇÒÕâ²¢²»ÄÜÔÚËùÓеÄƽ̨Ϲ¤×÷ҲûÓÐÒ»¸ö±ê×¼.ʵ¼ÊÉÏ¿ÉÖ´ÐгÌÐòµÄÈ«²¿µØÖ·ÂëÒ»°ãÊDz»ÄÜ·´Êä³öµÄ²¢ÇÒÕâÑù¾Í²»Äܹ»ÎªDSOËùÓÃ.ÕÒµ½·½·¨µ±Ê¹ÓÃDSOÀ´À©Õ¹ÔÚÔËÐеijÌÐòʱÀ´Ê¹±àÒëÆ÷Êä³öËùÓеĵØÖ·ÂëÊÇÖ÷³ÌÐòÒ»¸ö±ØÐë½â¾öµÄÎÊÌâ¡£
ʵ¼ÊʹÓÃ
¹²Ïí¿â·½ÃæµÄʹÓÃÊÇÒ»¸öµäÐÍ,ÒòΪÕâÊÇΪʲôʹÓÃDSO»úÖƵÄÄ¿µÄ,Òò´ËÕâ±»¼¸ºõËùÓÐÀàÐ͵IJÙ×÷ϵͳÌṩµÄ¿â.ÁíÒ»·½ÃæʹÓù«ÓÃÄ¿±êÀ´À©Õ¹³ÌÐòµÄ·½·¨²¢Ã»Óб»´óÁ¿³ÌÐòʹÓá£
ºÃÏó1998ÄêÖ»Óм¸¸öÈí¼þ°üʹÓÃDSO»úÖÆÔÚÔËÐÐʱÀ´¶¯Ì¬µÄÀ©Õ¹ËüÃǵŦÄÜ:Perl 5(ͨ¹ýËü×Ô¼ºµÄXS»úÖƺͶ¯Ì¬¼ÓÔØÄ£¿é),Netscape Server,µÈµÈ.´Ó1.3°æ¿ªÊ¼, Apache¼ÓÈëÁËÕâ¸öÍŶÓ,ÒòΪApacheÔç¾ÍʹÓÃÒ»¸öÄ£¿é¸ÅÄîÀ´À©Õ¹ËüµÄ¹¦Äܲ¢ÇÒÔÚÄÚ²¿Ê¹ÓÃÒ»¸ö»ùÓÚµ÷¶ÈµÄÁбíÀ´Á´½ÓÀ©Õ¹Ä£¿éµ½ApacheºËÐÄÄ£¿é.ËùÒÔ,ApacheÔç¾Í×¢¶¨ÒªÊ¹ÓÃDSOÀ´ÔÚÔËÐÐʱ¼ÓÔØËüµÄÄ£¿é¡£
¾ÍÏóApache 1.3,ÉèÖÃϵͳ֧³ÖÁ½¸ö¿ÉÑ¡µÄÌصãÀ´ÀûÓÃDSO:ÓÃDSO¿â±àÒëApacheµÄºËÐijÌÐòΪÁË·ÖÏíʹÓúͱàÒëApacheÄ£¿é³ÉΪDSOÎļþΪÁËÔÚÔËÐÐʱÇåÎúµÄ×°ÔØ¡£
Ö´ÐÐ
DSOÖ§³Öµ÷ÓÃÌرðµÄApacheÄ£¿éÊÇ»ùÓÚÒ»¸öÃû½Ðmod_so.cµÄÄ£¿é£¬Õâ¸öÄ£¿é±ØÐ뾲̬µÄ±àÒëApacheµÄºËÐÄ.ÕâÊdzýÁËhttp_core.cÒÔÍâ½öÓеÄÄ£¿é²»¿ÉÒÔ±»·Åµ½DSO×Ô¼º(bootstrapping!). ʵ¼ÊÉÏËùÓеıðµÄ·¢²¼µÄApacheÄ£¿é¶¼¿ÉÒÔ±»·ÅÖõ½DSO£¬Í¨¹ý¸ö±ðµÄͨ¹ýÉèÖñ»DSO½¨Á¢ÔÊÐí--ÔÊÐí¿ÉÄܵÄ-¹²ÏíÉèÖÃ(¿´¶¥²ãµÄINSTALLÎļþ)»òÕßͨ¹ý¸Ä±äAddModuleÃüÁîÔÚÄã

ʹÓõÀ¾ß ¾Ù±¨

»Ø¸´
ÂÛ̳»ÕÕÂ:
4
ITPUBÔªÀÏ
ÈÕÆÚ:2005-02-28 12:57:00ÊÚȨ»áÔ±
ÈÕÆÚ:2005-10-30 17:05:33¹ÜÀíÍŶÓ2006¼ÍÄî»ÕÕÂ
ÈÕÆÚ:2006-04-16 22:44:45»áÔ±2006¹±Ï×»ÕÕÂ
ÈÕÆÚ:2006-04-17 13:46:34
7#
 Â¥Ö÷| ·¢±íÓÚ 2002-9-23 16:46 | Ö»¿´¸Ã×÷Õß
µÄsrc/Configurationµ½SharedModuleÃüÁî(¿´src/INSTALLÎļþ).ÔÚ±àÒëÒ»¸öÄ£¿éµ½Ò»¸öÃû×Ö½Ðmod_foo.soµÄDSOÒÔºó£¬ÄãÄܹ»Ê¹ÓÃmod_soµÄLoadModuleÃüÁîÔÚÄãµÄhttpd.confÎļþÀïÔÚ·þÎñ³ÌÐò¿ªÊ¼Ê±»òÖØÐÂÆô¶¯ÒÔºóµ÷ÓÃÕâ¸öÄ£¿é¡£
ΪÁ˼ò»¯ÕâÖÖΪÁËApacheÄ£¿é¶ø´´½¨DSOÎļþµÄ·½·¨(ÓÈÆäÊǵÚÈý·½Ä£¿é)£¬Ò»¸öеÄÃû½ÐapxsµÄÖ§³Ö³ÌÐò(APache eXtenSion)±»Ê¹ÓÃ.Ëü¿ÉÒÔÓÃÀ´½¨Á¢»ùÓÚDSOµÄÄ£¿é£¬Ä£¿éλÓÚApacheÔ´Ê÷ÒÔÍâ¡£¡£Õâ¸ö˼·ºÜ¼òµ¥:µ±°²×°Apacheʱ£¬ÉèÖÃʹ°²×°³ÌÐò°²×°Apache C Í·Îļþ²¢ÇÒ·ÅÖÃƽ̨֧³ÖµÄ±àÒëÆ÷ºÍÁ´½Ó³ÌÐò±êÖ¾£¬ÓÃÀ´½¨Á¢DSOÎļþµ½apxs³ÌÐò.ͨ¹ýÕâÖÖ·½·¨£¬Óû§¿ÉÒÔʹÓÃapxsÀ´±àÒëËüµÄApacheÄ£¿éÔ´´úÂë¶ø²»ÓÃApache·¢²¼Ô´´úÂëÊ÷²¢ÇÒ²»ÓÃÊÖ¶¯µÄÌí¼Óƽ̨֧³ÖµÄ±àÒë³ÌÐòºÍÁ½â³ÌÐòµÄ±êÖ¾À´»ñµÃDSOÖ§³Ö¡£
ΪÁË·ÅÖñàÒëºÃµÄapacheºËÐijÌÐòµ½Ò»¸öDSO¿â(½ö½öÔÚһЩ֧³ÖµÄƽ̨ÉÏÐèҪǿÆÈÁ´½Ó³ÌÐòÊä³öApacheºËÐĵĵØÖ·Âë--Ò»¸öDSOÄ£¿é»¯µÄÏȾöÌõ¼þ)¹æ¶¨µÄSHARED_CORE±ØÐëÄܹ»Í¨¹ýÉèÖÃ--ÔÊÐí-¹æ¶¨=SHARED_COREÉèÖÃ(¿´¶¥²ãµÄINSTALLÎļþ)»òÕßͨ¹ý¸Ä±äRuleÃüÁÔÚÄãµÄConfiguration ÎļþÀï¹æ¶¨SHARED_CORE=yes (¿´src/INSTALLÎļþ).ApacheºËÐÄ´úÂë½Ó×ű»·ÅÖõ½Ò»¸öÃû½Ðlibhttpd.soµÄDSO¿â¡£ÒòΪ¾²Ì¬¿â²»Äܹ»ÔÚËùÓеÄƽ̨Éϱ»Á´½Ó³ÉΪһ¸öDSO£¬Ò»¸ö¸½¼ÓµÄÃû½Ð libhttpd.epµÄ¿ÉÖ´ÐгÌÐò±»´´½¨£¬Õâ¸ö³ÌÐò²»µ«°üº¬Õâ¸ö¾²Ì¬´úÂë¶øÇÒÓÐÌṩmain()Ê£Óಿ·Ö µÄ¹¦ÄÜ.×îºó£¬httpd³ÌÐò×Ô¼º±»ÓÃbootstrapping´úÂëÌæ»»£¬ºóÕß×Ô¶¯È·¶¨Unixµ÷¶È³ÌÐòÄܹ»×°Ôز¢ÇÒ¿ªÊ¼libhttpd.ep£¬Ëüͨ¹ýÌṩLD_LIBRARY_PATHµ½libhttpd.soµÄ·½·¨ÊµÏÖ.
Ö§³Öƽ̨
ApacheµÄsrc/Configure script ÏÖÔÚ½ö½öÓÐÒ»¸öÏÞÖƵ«ÊÇ¿ÉÒÔͨ¹ýÔõÑù±àÒëDSOÎļþµÄ֪ʶÀ´Ç¶Èë,ÒòΪÏóÔç¾ÍÌáµ½µÄ£¬ËüÒÀ¿¿Æ½Ì¨µÄÖ§³Ö.¼¸ºõËùÓеÄÖ÷ÒªµÄUnixƽ̨¶¼Äܹ»Ö§³Ö.µ±Ç°Äܹ»È·¶¨Ö§³ÖµÄ(1998ÎåÔÂ)ÈçÏÂ:
¡¤        ³ǫ̈µÄÖ§³Öƽ̨:
(À¨ºÅÄÚÊǾ­¹ýʵ¼Ê²âÊԵİ汾)
¡¤        o  FreeBSD            (2.1.5, 2.2.5, 2.2.6)
¡¤        o  OpenBSD            (2.x)
¡¤        o  NetBSD             (1.3.1)
¡¤        o  BSDI               (4.0)
¡¤        o  Linux              (Debian/1.3.1, RedHat/4.2)
¡¤        o  Solaris            (2.4, 2.5.1, 2.6)
¡¤        o  SunOS              (4.1.3)
¡¤        o  Digital UNIX       (4.0)
¡¤        o  IRIX               (6.2)
¡¤        o  HP/UX              (10.20)
¡¤        o  UnixWare           (2.01, 2.1.2)
¡¤        o  SCO                (5.0.4)
¡¤        o  AIX                (3.2, 4.1.5, 4.2, 4.3)
¡¤        o  ReliantUNIX/SINIX  (5.43)
¡¤        o  SVR4               (-)
¡¤        È·¶¨²»Ö§³ÖµÄƽ̨:
¡¤        o  Ultrix             (Õâ¸öƽ̨ÏÂûÓÐÈ·¶¨µÄ°æ±¾)
ʹÓÃÕªÒª
ΪÁ˸øÄãÒ»¸ö¹ØÓÚApache 1.3µÄDSOÌصãµÄ¸ÅÄî, ÕâÀïÓÐÒ»¸ö¼ò¶ÌµÄÕªÒª:
1.        ·ÅÖÃApacheºËÐÄ´úÂë(ËùÓÐʹÓÃͨ³£µÄHTTPD³ÌÐòµÄ±í¸ñ)µ½DSOµÄlibhttpd.so,Ò»¸ö¿ÉÖ´ÐгÌÐòlibhttpd.epºÍÒ»¸öbootstrapping¿ÉÖ´ÐгÌÐòhttpd (×¢Òâ: Õâ½ö½öÐèҪһЩƽ̨µÄÖ§³ÖÀ´Ç¿ÖƱàÒëÆ÷Êä³öApacheµÄºËÐĵØÖ·Âë,ÕâÊÇʹÓÃDSOÄ£¿é»¯µÄÏȾöÌõ¼þ):
o        ͨ¹ýconfigure´´½¨ºÍ°²×°(ÍƼö):
$ ./configure --prefix=/path/to/install              --enable-rule=SHARED_CORE ...$ make install
o        ÊÖ¶¯½¨Á¢ºÍ°²×°:
- Edit src/Configuration:  << Rule SHARED_CORE=default  >> Rule SHARED_CORE=yes  << EXTRA_CFLAGS=   >> EXTRA_CFLAGS= -DSHARED_CORE_DIR=\"/path/to/install/libexec\"$ make $ cp src/libhttpd.so* /path/to/install/libexec/$ cp src/libhttpd.ep  /path/to/install/libexec/$ cp src/httpd        /path/to/install/bin/
2.        ½¨Á¢ºÍ°²×°Ò»¸ö·¢²¼µÄApacheÄ£¿é,¼ûmod_foo.c,ÔÚËü×Ô¼ºµÄDSO mod_foo.so:
o        ͨ¹ýconfigure´´½¨ºÍ°²×°(ÍƼö):
$ ./configure --prefix=/path/to/install        --enable-shared=foo$ make install
o        ÊÖ¶¯½¨Á¢ºÍ°²×°:
- Edit src/Configuration:  << AddModule    modules/xxxx/mod_foo.o  >> SharedModule modules/xxxx/mod_foo.so$ make$ cp src/xxxx/mod_foo.so /path/to/install/libexec- Edit /path/to/install/etc/httpd.conf  >> LoadModule foo_module /path/to/install/libexec/mod_foo.so
3.        ½¨Á¢ºÍ°²×°µÚÈý·½ApacheÄ£¿é,¼ûmod_foo.c,ÔÚËü×Ô¼ºµÄDSO mod_foo.so
o        ͨ¹ýconfigure´´½¨ºÍ°²×°(ÍƼö):
$ ./configure --add-module=/path/to/3rdparty/mod_foo.c         --enable-shared=foo$ make install
o        ÊÖ¶¯½¨Á¢ºÍ°²×°:
$ cp /path/to/3rdparty/mod_foo.c /path/to/apache-1.3/src/modules/extra/- Edit src/Configuration:  >> SharedModule modules/extra/mod_foo.so$ make$ cp src/xxxx/mod_foo.so /path/to/install/libexec- Edit /path/to/install/etc/httpd.conf  >> LoadModule foo_module /path/to/install/libexec/mod_foo.so
4.        ´´½¨ºÍ°²×°µÚÈý·½µÄApacheÄ£¿é,ʹÓÃmod_foo.c,·ÅÈëÔÚAPACHEÔ´´úÂëÊ÷ÒÔÍâµÄ×Ô¼ºµÄDSO mod_foo.so£º
o        ´´½¨ºÍ°²×°¹ý³Ì:
$ cd /path/to/3rdparty$ apxs -c mod_foo.c$ apxs -i -a -n foo mod_foo.so
ÓŵãºÍȱµã
ÏÂÃæÊÇApache 1.3ÀïµÄDSOµÄÌص㣬ÓÐÈçϵÄÓŵã:

ʹÓõÀ¾ß ¾Ù±¨

»Ø¸´
ÂÛ̳»ÕÕÂ:
4
ITPUBÔªÀÏ
ÈÕÆÚ:2005-02-28 12:57:00ÊÚȨ»áÔ±
ÈÕÆÚ:2005-10-30 17:05:33¹ÜÀíÍŶÓ2006¼ÍÄî»ÕÕÂ
ÈÕÆÚ:2006-04-16 22:44:45»áÔ±2006¹±Ï×»ÕÕÂ
ÈÕÆÚ:2006-04-17 13:46:34
8#
 Â¥Ö÷| ·¢±íÓÚ 2002-9-23 16:47 | Ö»¿´¸Ã×÷Õß
¡¤        ·þÎñÆ÷°üÄܹ»ÔÚÔËÐÐʱ¸ü¼ÓÁé»î£¬ÒòΪ¼¤»îµÄ·þÎñ½ø³ÌÄܹ»Í¨¹ýLoadModule httpd.conf ÉèÖÃÃüÁî´úÌæÔÚ½¨Á¢Ê±µÄAddModuleÃüÁîÀ´·´±àÒë. ÀýÈçÕâÖÖ·½·¨Ò»Äܹ»ÔËÐв»Í¬µÄ·þÎñʵÀý(±ê×¼ºÍSSL°æ±¾,minimalistic & powered up°æ±¾ [mod_perl, PHP3],µÈµÈ.)£¬¶øֻͨ¹ýÒ»¸öApache.
¡¤        ·þÎñÆ÷°üÄܹ»¼òµ¥µÄÓõÚÈý·ÅÄ£¿éÀ´À©Õ¹£¬ÉõÖÁÊÇÔÚ°²×°Ö®ºó¡£ÕâÖÁÉÙÊÇÒ»¸öΪÁ˸øСÈí¼þ°ü×÷ÕßµÄ×î´óºÃ´¦£¬ÄÄЩÈË¿ÉÒÔ´´½¨ApacheºËÐÄ°üºÍÀ©Õ¹°ü£¬ÀýÈçPHP3, mod_perl, mod_fastcgi,µÈµÈ.ÈÝÒ×µÄApacheÄ£¿éÔ­ÐΣ¬ÒòΪÓÐDSO/apxs²¿·ÖÄã¿ÉÒÔ²»ÓÃApacheÔ´´úÂëÊ÷ºÍÖ»ÐèÒªapxs -i ÃüÁîÀ´ÖØÐÂÆô¶¯Ò»¸öеÄÄãÏÖÔÚ¿ª·¢Ä£¿éµ½ÔËÐÐApache·þÎñ³ÌÐòµÄ°æ±¾¡£
DSOÓÐÈçÏÂȱµã:
¡¤        DSO»úÖƲ¢²»ÊÇÔÚËùÓÐƽ̨É϶¼ÊDZ»Ö§³ÖµÄ,ÒòΪ²»ÊÇËùÓÐƽ̨¶¼Ö§³Ö¶¯Ì¬Á¬½Ó.
¡¤        ·þÎñÆ÷»áÔÚÆô¶¯Ê±Âý´óÔ¼20%,ÒòΪµØÖ·ÂëµÄ½â¾öÏÖÔÚÐèÒªUNIXµ÷¶È³ÌÐòÀ´×ö¡£
¡¤        ·þÎñÆ÷ÔÚijЩƽ̨ÔÚÖ´ÐÐʱ»áÂý5%£¬ÒòΪÏà¶ÔµØÖ·´úÂë(PIC)ÓÐʱÔÚ²»±ØҪʱҲ»áÐèÒªÖØбàÒëÏà¶ÔÑ°Ö·,ËùÒÔûÓоø¶ÔµØÖ·¿ì.
¡¤        ÒòΪDSOÄ£¿é»áÔÚ¸ö±ðƽ̨ÉÏÓë±ðµÄ»ùÓÚDSOµÄ¿â(ld -lfoo)·¢Éú³åÍ»(ÀýÈça.out-based ƽ̨¾­³£²»Ö§³ÖÕâ¸ö¹¦ÄÜ£¬µ«ÊÇELF-basedƽ̨֧³Ö)Äã²»ÄÜΪËùÓÐÀàÐ͵ÄÄ£¿éʹÓÃDSO»úÖÆ¡£ »òÕß»»Ò»¾ä»°Ëµ£¬Ä£¿é×÷ΪDSOÎļþ±àÒëÊÇÊÜÏÞÖÆ£¬Ö»ÄÜʹÓÃAPACHEºËÐĵØÖ·Â룬APACHEºËÐÄʹÓõÄC¿â(libc)ºÍËùÓеıðµÄ¶¯Ì¬ºÍ¾²Ì¬µÄ¿â£¬»òÕß¾²Ì¬¿âµµ°¸(libfoo.a)°üº¬µÄ¶ÀÁ¢µÄ´úÂ롣ΨһʹÓñðµÄ´úÂëµÄ°ì·¨ÊÇ»òÕßÈ·¶¨APACHEºËÐÄ×Ô¼ºÔç¾Í°üº¬×Ô¼ºµÄ²Î¿¼£¬Í¨¹ýdlopen£¨£©µ÷ÓôúÂë×Ô¼º£¬»òÕßÔÚ½¨Á¢APACHEʱÔÊÐíSHARED_CHAIN¹æÔò£¨µ±ÄãµÄƽ̨֧³Ö²»ÓÃDSO¿âÁ´½ÓDSOÎļþ£©¡£
¡¤        ÔÚһЩƽ̨ÏÂ(Ðí¶àSVR4ϵͳ)ÔÚÁ´½ÓApache httpd¿ÉÖ´ÐгÌÐòʱûÓа취ǿÆÈÁ´½Ó³ÌÐòÊä³öËùÓÐÈ«²¿µÄDSOËùÓõĵØÖ·.µ«ÊÇûÓпɼûµÄApacheºËÐĵØÖ·Âë¾ÍûÓбê×¼µÄApacheÄ£¿éÄܹ»×÷ΪDSOʹÓÃ.ΨһµÄ°ì·¨ÊÇʹÓÃSHARED_COREÌØÐÔ£¬ÒòΪÕâÖÖ·½·¨Ê¹È«²¿µÄµØÖ·Â붼±»Ç¿ÖÆÊä³ö¡£×÷Ϊ½á¹û£¬Apache src/Configure script×Ô¶¯Ç¿ÖÆSHARED_COREÔÚÕâЩƽ̨ÉÏ£¬µ±DSOÌØÐÔ±»ÓÃÔÚConfigurationÎļþ»òÕßÔÚconfigureÃüÁîÐÐ.
°¢ÅÁÆæhandlerµÄʹÓÃ
ʲôÊÇ¡°handler¡±
¡°handler¡±¾ÍÊDZíʾµ±µ÷ÓÃÎļþʱÄÚ²¿°¢ÅÁÆæ·þÎñÆ÷ËùÖ´ÐеijÌÐò¡£Ò»°ãÇé¿öÏ£¬Îļþ¶¼ÓлùÓÚÎļþÀàÐ͵ĹÌÓÐhandler¡£Õý³£Çé¿öÏ£¬ËùÓÐÎļþ¶¼È÷þÎñÆ÷´¦Àí£¬µ«ÊÇ£¬Ä³Ð©±»Ö¸¶¨µÄÎļþÊDZ»Ìض¨³ÌÐò´¦ÀíµÄ¡£ÀýÈ磬Äã¿ÉÒÔʹÓá°application/x-httpd-cgi¡±ÀàÐÍÈ¥µ÷ÓÃCGI½Å±¾¡£
Appache1.1ÌØÒâÔö¼ÓÁËÃ÷ȷʹÓÃhandlerµÄÄÜÁ¦¡£»òÕß»ùÓÚÎļþÀ©Õ¹Ãû, »òÕß»ùÓÚÎļþλÖã¬ÕâЩhandlerÓëÎļþÀàÐÍÎ޹ء£ÒòΪËüÊÇÕâÖÖ½â¾ö°ì·¨¿´ÆðÀ´¸ü¹æ·¶£¬ËùÒÔʹÓÃÆðÀ´ºÜÓкô¦£¬¶øÇÒËüµÄʹÓÿ¼ÂÇÁËÏà¹ØÎļþµÄÀàÐÍ´¦Àí£¨²Î¼ûFiles with Multiple Extensions£©¡£
handlers±»±àÒë³É·þÎñÆ÷»òÄ£¿é£¬»òÕßËûÃÇÄÜÓÃָʾµÄ·½Ê½Ôö¼Ó¡£ÄÚÖõı»±ê×¼·Ö·¢µÄ´¦Àí³ÌÐòÓÐÏÂÃæÕâЩ£º
¡¤        default-handler: ·¢ËÍÕýʹÓÃdefault_handler()µÄÎļþ£¬´ËÎļþÊÇʹÓô¦Àí¾²Ì¬ÄÚÈݵÄȱʡËù´¦Àí¡£
¡¤        send-as-is: ·¢ËÍʹÓÃHTTPÍ·µÄÎļþ¡£(mod_asis)
¡¤        cgi-script: ´¦ÀíCGI½Å±¾Îļþ¡£(mod_cgi)
¡¤        imap-file: ͼÏóÓ³Ïó¿ØÖÆÎļþ¡£ (mod_imap)
¡¤        server-info: µÃµ½·þÎñÆ÷ÉèÖÃÐÅÏ¢¡£(mod_info)
¡¤        server-parsed: ·Ö½â·þÎñÆ÷·½µÄ°üº¬Îļþ¡£(mod_include)
¡¤        server-status: µÃµ½·þÎñÆ÷״̬±¨¸æ¡£(mod_status)
¡¤        type-map: ×÷Ϊ¹ØÓÚÄÚÈÝЭÉ̵ĵäÐÍÎļþÀ´Îö½â¡£ (mod_negotiation)
ÃüÁ
¡¤        AddHandler
¡¤        SetHandler

AddHandler
²ÎÊý£º AddHandler handler-name extension extension...
ÉÏÏÂÎÄ£º server config, virtual host, directory, .htaccess
¸²¸Ç£º FileInfo
״̬£º Base
Ä£¿é£º mod_mime
¼æÈÝÐÔ£º AddHandler is only available in Apache 1.1 and later
AddHander¶Ô´¦Àí³ÌÐòhandler-nameÓëÎļþÃûÀ©Õ¹extensionÓ³Ïó¡£ÕâÖÖÓ³Ïó±»´ó¹æÄ£µÄÔö¼Ó¸øÈκÎÓÐextensionÀ©Õ¹ºó׺µÄÎļþ¡£ÀýÈ磬ΪʹÓôøÓС±cgi¡±À©Õ¹µÄÎļþΪCGI½Å±¾£¬Äã¿ÉÒÔʹÓÃ
AddHandler cgi-script cgi
Ò»µ©´ËÓï¾äÒѾ­Ð´ÈëÄãµÄsrm.conf »òÕß httpd.confÎļþ£¬ÔòÈκκ¬ÓÐ".cgi"À©Õ¹µÄÎļþ½«ÓÃCGI³ÌÐò´¦Àí¡£
²Î¼û£ºFiles with multiple extensions.

SetHandler
²ÎÊý£º SetHandler handler-name
ÉÏÏÂÎÄ£º directory, .htaccess
״̬£º Base
Ä£¿é£º mod_mime
¼æÈÝÐÔ£º SetHandler is only available in Apache 1.1 and later.
µ±Õâ¸öÃüÁî±»·Å½øÒ»¸ö.htaccessÎļþ»ò<Directory> or <Location>²¿·Ö£¬ÃüÁîÆÈʹËùÓÐÆ¥ÅäÎļþͨ¹ý¸ø¶¨µÄhandler-name³ÌÐò´¦Àí¡£ÀýÈ磬Èç¹ûÄãÓÐÒ»¸öÏë×÷ΪͼÏóÓ³Ïó±ê×¼Îļþ±»ÍêÈ«½âÎöµÄĿ¼£¬²»¹ÜÀ©Õ¹Ãû£¬Äã¿ÉÒÔÔÚÄǸöĿ¼ÖзÅÏÂÁÐÓï¾äµ½Ò»¸ö.htaccessÎļþ¡£
    SetHandler imap-file
ÁíÒ»¸öÀý×ÓÊÇ£¬ÎÞÂÛʲôʱºòµ±http://servername/statusµÄURL±»µ ... ¾äµ½access.confÖУº
    <Location /status>
    SetHandler server-status
    </Location>

³ÌÐòÔ±µÄ×¢½â£º
ΪÁËʵÏÖ´¦Àí³ÌÐòµÄ×÷Óã¬ÒѾ­Ìí¼Óµ½ÄãÏ£ÍûʹÓõÄApache APIÖС£ÌرðÊÇ£¬Ò»¸öмǼÒѾ­Ôö¼Óµ½request_rec½á¹¹£º
    char *handler
Èç¹ûÄãÏ£ÍûÈÃÄãµÄ³ÌÐòʹÓô¦ÀíÆ÷£¬Äã½ö½öÐèÒªÔÚÉêÇëinvoke_handlerÇ°ÉèÖÃr->handler¸ø´¦ÀíÆ÷Ãû×Ö¡£
Handlers are implemented as they were before, albeit using the handler name instead of a content type. While it is not necessary, the naming convention for handlers is to use a dash-separated word, with no slashes, so as to not invade the media type name-space.

ʹÓõÀ¾ß ¾Ù±¨

»Ø¸´
ÂÛ̳»ÕÕÂ:
4
ITPUBÔªÀÏ
ÈÕÆÚ:2005-02-28 12:57:00ÊÚȨ»áÔ±
ÈÕÆÚ:2005-10-30 17:05:33¹ÜÀíÍŶÓ2006¼ÍÄî»ÕÕÂ
ÈÕÆÚ:2006-04-16 22:44:45»áÔ±2006¹±Ï×»ÕÕÂ
ÈÕÆÚ:2006-04-17 13:46:34
9#
 Â¥Ö÷| ·¢±íÓÚ 2002-9-23 16:48 | Ö»¿´¸Ã×÷Õß
ÌØÊâÓÃ;»·¾³±äÁ¿
µ±APACHEÓëÌØÊâ¿Í»§¶Ë¶Ô»°Ê±µÄºÏ×÷ÐÔÎÊÌâʹAPACHEÒýÈëÁËÐÞ¸ÄAPACHEÐÐΪµÄ»úÖÆ. ΪÁËʹÕâЩ»úÖƾ¡Á¿µÄÁé»î, ËüÃDZ»×÷Ϊ»·¾³±äÁ¿¶¨Òå,¾ßÓдú±íÐÔµÄÊÇ BrowserMatch, ËäÈ» SetEnv ºÍ PassEnv Ò²¿ÉÒÔͬÑùÓÐЧ£¬µ«ÊÇÕâÀï°ÑÇ°Õß×÷ΪÀý×Ó¡£
nokeepalive
ÕâÄÜʹKeepAliveÎÞЧ.ÓÉÓÚNetscape 2.x ºÍ KeepAliveµÄÎÊÌâ, ÎÒÃǽ¨ÒéʹÓÃÈçϵÄÃüÁ
BrowserMatch Mozilla/2 nokeepalive
force-response-1.0
µ±ÉèÖÃÕâ¸ö±äÁ¿ºó»áÆÈʹHTTP/1.0 ÏìÓ¦. ÕâÔ­À´Êǽâ¾öAOL's ´úÀí·þÎñÆ÷ÎÊÌâµÄ¹¤¾ß. һЩ¿Í»§¶ËÒ²ÐíÔÚ±»¸ø³ö HTTP/1.1 ÏìÓ¦µÄʱºò»á²»Õý³£¹¤×÷, ÕâÌõÖ¸Áî¿ÉÒÔʹËüÃǺÏ×÷Õý³£¡£
downgrade-1.0
ÕâÆÈʹÇëÇó±»×÷ΪHTTP/1.0 ÇëÇóÀ´ÏìÓ¦£¬ÉõÖÁÔÚÒÔºóµÄÃüÁîÖÐÒ²±»Ö§³Ö¡£
                                       ÅäÖÃApache

    Ö÷ÒªµÄÅäÖÃÎļþ

    ApacheÊÇͨ¹ýÒ»¸ö½«ÃüÁî°²ÖÃÔÚÎı¾ÎļþÀïµÄÃ÷ÂëÎļþ½øÐÐÅäÖõġ£Ö÷ÒªµÄÅäÖÃÎļþͨ³£½Ð×öhttpd.conf¡£Õâ¸öÎļþµÄλÖÃÊÇÔÚ±àÒëµÄʱºòÉ趨µÄ£¬µ«¿ÉÒÔͨ¹ýÔÚÃüÁîÖÐʹÓÃ-f±ê¼ÇÀ´ºöÂÔËü¡£ÓÐЩվµãÒòΪÀúÊ·Ô­Òò»¹Ê¹ÓÃÁËsrm.confºÍaccess.confÎļþ¡£´ËÍ⣬±ðµÄÅäÖÃÎļþ¿ÉÒÔ±»Ôö¼ÓʹÓðüº¬µÄÃüÁî¡£httpd.confÕâ¸öÎļþÀïµÄһЩָÁî¿ÉÒÔ±»Ìæ»»¡£³ÉÁËÖ÷ÅäÖÃÎļþÖ»ÔÚApacheÆô¶¯»òÖØÆôµÄʱºò²Å±»ÑéÖ¤µÄ¡£

    Apache 1.3.13µÄеÄÌØÕ÷ÊÇ£ºÈç¹ûһЩÅäÖÃÎļþʵ¼ÊÉÏÊÇÒ»¸öĿ¼£¬ÄÇôApache½«½øÈëÄǸöĿ¼£¨°üÀ¨×ÓĿ¼£©²¢ÇÒ·ÖÎöÕâЩÎļþ£¬ÕÒµ½ÅäÖÃÎļþ¡£Ò»¸ö¿ÉÄÜÊÇÓÃÀ´Ôö¼ÓÐéÄâÖ÷»úͨ¹ýΪÿ¸öÖ÷»ú½¨Ð¡µÄÅäÖÃÎļþ£¬½Ó×ÅÔÚÕâ¸öÅäÖÃĿ¼ÀïÌæ»»ËüÃÇ¡£Òò¶ø£¬Äã¸ù±¾²»Óñ༭±ðµÄÎļþ¾ÍÄÜÔö¼Ó»òÕßɾ³ýÐéÄâÖ÷»ú£¬¼òµ¥µÄÔö¼Ó»òÕßɾ³ýËûÃÇ¡£ÕâʹµÃ×Ô¶¯²Ù×÷ÕâЩ´¦ÀíºÜ¼òµ¥¡£

    ·þÎñÆ÷Ò»Ö±Òª¶ÁÒ»¸ö°üº¬MIMEÎĵµÀàÐ͵ÄÎļþ£»ÎļþÃûÊÇͨ¹ýTypesConfigÖ¸ÁîÀ´É趨µÄ£¬Ä¬ÈÏΪmime.types¡£

    ÅäÖÃÎļþµÄÓï·¨

    ApacheÅäÖÃÎļþÿÐÐÓÐÒ»ÌõÃüÁÿÐÐ×îºóµÄ×Ö·ûʹÓ÷´Ð±¸Ü¡°\¡±¿ÉÒÔÓÃÀ´½ÓÐøÏÂÒ»ÐС£·´Ð±¸ÜºÍÐÐÄ©Ö®¼äûÓÐÆäËû×Ö·û°üÀ¨¿Õ¸ñ¼ü¡£ÔÚÐÐĩʹÓÃÁË·´Ð±¸Ü£¬Äã¿ÉÒÔÓÃÁ½¸ö·´Ð±¸Ö¡°\\¡±À´È¡ÏûËü¡£

    ÅäÖÃÎļþÖеÄÖ¸ÁîÊDz»Ãô¸ÐÓï·¨¸ñʽµÄ£¬µ«ÊÇÖ¸ÁîµÄ²ÎÊýÊǶÔÓï·¨¸ñʽÃô¸ÐµÄ¡£Ã¿ÐеĿªÊ¼Ê¹ÓÃÒ»¸ö×Ö·û±êÖ¾¡°#¡±¸ÃÐоͿÉÒÔ±»×¢ÊÍ£¬±»ºõÂÔ¡£ÆÀ×¢²»»á±»°üº¬½øÿÐÐÖ®ºóµÄÅäÖÃÖ¸Áî¡£ÔÚÖ¸Áî֮ǰ´æÔڵĿÕÐкͿոñ½«±»ºöÂÔ£¬Òò´ËÔÚÇå³þÆä¼äÄã¿ÉÒÔËù½øÖ¸Áî¡£

    ·þÎñÆ÷ÒòΪÓï·¨´íÎó¶øûÓÐÆô¶¯Äã¿ÉÒÔͨ¹ýʹÓÃapachectl configtest»òÕßʹÓÃ-tÃüÁîÐÐÑ¡ÏîÀ´¼ì²éÄãµÄÅäÖÃÎļþ¡£

    Ä£¿é

    ApacheÊÇÒ»¸öÄ£¿é»¯µÄserver¡£ÕâÒâζ×Ŵ󲿷ֵŦÄÜÄÒÀ¨ÔÚserverµÄÄÚºËÀï¡£ÑÜÉú³öÀ´µÄÌصãͨ¹ýÄ£¿é×°ÔؽøApacheÀïÀ´Ê¹Óá£ÔÚĬÈÏ·½Ê½Ï£¬Ò»ÏµÁеĻù±¾Ä£¿éÔÚ±àÒëʱ¾Í±»°üº¬½øÁËServer¡£Èç¹ûServerʹÓüÓÔض¯Ì¬Ä£¿é±»±àÒ룬ÄÇôģ¿é¾ÍÄÜÔÚÈκÎʱ¼äʹÓÃloadmoduleÖ¸ÁîÀ´¸ö±ðµÄ±àÒëºÍ¼ÓÔØÄ£¿é¡£·ñÔò£¬Apache±ØÐëͨ¹ýÖØбàÒëÀ´Ôö¼ÓºÍɾ³ýÄ£¿é¡£

    ²é¿´ÄÄЩģ¿éÕýÔÚ±»±àÒëµ½ServerÀÄã¿ÉÒÔʹÓÃ-lÃüÁîÑ¡Ïë

    Ö¸ÁîµÄ·¶Î§

    Ö¸Áî±»·ÅÖÃÔÚÓ¦Óõ½Õû¸öServerµÄÖ÷ÅäÖÃÎļþÀï¡£Èç¹ûÄãÒª¸ü¸ÄServerÀïµÄÒ»²¿·ÖÅäÖã¬Äã¿ÉÒÔ·ÅÖÃÄãµÄÖ¸ÁîÔÚ<Directory>,<DirectoryMatch>,<Files>,<FilesMatch>,<Location>,ºÍ<LocationMatch>²¿·ÖÖ®ÖС£ÕâЩ·¶Î§ÏÞÖÆÁËÓ¦ÓóÌÐòÖеÄÖ¸Áî×°½øÎļþϵͳ»òÕßURLs¡£ËûÃÇÒ²Äܱ»Ç¶Ì×£¬Ò²±»ÔÊÐíÀ´ºÜºÃµÄÅäÖá£

    ApacheÓÐÄÜÁ¦Í¬Ê±¶ÔºÜ¶à¸öWEBÕ¾µã½øÐзþÎñ¡£Õâ±»½Ð×öÐéÄâÖ÷»ú¡£Í¨¹ý°²ÖÃÖ¸ÁîÔÚ<VirtualHost>·¶Î§ÄÚʵÏÖ£¬Òò´ËËüÃÇÖ»Ó¦ÓÃÔÚÒ»¸öÌرðÖ¸¶¨µÄwebÕ¾µã¡£

    ¾¡¹ÜÐí¶àÖ¸Áî±»°²ÖÃÔÚһЩ·¶Î§ÄÚ£¬µ«Ò»Ð©Ö¸ÁîÔÚһЩ»·¾³ÀïÊÇûÓÐÒâÒåµÄ¡£±ÈÈ磬ָÁî¿ØÖÆ´¦Àí´´ÔìÐγÉÖ»Äܱ»°²ÖÃÔÚÖ÷server»·¾³¡£²éÕÒÄÄÒ»¸öÖ¸ÁîÄܱ»°²ÖÃÔÚÄÄÒ»¸ö·¶Î§À¿ÉÒÔ¼ì²éÖ¸ÁîµÄ»·¾³¡£¸üÉîµÄ½²¾ÍÊÇ£¬ÎÒÃÇÔÚHow Directory,location and Files sections workÀïÌṩÁËÏêϸµÄ×ÊÁÏ¡£

    .htaccessÎļþ

    ApacheÔÊÐíÔÚWebÊ÷ÀïµÄÖ¸¶¨ÎļþÀ´·ÖÉ¢¹ÜÀíÅäÖᣠÕâ¸öÎļþµÄºó׺ͨ³£ÊÇ.htaccess£¬¶øÎļþÃûÊÇÔÚAccessFileNameÖ¸ÁîÀïÖ¸¶¨µÄ¡£°²ÖÃÔÚ.htaccessÀïµÄÖ¸ÁîÊÇÃæÏòÄã·ÅÖÃÎļþµÄĿ¼ºÍ×ÓĿ¼À´Ó¦Óõġ£.htaccessÎļþÍùÍùºÍÖ÷ÅäÖÃÎļþÓÐÏàͬµÄÓï·¨½á¹¹¡£Òò´Ë.htaccessÎļþÔÚÿ´ÎÇëÇóµÄʱºò±»¶ÁÔ¶Ô¶³¬¹ýÖ»ÔÚServerÆô¶¯µÄʱºò±»¶Á£¬±ä»»ÎļþµÄģʽÓÐ×ÅÁ¢¼´µÄЧ¹û¡£
²éÕÒÄĸöÖ¸ÁîÄÜ·ÅÖÃÔÚ.htaccessÀ¼ì²éÖ¸ÁîµÄContext¡£ServerµÄ¹ÜÀíԱͨ¹ýÅäÖÃÔÚÖ÷ÅäÖÃÎļþÀïµÄAllowOverrideÖ¸Áî¿ÉÒÔ¸ü½øÒ»²½µÄ¿ØÖÆʲôָÁî¿ÉÒÔ±»·ÅÖÃÔÚ.htaccessÎļþÀï¡£

    ÈÕÖ¾Îļþ

    °²È«¾¯¸æ

    ÈκÎÒ»¸ö¿ÉÒÔ¶ÔApacheÕýÔÚдµÄÈÕÖ¾ÎļþµÄĿ¼¼¸ºõÎÞÒɵĵõ½·ÃÎʵÄÓû§id£¬Í¨³£ÊÇroot¡£ÔÚ²»ÖªµÀºó¹ûµÄÇé¿öϲ»Òª½«Apache´æ´¢¼Ç¼µÄĿ¼µÄд·ÃÎʵÄȨÏÞ¸ø±ðÈË£»Çë¿´°²È«Ð¹Â¶ÎļþµÄϸ½Ú¡£

    ½ø³ÌÎļþ

    ÔÚÆô¶¯µÄʱºò£¬Apache½«±£´æhttpd½ø³ÌµÄ½ø³Ìidµ½logs/httpd.pid¡£Õâ¸öÎļþÃû¿ÉÒÔͨ¹ýPidFileÖ¸ÁîÀ´¸ü»»¡£ÔÚUnixÖУ¬³ÌÐòidÊǹÜÀíÔ±ÓÃÀ´ÖØÆôºÍÖÕÖ¹ºǫ́½ø³ÌµÄ£¬
Èç¹û½ø³Ì²»Õý³£µÄdie£¨»òÕßÊDZ»kill£©£¬ËüÐèÒªkillËüµÄº¢×Ó½ø³Ì¡£

    ´íÎóÎļþ

    Server½«´íÎóÐÅÏ¢¼Ç¼µ½Ò»¸öÈÕÖ¾Îļþ£¬ÔÚUnixÉÏÊÇlogs/error_log¡¢ÔÚWindowsºÍOS/2ÉÏÊÇlogs/error.log¡£ÎļþÃûÄÜͨ¹ýErrorLogÖ¸ÁîÀ´Ö¸¶¨£»²»Í¬µÄÐéÄâÖ÷»ú¿ÉÒÔÉèÖò»Í¬µÄ´íÎó¼Ç¼¡£

    ´«ÊäÈÕÖ¾

    Server½«µäÐ͵ļǼÿ¸öÇëÇóµ½´«ÊäÎļþ£¬ÔÚUnixÉÏĬÈÏΪlogs/access_log¡¢ÔÚWindowsºÍOS/2ÉÏΪlogs/access.log¡£ÎļþÃû¿ÉÒÔͨ¹ýCustomLogÖ¸ÁîÀ´±»ÉèÖ㻲»Í¬µÄÐéÄâÖ÷»ú¿ÉÒÔ±»ÉèÖÃΪ²»Í¬µÄ´«ÊäÎļþ¡£
°¢ÅÁÆæhandlerµÄʹÓÃ
ʲôÊÇ¡°handler¡±

ʹÓõÀ¾ß ¾Ù±¨

»Ø¸´
ÂÛ̳»ÕÕÂ:
4
ITPUBÔªÀÏ
ÈÕÆÚ:2005-02-28 12:57:00ÊÚȨ»áÔ±
ÈÕÆÚ:2005-10-30 17:05:33¹ÜÀíÍŶÓ2006¼ÍÄî»ÕÕÂ
ÈÕÆÚ:2006-04-16 22:44:45»áÔ±2006¹±Ï×»ÕÕÂ
ÈÕÆÚ:2006-04-17 13:46:34
10#
 Â¥Ö÷| ·¢±íÓÚ 2002-9-23 16:48 | Ö»¿´¸Ã×÷Õß
¡°handler¡±¾ÍÊDZíʾµ±µ÷ÓÃÎļþʱÄÚ²¿°¢ÅÁÆæ·þÎñÆ÷ËùÖ´ÐеijÌÐò¡£Ò»°ãÇé¿öÏ£¬Îļþ¶¼ÓлùÓÚÎļþÀàÐ͵ĹÌÓÐhandler¡£Õý³£Çé¿öÏ£¬ËùÓÐÎļþ¶¼È÷þÎñÆ÷´¦Àí£¬µ«ÊÇ£¬Ä³Ð©±»Ö¸¶¨µÄÎļþÊDZ»Ìض¨³ÌÐò´¦ÀíµÄ¡£ÀýÈ磬Äã¿ÉÒÔʹÓá°application/x-httpd-cgi¡±ÀàÐÍÈ¥µ÷ÓÃCGI½Å±¾¡£
Appache1.1ÌØÒâÔö¼ÓÁËÃ÷ȷʹÓÃhandlerµÄÄÜÁ¦¡£»òÕß»ùÓÚÎļþÀ©Õ¹Ãû, »òÕß»ùÓÚÎļþλÖã¬ÕâЩhandlerÓëÎļþÀàÐÍÎ޹ء£ÒòΪËüÊÇÕâÖÖ½â¾ö°ì·¨¿´ÆðÀ´¸ü¹æ·¶£¬ËùÒÔʹÓÃÆðÀ´ºÜÓкô¦£¬¶øÇÒËüµÄʹÓÿ¼ÂÇÁËÏà¹ØÎļþµÄÀàÐÍ´¦Àí£¨²Î¼ûFiles with Multiple Extensions£©¡£
handlers±»±àÒë³É·þÎñÆ÷»òÄ£¿é£¬»òÕßËûÃÇÄÜÓÃָʾµÄ·½Ê½Ôö¼Ó¡£ÄÚÖõı»±ê×¼·Ö·¢µÄ´¦Àí³ÌÐòÓÐÏÂÃæÕâЩ£º
¡¤        default-handler: ·¢ËÍÕýʹÓÃdefault_handler()µÄÎļþ£¬´ËÎļþÊÇʹÓô¦Àí¾²Ì¬ÄÚÈݵÄȱʡËù´¦Àí¡£
¡¤        send-as-is: ·¢ËÍʹÓÃHTTPÍ·µÄÎļþ¡£(mod_asis)
¡¤        cgi-script: ´¦ÀíCGI½Å±¾Îļþ¡£(mod_cgi)
¡¤        imap-file: ͼÏóÓ³Ïó¿ØÖÆÎļþ¡£ (mod_imap)
¡¤        server-info: µÃµ½·þÎñÆ÷ÉèÖÃÐÅÏ¢¡£(mod_info)
¡¤        server-parsed: ·Ö½â·þÎñÆ÷·½µÄ°üº¬Îļþ¡£(mod_include)
¡¤        server-status: µÃµ½·þÎñÆ÷״̬±¨¸æ¡£(mod_status)
¡¤        type-map: ×÷Ϊ¹ØÓÚÄÚÈÝЭÉ̵ĵäÐÍÎļþÀ´Îö½â¡£ (mod_negotiation)
ÃüÁ
¡¤        AddHandler
¡¤        SetHandler

AddHandler
²ÎÊý£º AddHandler handler-name extension extension...
ÉÏÏÂÎÄ£º server config, virtual host, directory, .htaccess
¸²¸Ç£º FileInfo
״̬£º Base
Ä£¿é£º mod_mime
¼æÈÝÐÔ£º AddHandler is only available in Apache 1.1 and later
AddHander¶Ô´¦Àí³ÌÐòhandler-nameÓëÎļþÃûÀ©Õ¹extensionÓ³Ïó¡£ÕâÖÖÓ³Ïó±»´ó¹æÄ£µÄÔö¼Ó¸øÈκÎÓÐextensionÀ©Õ¹ºó׺µÄÎļþ¡£ÀýÈ磬ΪʹÓôøÓС±cgi¡±À©Õ¹µÄÎļþΪCGI½Å±¾£¬Äã¿ÉÒÔʹÓÃ
AddHandler cgi-script cgi
Ò»µ©´ËÓï¾äÒѾ­Ð´ÈëÄãµÄsrm.conf »òÕß httpd.confÎļþ£¬ÔòÈκκ¬ÓÐ".cgi"À©Õ¹µÄÎļþ½«ÓÃCGI³ÌÐò´¦Àí¡£
²Î¼û£ºFiles with multiple extensions.

SetHandler
²ÎÊý£º SetHandler handler-name
ÉÏÏÂÎÄ£º directory, .htaccess
״̬£º Base
Ä£¿é£º mod_mime
¼æÈÝÐÔ£º SetHandler is only available in Apache 1.1 and later.
µ±Õâ¸öÃüÁî±»·Å½øÒ»¸ö.htaccessÎļþ»ò<Directory> or <Location>²¿·Ö£¬ÃüÁîÆÈʹËùÓÐÆ¥ÅäÎļþͨ¹ý¸ø¶¨µÄhandler-name³ÌÐò´¦Àí¡£ÀýÈ磬Èç¹ûÄãÓÐÒ»¸öÏë×÷ΪͼÏóÓ³Ïó±ê×¼Îļþ±»ÍêÈ«½âÎöµÄĿ¼£¬²»¹ÜÀ©Õ¹Ãû£¬Äã¿ÉÒÔÔÚÄǸöĿ¼ÖзÅÏÂÁÐÓï¾äµ½Ò»¸ö.htaccessÎļþ¡£
    SetHandler imap-file
ÁíÒ»¸öÀý×ÓÊÇ£¬ÎÞÂÛʲôʱºòµ±http://servername/statusµÄURL±»µ ... ¾äµ½access.confÖУº
    <Location /status>
    SetHandler server-status
    </Location>

³ÌÐòÔ±µÄ×¢½â£º
ΪÁËʵÏÖ´¦Àí³ÌÐòµÄ×÷Óã¬ÒѾ­Ìí¼Óµ½ÄãÏ£ÍûʹÓõÄApache APIÖС£ÌرðÊÇ£¬Ò»¸öмǼÒѾ­Ôö¼Óµ½request_rec½á¹¹£º
    char *handler
Èç¹ûÄãÏ£ÍûÈÃÄãµÄ³ÌÐòʹÓô¦ÀíÆ÷£¬Äã½ö½öÐèÒªÔÚÉêÇëinvoke_handlerÇ°ÉèÖÃr->handler¸ø´¦ÀíÆ÷Ãû×Ö¡£
Handlers are implemented as they were before, albeit using the handler name instead of a content type. While it is not necessary, the naming convention for handlers is to use a dash-separated word, with no slashes, so as to not invade the media type name-space.
ÓйطþÎñÆ÷ÅäÖõݲȫÌáʾ

һЩÔÚ½¨Á¢Ò»¸öWEB·þÎñÆ÷ʱµÄ°²È«·½ÃæµÄÌáʾºÍ½¨Òé¡£Ò»²¿·ÖÊÇͨÓõģ¬ÆäËüÔò½öÏÞÓÚApache·þÎñÆ÷

ServerRoot Ŀ¼µÄÐí¿ÉȨÏÞ
ÔÚµäÐ͵ÄÆô¶¯Ï£¬Apache ÓÉ root Óû§Æô¶¯£¬È»ºóËüתµ½ÓÉUserÃüÁÒåµÄÓû§£¬ÒÔÌṩµã»÷·þÎñ¡£×÷Ϊ root ¿ÉÒÔÖ´ÐÐÈκÎÖ¸ÁîÕâÒ»Çé¿ö£¬Äã±ØÐëµ±ÐÄËü²»±»ÈÎºÎ·Ç root Óû§¸ü¸Ä¡£²»½öÎļþ±¾ÉíÖ»Äܱ» root ¸Äд£¬¶øÇÒÆä×ÓĿ¼£¬ÒÔ¼°ËùÓÐ×ÓĿ¼µÄ¸ùĿ¼ҲҪÈç´Ë¡£ÀýÈ磬Èç¹ûÄãÑ¡Ôñ½« ServerRoot ·ÅÖÃÓÚ /usr/local/apache£¬ÄÇôÎÒÃǽ¨ÒéÄãÒÔ root Éí·Ý´´½¨Õâ¸öĿ¼£¬²ÉÓÃÀàËÆÒÔϵÄÃüÁ
    mkdir /usr/local/apache
    cd /usr/local/apache
    mkdir bin conf logs
    chown 0 . bin conf logs
    chgrp 0 . bin conf logs
    chmod 755 . bin conf logs
ÕâÀï¼ÙÉè /, /usr, ºÍ /usr/local ½ö½ö¿ÉÒÔ±» root ¸ü¸Ä¡£µ±Äã°²×° httpd ¿ÉÖ´ÐÐÎļþ£¬Äã±ØÐëÈ·¶¨ËüÒ²±»ÀàËƵı£»¤£º
    cp httpd /usr/local/apache/bin
    chown 0 /usr/local/apache/bin/httpd
    chgrp 0 /usr/local/apache/bin/httpd
    chmod 511 /usr/local/apache/bin/httpd
Äã¿ÉÒÔ´´½¨Ò»¸ö¿ÉÒÔ±»ÆäËûÓû§¸ÄдµÄ htdocs ×ÓĿ¼£¬¡ª¡ª Ö»Òª root ´Ó²»ÔÚÄÇÀïÖ´Ðлò´´½¨ÈκÎÎļþ¡£
Èç¹ûÄãÔÊÐí·Ç root Óû§¸ÄдÄÇЩ root Ö´ÐлòдÈëµÄÎļþ£¬ÄÇôÄ㽫ÄãµÄϵͳµ½ root compromises¡£ÀýÈ磬ÓÐÈË¿ÉÒÔÌæ»» httpd ¿ÉÖ´ÐÐÎļþ£¬µ±ÄãÏ´ÎÆô¶¯Ëüʱ£¬Ëý½«Ö´ÐÐһЩÈÎÒâµÄ´úÂ룻Èç¹û logs ×ÓĿ¼£¨¶ÔÓÚ·Ç root Óû§£©ÊÇ¿ÉдµÄ£¬Ò²ÐíÓÐÈ˽«ËüÌæ»»³ÉΪָÏòÆäËüϵͳÎļþµÄÁ´½Ó£¬Èç´Ë root ¿ÉÄÜÓÃÈÎÒâµÄ´úÂ븲¸ÇÔ­Îļþ£»Èç¹ûÈÕÖ¾Îļþ±¾ÉíÊÇ¿ÉдµÄ£¬Ò²ÐíÓÐÈË»áÓÃαÔìµÄÊý¾Ý¸ÄдËü¡£

Server Side Includes
Server side includes (SSI) ¿ÉÒÔÈç´ËÉèÖã¬ÒÔÖÂÓû§¿ÉÒÔÔÚ·þÎñÆ÷ÉÏÖ´ÐÐÈÎÒâµÄ³ÌÐò¡£ÕâÒ»µã±¾Éí¾Í»ØÈÃϵͳ¹ÜÀíÔ±²»º®¶øÀõ¡£
Ò»¸ö½â¾öµÄ°ì·¨ÊǽûÓÃÕâÒ»²¿·ÖµÄ SSI¡£Îª´Ë£¬Äã¿ÉÒÔÔÚ Options Ö¸ÁîÖÐʹÓà IncludesNOEXEC Ñ¡Ïî¡£

ʹÓõÀ¾ß ¾Ù±¨

»Ø¸´

ÄúÐèÒªµÇ¼ºó²Å¿ÉÒÔ»ØÌû µÇ¼ | ×¢²á

±¾°æ»ý·Ö¹æÔò ·¢±í»Ø¸´

TOP¼¼Êõ»ý·Ö°ñ ÉçÇø»ý·Ö°ñ »ÕÕ ÍÅ¶Ó Í³¼Æ ֪ʶË÷ÒýÊ÷ »ý·Ö¾ºÅÄ Îı¾Ä£Ê½ °ïÖú
  ITPUBÊ×Ò³ | ITPUBÂÛ̳ | Êý¾Ý¿â¼¼Êõ | ÆóÒµÐÅÏ¢»¯ | ¿ª·¢¼¼Êõ | ΢Èí¼¼Êõ | Èí¼þ¹¤³ÌÓëÏîÄ¿¹ÜÀí | IBM¼¼ÊõÔ°µØ | ÐÐÒµ×ÝÏòÌÖÂÛ | ITÕÐƸ | ITÎĵµ
  ChinaUnix | ChinaUnix²©¿Í | ChinaUnixÂÛ̳
CopyRight 1999-2011 itpub.net All Right Reserved. ±±¾©Ê¢ÍØÓÅѶÐÅÏ¢¼¼ÊõÓÐÏÞ¹«Ë¾°æȨËùÓС¡ÁªÏµÎÒÃÇ Î´³ÉÄêÈ˾ٱ¨×¨Çø¡¡
¾©ICP±¸16024965ºÅ-8 ¡¡±±¾©Êй«°²¾Öº£µí·Ö¾ÖÍø¼àÖÐÐı¸°¸±àºÅ£º11010802021510¡¡¹ã²¥µçÊÓ½ÚÄ¿ÖÆ×÷¾­ÓªÐí¿ÉÖ¤£º±àºÅ£¨¾©£©×ÖµÚ1149ºÅ
  
¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí