·µ»ØÁÐ±í ·¢Ìû

Apache °æ±¾2.2

±àÒëÓë°²×°
±¾ÎĽö²ûÊöApacheÔÚUnixºÍÀàUnixϵͳÖеıàÒëºÍ°²×°£¬ÔÚWindowsÖеıàÒëºÍ°²×°¿ÉÒԲο¼ÔÚMicrosoft WindowsÖÐʹÓÃApache¡£ÆäËûƽ̨¿ÉÒԲμûÕë¶ÔÌØ¶¨Æ½Ì¨µÄ˵Ã÷Îĵµ¡£

ÏñÆäËüÐí¶à¿ªÔ´ÏîĿһÑù£¬ApacheʹÓÃlibtoolºÍautoconf½¨Á¢±àÒë»·¾³¡£

Èç¹ûÄãÖ»½øÐкÜСµÄ°æ±¾Éý¼¶(±ÈÈç2.2.54¡ú2.2.55)£¬ÇëÖ±½ÓÌø×ªµ½ÏÂÃæµÄÉý¼¶²¿·Ö¡£

Õë¶ÔÐļ±ÕߵĸÅÊö
ÏÂÔØ $ lynx http://httpd.apache.org/download.cgi  
½âѹ $ gzip -d httpd-NN.tar.gz
$ tar xvf httpd-NN.tar
$ cd httpd-NN
ÅäÖÃ $ ./configure --prefix=PREFIX  
±àÒë $ make  
°²×° $ make install  
ÅäÖÃ $ vi PREFIX/conf/httpd.conf  
²âÊÔ $ PREFIX/bin/apachectl -k start  

ÆäÖÐNN±ØÐëÓõ±Ç°µÄ¸±°æ±¾ºÅÌæ´ú£»PREFIXÊÇ·þÎñÆ÷±»°²×°µ½ÎļþϵͳÖеÄ·¾¶Ãû£¬Èç¹ûûÓÐÖ¸¶¨PREFIX£¬Ä¬ÈÏ»á×°µ½/usr/local/apache2

ÏÂÃæ´Ó±àÒëºÍ°²×°Apache httpdµÄÒªÇó¿ªÊ¼Ïêϸ²ûÊö±àÒëºÍ°²×°µÄÿ¸ö²½Öè¡£

TOP

񻂗
±àÒëApacheµÄÒªÇóÈçÏ£º

´ÅÅ̿ռä
±ØÐë±£Ö¤ÓÐ50MBÒÔÉϵÄ×ÔÓÉÁÙʱ´ÅÅ̿ռ䡣Apache°²×°Íê±Ïºó»áÕ¼¾Ý10MB×óÓҵĿռ䣬ʵ¼ÊµÄ´ÅÅ̿ռäÐèÇó»áÒò±àÒëÉèÖúÍÊÇ·ñ°²×°µÚÈý·½Ä£¿é¶øÓÐËù²»Í¬¡£
ANSI-C±àÒëÆ÷¼°±àÒë»·¾³
±ØÐë×°ÓÐANSI-C±àÒëÆ÷£¬ÍƼöʹÓÃ×ÔÓÉÈí¼þ»ù½ð»á(FSF)µÄGCC¡£Èç¹ûûÓÐGCC£¬ÄÇôҪȷ±£Ê¹ÓõıàÒëÆ÷·ûºÏANSI±ê×¼£¬¶øÇÒPATHÖбØÐë°üº¬Ö¸Ïò»ù±¾±àÒ빤¾ß±ÈÈçmakeµÄ·¾¶¡£
È·±£×¼È·µÄʱ¼ä
ÓÉÓÚHTTPЭÒéµÄÔªËØ¶¼»áÓõ½Ê±¼ä£¬ÓбØÒªÁ˽âÒ»ÏÂÄãµÄϵͳËùʹÓõÄʱ¼äͬ²½»úÖÆ¡£ÔÚ»ùÓÚÍøÂçʱ¼äЭÒé(NTP)µÄϵͳÖУ¬Ò»°ãÊÇÓÃntpdate»òxntpdÀ´Í¬²½Ê±¼ä¡£ÓйØNTPÈí¼þµÄ×ÊÁÏÇë²Î¼ûNTPÖ÷Ò³¡£
Perl 5 [¿ÉÑ¡]
ÓÐЩÓÃPerlдµÄÖ§³Ö½Å±¾£¬Èçapxs»òdbmmanage £¬ÐèÒªPerl5½âÊÍÆ÷(5.003»òÒÔÉϵİ汾¾Í×ã¹»ÁË)¡£Èç¹ûϵͳÖдæÔÚ¶à¸öPerl½âÊÍÆ÷£¬±ÈÈçÓÐϵͳÌṩµÄPerl 4£¬»¹ÓÐÄã×Ô¼º°²×°µÄPerl 5£¬ÍƼöÄãʹÓà --with-perl Ñ¡ÏîÀ´È·±£configure½Å±¾Ê¹ÓÃÕýÈ·µÄ°æ±¾¡£Èç¹ûconfigureûÓÐûÕÒµ½Perl 5Ҳû¹ØÏµ£¬Õâ²¢²»Ó°ÏìApache httpdµÄ±àÒëºÍ°²×°£¬Ö»ÊÇÏà¹ØµÄÖ§³Ö½Å±¾²»ÄÜʹÓöøÒÑ¡£
apr/apr-util >= 1.2
aprºÍapr-util°üº¬ÔÚApache httpdµÄ·¢ÐÐÔ´´úÂëÖУ¬²¢ÇÒÔÚ¾ø´ó¶àÊýÇé¿öÏÂʹÓö¼²»»á³öÏÖÎÊÌâ¡£µ±È»£¬Èç¹ûapr»òapr-utilµÄ1.0»ò1.1°æ±¾ÒѾ­°²×°ÔÚÄãµÄϵͳÖÐÁË£¬Ôò±ØÐ뽫ÄãµÄapr/apr-utilÉý¼¶µ½1.2°æ±¾£¬»òÕß½«httpdµ¥¶À·Ö¿ª±àÒ롣ҪʹÓ÷¢ÐÐÔ´´úÂëÖÐ×Ô´øµÄapr/apr-utilÔ´´úÂë½øÐа²×°£¬Äã±ØÐëÊÖ¶¯Íê³É£º
# ±àÒëºÍ°²×° apr 1.2
cd srclib/apr
./configure --prefix=/usr/local/apr-httpd/
make
make install

# ±àÒëºÍ°²×° apr-util 1.2
cd ../apr-util
./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/
make
make install

# ÅäÖÃ httpd
cd ../../
./configure --with-apr=/usr/local/apr-httpd/ --with-apr-util=/usr/local/apr-util-httpd/

TOP

ÏÂÔØ
Apache¿ÉÒÔ´ÓApache HTTP·þÎñÆ÷ÏÂÔØÕ¾µã¼°Æä¾µÏñÕ¾µãÏÂÔØ¡£´ó¶àÊýÀàUNIXϵͳµÄApacheÓû§×îºÃµÄÑ¡ÔñÊÇÏÂÔØÔ´´úÂë²¢±àÒëÒ»¸öÊʺÏ×Ô¼ºµÄ°æ±¾£¬Õâ¸ö¹ý³Ì(ÏÂÃæ½«Òª½²Êö)ÊǺܼòµ¥µÄ£¬ËüÔÊÐíÄã¸ù¾Ý×Ô¼ºµÄÐèÇó½øÐж¨ÖÆ¡£ÁíÒ»·½Ãæ±àÒëºÃµÄ¶þ½øÖư汾ͨ³£Ã»ÓнøÐм°Ê±µÄ¸üС£Èç¹ûÄãÏÂÔØµÄÊDZàÒëºÃµÄ¶þ½øÖư汾£¬Çë°´ÕÕÆäÖеÄINSTALL.bindistÎļþ½øÐа²×°¡£

ÏÂÔØÍê±Ïºó£¬Ó¦¸Ã¶ÔÏÂÔØÀ´µÄtar°ü×÷PGPÇ©ÃûУÑ飬ÒÔÈ·±£ÆäÍêÕû¶øÇÒδ±»´Û¸Ä¹ý¡£(PGPÏÂÔØÒ³Ãæ)


½âѹ
½âѹApache httpdµÄtar°üºÜ¼òµ¥£º

$ gzip -d httpd-NN.tar.gz
$ tar xvf httpd-NN.tar

ÕâÑù¾ÍÔÚµ±Ç°Ä¿Â¼ÏÂн¨ÁËÒ»¸ö°üº¬·¢ÐаæÔ´´úÂëµÄĿ¼£¬±ØÐëcd½øÈëÕâ¸öĿ¼ÒÔ¼ÌÐø·þÎñÆ÷µÄ±àÒë¡£

TOP

ÅäÖÃÔ´´úÂëÊ÷
ÕâÒ»²½ÊǸù¾ÝÄãµÄÌØ¶¨Æ½Ì¨ºÍ¸öÈËÐèÇóÅäÖÃÔ´´úÂëÊ÷¡£Î»ÓÚ·¢ÐÐÔ´´úÂë¸ùĿ¼µÄconfigure½Å±¾»áÍê³ÉÕâ¸ö²½Öè(¶ÔÏÂÔØApache CVS°æÔ´´úÂëµÄ¿ª·¢Õߣ¬ÐèҪװÓÐautoconfºÍlibtool £¬²¢ÐèÒªÖ´ÐÐbuildconf £¬¶ÔÓÚ¹Ù·½µÄ·¢ÐаæÔòûÕâ¸ö±ØÒª)¡£

ÒªÏëÓÃËùÓеÄĬÈÏÖµÅäÖÃÔ´´úÂëÊ÷Ö»Òª¼òµ¥µÄÖ´ÐÐ ./configure ÃüÁî¾Í¿ÉÒÔÁË£¬Í¬Ê±configure»¹¿ÉÒÔ½ÓÊÜÃüÁîÐвÎÊýÒԸıäĬÈÏÖµ¡£

×îÖØÒªµÄÑ¡ÏîÊÇApache°²×°Ä¿Â¼µÄǰ׺£º--prefix £¬ÒòΪApacheÐèÒªÖªµÀÕâ¸öĿ¼²ÅÄÜÕý³£ÔË×÷¡£¸ü¶àµÄ΢µ÷Ñ¡ÏîÇë²Î¿¼ÅäÖÃÑ¡ÏîÏê½â¡£

ÕâÑù£¬Äã¾Í¿ÉÒÔͨ¹ýÔÚÅäÖÃÑ¡ÏîÖÐÖ¸¶¨ÒªÆôÓûò½ûÓÃÄÄЩģ¿éÀ´¶¨ÖÆApacheµÄÌØÐÔ¡£Base×éµÄÄ£¿éĬÈϰüº¬ÔÚApacheÖС£ÆäËû×éµÄÄ£¿é¿ÉÒÔͨ¹ý --enable-module Ö¸ÁîÆôÓá£ÆäÖÐmoduleÊÇÄ£¿éÃûÈ¥µô"mod_"²¢½«Ï»®Ïßת»»³ÉÁ¬×Ö·ûºóµÄ×Ö·û´®¡£ÄãÒ²¿ÉÒÔʹÓà --enable-module=shared Ö¸Áģ¿é±àÒëΪ¿ÉÔÚÔËÐÐʱ¼ÓÔØºÍÐ¶ÔØµÄ¶¯Ì¬¹²Ïí¶ÔÏó(DSO)¡£Í¬ÑùµÄ£¬ÄãÒ²¿ÉÒÔʹÓà --disable-module Ö¸Áî½ûÓÃBase×éµÄÄ£¿é¡£×¢Ò⣬ʹÓÃÕâЩָÁîµÄʱºòconfigure²»»á¶ÔÄãÆ´Ð´´íÎóµÄÄ£¿é·¢³ö¾¯¸æËµÕÒ²»µ½Ä³Ä³Ä£¿é£¬¶øÖ»ÊǼòµ¥µÄºöÂÔÕâ¸öÑ¡Ïî¡£

ÁíÍ⣬ÓÐʱºò»¹±ØÐëÌṩ¸øconfigure½Å±¾¹ØÓÚ±àÒëÆ÷¡¢¿â¡¢Í·ÎļþλÖõĸü¶àÐÅÏ¢¡£ÕâЩ¿ÉÒÔͨ¹ý»·¾³±äÁ¿»òÕßÃüÁîÐÐÑ¡Ïî´«µÝ¸øconfigure½Å±¾¡£ÒªÁ˽â¸ü¶àÐÅÏ¢£¬Çë²Î¿¼ÅäÖÃÔ´´úÂëÊ÷¡£

ΪÁËÈÃÄã¶ÔÄÜÖ¸¶¨Ê²Ã´ÓÐÒ»¸ö¼òµ¥µÄÓ¡Ï󣬴ËÀýÑÝʾ±àÒëApache £¬²¢½«Æä°²×°ÔÚ/sw/pkg/apacheĿ¼£¬Ö¸¶¨ÁËÒ»¸öÌØ¶¨µÄ±àÒëÆ÷ÒÔ¼°±àÒë²ÎÊý£¬¶øÇÒÔÊÐí½ñºó½«Á½¸ö¸½¼ÓµÄÄ£¿émod_rewriteºÍmod_spelingͨ¹ýDSO»úÖÆÔÚÔËÐÐʱ¶¯Ì¬¼ÓÔØ£º

$ CC="pgcc" CFLAGS="-O2" \
./configure --prefix=/sw/pkg/apache \
--enable-rewrite=shared \
--enable-speling=shared

configureÐèÒªÔËÐм¸·ÖÖÓ£¬ÒÔ²âÊÔÖ¸¶¨µÄ¹¦ÄÜÔÚÄãµÄϵͳÖÐÊÇ·ñÓÐЧ£¬²¢½¨Á¢ÉÔºó±àÒëʱËùÐèµÄÐí¶àMakefileÎļþ¡£

TOP

±àÒë
ÔËÐÐÒÔÏÂÃüÁîÄã¾Í¿ÉÒÔ±àÒëApacheµÄ¸÷¸ö²¿·ÖÁË£º

$ make

ÇëÄÍÐĵȺò£¬ÒòΪ¶ÔÒ»¸ö»ù±¾ÅäÖõıàÒ룬ÐèÒªÔËÐм¸·ÖÖÓ×óÓÒ£¬Êµ¼ÊÐèÒªµÄʱ¼ä»áÒòΪÄãµÄÓ²¼þºÍÑ¡ÔñµÄÄ£¿éÊýÁ¿Óкܴó²»Í¬¡£


°²×°
ÏÖÔÚ¿ÉÒÔÔÚPREFIXĿ¼(²Î¼ûÉÏÊöµÄ --prefix ²ÎÊý)ϰ²×°ÁË£¬Ö´ÐУº

$ make install

Èç¹ûÊÇÉý¼¶£¬°²×°³ÌÐò²»»á¸²¸ÇÄãµÄÅäÖÃÎļþºÍÎĵµ¡£


ÅäÖÃ
½Ó×Å£¬Í¨¹ýÐÞ¸ÄPREFIX/conf/Ŀ¼ÏµÄÅäÖÃÎļþ£¬À´ÅäÖÃApache HTTP·þÎñÆ÷¡£

$ vi PREFIX/conf/httpd.conf

docs/manual/ÏÂÓÐApacheʹÓÃÊֲᣬhttp://httpd.apache.org/docs/2.2 ... é¿´ÍêÕûµÄÖ¸ÁîË÷Òý¡£

TOP

²âÊÔ
ÏÖÔÚ£¬¿ÉÒÔÖ´ÐÐÏÂÊöÃüÁîÁ¢¼´Æô¶¯ÄãµÄApache HTTP·þÎñÆ÷£º

$ PREFIX/bin/apachectl -k start

ÄãÓ¦¸Ã¿ÉÒÔÓÃhttp://localhost/À´ÇëÇóÄãµÄµÚÒ»¸ ... ¨³£ÊÇPREFIX/htdocs/ ¡£Ëæºó£¬¿ÉÒÔÕâÑùÍ£Ö¹·þÎñÆ÷£º

$ PREFIX/bin/apachectl -k stop


Éý¼¶
Éý¼¶µÄµÚÒ»²½ÊÇÔĶÁÔ´´úÂëĿ¼Öеķ¢²¼¹«¸æ(release announcement)ºÍCHANGESÎļþÒÔѰÕÒ¿ÉÄÜ»á¶ÔÄãµÄÕ¾µã²úÉúÓ°ÏìµÄ±ä»¯¡£Èç¹ûÖ÷°å±¾ºÅµÄ±ä»¯(ÀýÈç1.3¡ú2.0»ò2.0¡ú2.2)±íÃ÷±àÒëʱºÍÔËÐÐʱµÄÅäÖ÷¢ÉúÁËÖØ´ó±ä»¯£¬ÐèÒªÊÖ¶¯µ÷Õû£¬ËùÓÐÄ£¿éÒ²ÐèÒªÉý¼¶ÒÔ¼æÈÝа汾µÄÄ£¿éAPI ¡£

С·ù¶ÈµÄ°æ±¾Éý¼¶(ÀýÈ磺2.2.55¡ú2.2.57)ºÜÈÝÒס£make install µÄ¹ý³Ì²»»á¸ÄдÈκÎÒѾ­´æÔÚµÄÎĵµ¡¢ÈÕÖ¾¡¢ÅäÖÃÎļþ¡£´ËÍ⣬¿ª·¢ÕßÒ²»á¾¡Á¿¼æÈÝÉÏÒ»°æ±¾µÄconfigureÑ¡Ïî¡¢ÔËÐÐʱÅäÖá¢Ä£¿éAPI ¡£´ó¶àÊýÇé¿öÏ£¬Ä㽫Äܹ»Ê¹ÓÃÓëÉÏÒ»°æ±¾ÍêÈ«ÏàͬµÄconfigureÃüÁîÐкÍÔËÐÐʱÅäÖ㬶øÄãÔ­À´µÄËùÓÐÄ£¿éÒ²½«Õý³£¹¤×÷¡£

Èç¹ûÄã±£´æÁËÉÏÒ»´Î°²×°ºóbuild×ÓĿ¼ÖеÄconfig.niceÎļþ£¬Éý¼¶½«¸ü¼Óƽ»¬¡£Õâ¸öÎļþ¾«È·µØ±£´æÁËËùÓжÔĿ¼Ê÷½øÐÐÅäÖõÄconfigureÃüÁîÐС£ÄãÖ»ÐèÒª½«config.niceÎļþ¸´ÖƵ½ÐµÄÔ´´úÂëĿ¼Ê÷µÄ¸ùÎļþ¼Ð²¢½øÐÐÄãÏ£ÍûµÄÐ޸ĺó£¬È»ºóÔËÐÐÏÂÃæµÄÃüÁî¼´¿ÉÍê³ÉÉý¼¶£º

$ ./config.nice
$ make
$ make install
$ PREFIX/bin/apachectl -k graceful-stop
$ PREFIX/bin/apachectl -k start


ÄãÓ¦¸Ã×ÜÊÇÔÚ½«Ð°汾µÄApacheͶÈëÕýʽÔËÐÐǰ£¬¶ÔÕâ¸öа汾½øÐÐ×ã¹»µÄ¡¢Õë¶ÔÄãµÄʵ¼ÊÔËÐл·¾³µÄ²âÊÔ¡£±ÈÈ磬Äã¿ÉÒÔʹÓÃÒ»¸ö²»Í¬µÄ --prefix ÉèÖý«Ð°汾°²×°ÔÚÒ»¸ö²»Í¬µÄĿ¼£¬²¢Ê¹ÓÃListenÖ¸ÁîÔÚÒ»¸ö²»Í¬µÄ¶Ë¿Ú¼àÌý¡£¾­¹ýÒ»¶Îʱ¼äµÄ²âÊÔÒÔ·¢ÏÖ¿ÉÄÜ´æÔÚµÄÎÊÌ⣬ȻºóÔÙ×ö³ö×îºóµÄ¾ö¶¨¡£
±¾ÎÄÔÊÐí×ÔÓÉʹÓᢷַ¢¡¢×ªÔØ£¬µ«±ØÐë±£ÁôÒëÕßÊðÃû£»Ïê¼û£ºÒëÕßÉùÃ÷¡£

TOP

Æô¶¯Apache
ÔÚWindows NT/2000/XP/2003²Ù×÷ϵͳÖУ¬ApacheÒ»°ãÒÔ·þÎñ·½Ê½ÔËÐУ¬»òÕßÔÚWindows 95/98/MEÖÐÒÔ¿ØÖÆÌ¨³ÌÐò·½Ê½ÔËÐС£ÏêÇéÇë²Î¼ûÒÔ·þÎñ·½Ê½ÔËÐÐApacheºÍÒÔ¿ØÖÆÌ¨³ÌÐò·½Ê½ÔËÐÐApache¡£

ÔÚUnix²Ù×÷ϵͳÖУ¬httpd³ÌÐò×÷Ϊһ¸öÊØ»¤½ø³ÌÔËÐУ¬ÔÚºǫ́²»¶Ï´¦ÀíÇëÇó¡£±¾ÎĵµÃèÊöÁËÈçºÎµ÷ÓÃhttpd ¡£


ApacheÊÇÔõÑùÆô¶¯µÄ
Èç¹ûÅäÖÃÎļþÖÐListen¶¨ÒåµÄÊÇĬÈϵÄ80¶Ë¿Ú(»ò1024ÒÔÏÂ)£¬ÄÇôÆô¶¯Apache½«ÐèÒªrootȨÏÞÒÔ½«Ëü°ó¶¨ÔÚÌØÈ¨¶Ë¿ÚÉÏ¡£Ò»µ©·þÎñÆ÷¿ªÊ¼Æô¶¯²¢Íê³ÉÁËһЩÖîÈç´ò¿ªÈÕÖ¾ÎļþÖ®ÀàµÄ×¼±¸²Ù×÷£¬Ëü½«´´½¨ºÜ¶à×Ó½ø³ÌÀ´Íê³ÉһЩÖîÈçÕìÌýºÍ»ØÓ¦¿Í»§¶ËÇëÇóµÄ¹¤×÷¡£httpdÖ÷½ø³ÌÈÔÈ»ÒÔrootÓû§µÄȨÏÞÔËÐУ¬¶øËüµÄ×Ó½ø³Ì½«ÒÔÒ»¸ö½ÏµÍȨÏÞµÄÓû§ÔËÐС£Õ⽫ÓÉÄãÑ¡ÔñµÄ¶à·´¦ÀíÄ£¿é½øÐпØÖÆ¡£

µ÷ÓÃhttpd¿ÉÖ´ÐÐÎļþµÄÍÆ¼ö·½·¨ÊÇʹÓÃapachectl¿ØÖƽű¾¡£´Ë½Å±¾ÉèÖÃÁËÔÚijЩ²Ù×÷ϵͳÖÐÕý³£ÔËÐÐhttpdËù±ØÐèµÄ»·¾³±äÁ¿£¬È»ºóµ÷ÓÃhttpd¶þ½øÖÆÎļþ¡£apachectl»á´«µÝÃüÁîÐеÄËùÓвÎÊý£¬Òò´ËËùÓÐÓÃÓÚhttpdµÄÑ¡Ïî¶à°ëÒ²¿ÉÒÔÓÃÓÚapachectl ¡£Äã¿ÉÒÔÖ±½ÓÐÞ¸Äapachectl½Å±¾£¬¸Ä±äÊײ¿µÄHTTPD±äÁ¿Ê¹Ö®Ö¸Ïòhttpd¿ÉÖ´ÐÐÎļþµÄÕýȷλÖã¬Ò²¿ÉÒÔÉèÖÃÈÎÒâµÄÃüÁîÐвÎÊý£¬Ê¹Ö®×ÜÊÇÓÐЧ¡£

httpd±»µ÷ÓúóµÚÒ»¼þÒª×öµÄÊÂÇé¾ÍÊÇÕÒµ½²¢¶ÁÈ¡ÅäÖÃÎļþhttpd.conf ¡£´ËÎļþµÄλÖÃÊÇÔÚ±àÒëʱÉ趨µÄ£¬µ«Ò²¿ÉÒÔÏóÏÂÃæÕâÑùÔÚÔËÐÐʱÓà -f Ñ¡ÏîÀ´Ö¸¶¨£º

/usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf

Èç¹ûÆô¶¯¹ý³ÌÒ»ÇÐÕý³££¬·þÎñÆ÷½«ÓëÖÕ¶Ë·ÖÀë²¢¼¸ºõÁ¢¼´³öÏÖÃüÁîÐÐÌáʾ·û¡£Õâ±íʾ·þÎñÆ÷ÒѾ­Æô¶¯²¢¿ªÊ¼ÔËÐС£È»ºóÄã¾Í¿ÉÒÔÓÃÄãµÄä¯ÀÀÆ÷È¥Á¬½ÓÄãµÄ·þÎñÆ÷À´²é¿´DocumentRootĿ¼ÏµIJâÊÔÎĵµ¼°ÆäÒ³ÃæÁ´½ÓÀïµÄÆäËüÎĵµµÄ±¾µØ¸±±¾¡£

TOP

Æô¶¯Ê±·¢Éú´íÎó
Èç¹ûApacheÔÚÆô¶¯¹ý³ÌÖз¢ÉúÁËÖÂÃü´íÎó£¬Ëü½«ÔÚÍ˳öǰ°ÑÃèÊöÕâ¸ö´íÎóµÄÐÅÏ¢ÏÔʾÔÚÖÕ¶ËÉÏ»òÕßдÈëµ½ErrorLogÖС£Ò»¸ö×î³£²úÉúµÄ´íÎóÐÅÏ¢ÊÇ"Unable to bind to Port ..."£¬ÕâÖ÷ÒªÓÉÒÔÏÂÔ­ÒòÔì³É£º

ÏëÓÉÒ»¸öÌØÈ¨¶Ë¿ÚÆô¶¯·þÎñµ«Ã»ÓÐÒÔrootÓû§ÔËÐÐ
Æô¶¯·þÎñʱÒѾ­ÓÐÁíÍâµÄApacheʵÀýÔÚÔËÐлòÆäËûµÄweb·þÎñÆ÷ÒѾ­°ó¶¨ÁËͬÑùµÄ¶Ë¿Ú
¸ü¶àÎÊÌâµÄ½â¾ö°ì·¨£¬Çë²Î¼û³£¼ûÎÊÌâ¡£


ËæÏµÍ³Æô¶¯Ê±Æô¶¯
Èç¹ûÄãÏ£ÍûÄãµÄ·þÎñÆ÷ÔÚÏµÍ³ÖØÆôºóÈÔ±£³ÖÔËÐÐ״̬£¬ÄãÓ¦¸Ã°ÑapachectlµÄµ÷ÓüÓÈëµ½ÄãµÄϵͳÆô¶¯ÎļþÖÐ(ͨ³£Îªrc.localÎļþ»òrc.NĿ¼ÏµÄijһÎļþ)¡£Õ⽫»áÒÔrootȨÏÞÆô¶¯Apache¡£µ±È»£¬ÔÚ´Ë֮ǰ£¬Äã±ØÐë±£Ö¤ÄãµÄ·þÎñÆ÷ÒѾ­Íê³ÉÁ˰²È«ºÍ·ÃÎÊȨÏÞµÄÉ趨¡£

apachectl½Å±¾±»Éè¼ÆÎª¿ÉÒÔÓÃ×÷SysV³õʼ»¯½Å±¾£¬Ëü½ÓÊÜstart¡¢restart¡¢stop²ÎÊý£¬²¢°ÑËüÃÇ·­ÒëΪhttpd¶ÔÓ¦µÄÐźţ¬ËùÒÔͨ³£¶¼¿ÉÒÔ½«apachectlÁ¬½Óµ½Êʵ±µÄ³õʼĿ¼£¬µ«ÊÇÐèÒª¼ì²éÄãµÄϵͳ¶Ô´ËµÄ¾«È·ÒªÇó¡£

TOP

¶îÍâÐÅÏ¢
¹ØÓÚhttpdºÍapachectlÒÔ¼°ÆäËûÏà¹ØÖ§³Ö³ÌÐòµÄÃüÁîÐÐÑ¡ÏîµÄÏêϸÐÅÏ¢Çë²Î¼û·þÎñÆ÷ºÍÖ§³Ö³ÌÐòÒ³Ãæ¡£ÆäÖл¹°üÀ¨ËùÓеÄËæApache·¢Ðаü·¢²¼µÄÄ£¿éºÍËüÃÇÌṩµÄÖ¸ÁîµÄÎĵµ¡£

±¾ÎÄÔÊÐí×ÔÓÉʹÓᢷַ¢¡¢×ªÔØ£¬µ«±ØÐë±£ÁôÒëÕßÊðÃû£»Ïê¼û£ºÒëÕßÉùÃ÷¡£

TOP

Í£Ö¹ºÍÖØÆô
±¾ÎĵµÐðÊöÁËÔÚÀàUnixϵͳÉÏÈçºÎÍ£Ö¹ºÍÖØÆôApache ¡£ Windows NT/2000/XP/2003µÄÓû§Çë²Î¼ûÒÔ·þÎñ·½Ê½ÔËÐÐApache £¬Windows 9x/MEÓû§Ôò²Î¼ûÔÚ¿ØÖÆÌ¨ÖÐÔËÐÐApache ¡£


¼ò½é
ΪÁËÍ£Ö¹»òÕßÖØÐÂÆô¶¯Apache £¬Äã±ØÐëÏòÕýÔÚÔËÐеÄhttpd½ø³Ì·¢ËÍÐźš£ÓÐÁ½ÖÖ·¢ËÍÐźŵķ½·¨¡£µÚÒ»ÖÖ·½·¨ÊÇÖ±½ÓʹÓÃUNIXµÄkillÃüÁîÏòÔËÐÐÖеĽø³Ì·¢ËÍÐźš£ÄãÒ²ÐíÄã»á×¢Òâµ½ÄãµÄϵͳÀïÔËÐÐןܶàhttpd½ø³Ì¡£µ«Äã²»Ó¦¸ÃÖ±½Ó¶ÔËüÃÇÖеÄÈκÎÒ»¸ö·¢ËÍÐźţ¬¶øÖ»Òª¶ÔÒѾ­ÔÚPidFileÖмÇÔØÏÂÁË×ÔÉíPIDµÄ¸¸½ø³Ì·¢ËÍÐźš£Ò²¾ÍÊÇ˵£¬Äã²»±Ø¶Ô¸¸½ø³ÌÒÔÍâµÄÈκνø³Ì·¢ËÍÐźš£Äã¿ÉÒÔÏò¸¸½ø³Ì·¢ËÍÈýÖÖÐźţºTERM¡¢HUP¡¢USR1 £¬ÎÒÃǹýÒ»»á¶ùÔÙ½øÐÐÏêϸµÄ˵Ã÷¡£

Äã¿ÉÒÔÓÃÏÂÃæÕâÑùµÄÃüÁîÀ´Ïò¸¸½ø³Ì·¢ËÍÐźţº

kill -TERM `cat /usr/local/apache2/logs/httpd.pid`

µÚ¶þÖÖ·½·¨ÊÇʹÓÃÏÂÃæ½«ÒªÃèÊöµÄhttpd¶þ½øÖÆ¿ÉÖ´ÐÐÎļþµÄ -k ÃüÁîÐÐÑ¡Ïstop¡¢restart¡¢graceful¡¢graceful-stop ¡£²»¹ýÎÒÃÇÍÆ¼öÄãʹÓÃapachectl¿ØÖƽű¾À´Ïòhttpd¶þ½øÖÆ¿ÉÖ´ÐÐÎļþ´«µÝÕâЩѡÏî¡£

µ±ÄãÏòhttpd·¢ËÍÐźźó£¬Äã¿ÉÒÔÕâÑùÀ´¶ÁÈ¡ËüµÄ½øÐйý³Ì£º

tail -f /usr/local/apache2/logs/error_log

Äã¿ÉÒÔÐÞ¸ÄÕâЩʾÀýÒÔÊÊÓ¦ÄãµÄServerRootºÍPidFileÉèÖá£

TOP

Á¢¼´Í£Ö¹
ÐźţºTERM
apachectl -k stop
·¢ËÍTERM»òstopÐźŵ½¸¸½ø³Ì¿ÉÒÔʹËüÁ¢¿ÌɱËÀËùÓÐ×Ó½ø³Ì¡£Õ⽫»¨·ÑһЩʱ¼äÀ´É±ËÀËùÓÐ×Ó½ø³Ì¡£È»ºó¸¸½ø³Ì×Ô¼ºÒ²Í˳ö¡£ËùÓнøÐÐÖеÄÇëÇ󽫱»Ç¿ÐÐÖÐÖ¹£¬¶øÇÒ²»ÔÙ½ÓÊÜÆäËüÇëÇó¡£


ÓÅÑÅÖØÆô
ÐźţºUSR1
apachectl -k graceful
USR1»ògracefulÐźÅʹµÃ¸¸½ø³Ì½¨Òé×Ó½ø³ÌÔÚÍê³ÉËüÃÇÏÖÔÚµÄÇëÇóºóÍ˳ö(Èç¹ûËûÃÇûÓнøÐзþÎñ£¬½«»áÁ¢¿ÌÍ˳ö)¡£¸¸½ø³ÌÖØÐ¶ÁÈëÅäÖÃÎļþ²¢ÖØÐ´ò¿ªÈÕÖ¾Îļþ¡£Ã¿µ±Ò»¸ö×Ó½ø³ÌËÀµô£¬¸¸½ø³ÌÁ¢¿ÌÓÃеÄÅäÖÃÎļþ²úÉúÒ»¸öеÄ×Ó½ø³Ì²¢Á¢¿Ì¿ªÊ¼ËÅ·þеÄÇëÇó¡£

ÖØÆô´úÂëµÄÉè¼ÆÄܹ»È·±£MPM½ø³Ì¿ØÖÆÖ¸ÁîµÄÕý³£ÔË×÷£¬Ò²¾ÍÊÇÔÚÖØÆô¹ý³ÌÖÐÈ·±£ÓÐÊʵ±ÊýÁ¿µÄ½ø³ÌºÍÏß³ÌÒÔÏìÓ¦¿Í»§¶ËµÄÇëÇó¡£ËüÊÇÕâÑùStartServersµÄ£ºÈç¹ûÔÚÒ»ÃëÖÓÒÔºó»¹Ã»ÓÐд´½¨StartServers¸ö×Ó½ø³Ì£¬Ôò´´½¨³ö×ã¹»Íê³ÉÏÖÔÚÈÎÎñµÄ×Ó½ø³Ì¸öÊý¡£Òò´Ë£¬´úÂë³ýÁ˱£ÓÐÄܹ»Î¬³Ö·þÎñÆ÷µÄÏÖÓиºÔØÊýÁ¿µÄ×Ó½ø³ÌÍ⣬Ҳȷ±£StartServers°´ÄãµÄÒâÔ¸ÔË×÷¡£

ʹÓÃmod_statusµÄÓû§»á×¢Òâµ½ÔÚUSR1Ðźŷ¢³öºó£¬·þÎñÆ÷µÄͳ¼ÆÐÅϢûÓб»ÇåÁã¡£´úÂ뱻д³É¼ÈÄܽ«Äã·þÎñÆ÷ÎÞ·¨ËÅ·þÐÂÇëÇóµÄʱ¼ä½µÖÁ×îÉÙ(ÕâЩÇëÇ󽫱»²Ù×÷ϵͳ·Åµ½¶ÓÁÐÀʹµÃËüÃDz»»á¶ªÊ§)£¬ÓÖÄÜ×ñ´ÓÄãµÄ²ÎÊýÓÅ»¯¡£ÎªÁË×öµ½ÕâÒ»µã£¬Ëü½«ÔÚÖØÐÂÉú³É×Ó½ø³ÌµÄ¹ý³ÌÖУ¬ÔÚscoreboardÉϱ£´æËùÓÐ×Ó½ø³ÌµÄ״̬¡£

mod_status»¹»á½«ÄÇЩÔÚÓÅÑÅÖØÆôǰ¾ÍÒѾ­¿ªÊ¼¶øÃ»ÓнáÊøËÅ·þÇëÇóµÄ×Ó½ø³ÌÓÃÒ»¸ö"G"À´±êÖ¾¡£

Ŀǰ£¬ÈÕÖ¾¹ö¶¯½Å±¾»¹ÎÞ·¨Ê¹ÓÃUSR1À´È·¶¨ËùÓÐдÈëÔ¤ÖØÆôÈÕÖ¾µÄ×Ó½ø³Ì¶¼ÒѽáÊø¡£ÎÒÃǽ¨ÒéÄãÔÚ·¢³öÁËUSR1ÐźźóµÈ´ýÒ»¸öÊʵ±µÄʱ¼ä£¬È»ºóÔٶԾɵÄÈÕÖ¾×ö´¦Àí¡£±ÈÈç˵Èç¹û¶ÔÓÚÒ»¸öÕ­´øÓû§À´Ëµ£¬´ó²¿·ÖµÄµã»÷´¦Àí½«ÔÚ10·ÖÖÓÖ®ÄÚÍê³É£¬ÄÇôÄãÓ¦¸ÃÔÚ´¦Àí¾ÉµÄÈÕ־ǰµÈ´ý15·ÖÖÓ¡£

Èç¹ûApacheÖØÆôʱ·¢ÏÖÅäÖÃÎļþÓÐÎó£¬ÄÇô¸¸½ø³Ì½«²»»áÖØÆô£¬¶øÊDZ¨´í²¢Í˳ö¡£ÔÚÓÅÑÅÖØÆôµÄÇé¿öÏ£¬Ëü½«ÔÚ´¦ÀíÖеÄ×Ó½ø³Ì´æÔÚµÄÇé¿öÏÂά³ÖËüµÄ´æÔÚ(¾ÍÊÇÄÇЩ±»ÒªÇóÔÚ´¦ÀíÍêËüÃǵÄÇëÇóºó"ÓÅÑÅÍ˳ö"µÄ×Ó½ø³Ì)¡£Èç¹ûÄãÒªÖØÆô·þÎñÆ÷£¬Õ⽫µ¼ÖÂһЩÎÊÌ⣺Ëü½«²»Äܰ󶨵½ËüµÄ¼àÌý¶Ë¿Ú¡£ÔÚÖ´ÐÐÖØÆô֮ǰ£¬Äã¿ÉÒÔÓà -t ÃüÁîÐвÎÊýÀ´¼ì²éÅäÖÃÎļþÓï·¨µÄÕýÈ·ÐÔ(²Î¼ûhttpd)¡£µ«ÕâÈÔÈ»²»Äܱ£Ö¤·þÎñÆ÷Ò»¶¨¿ÉÒÔÕýÈ·µÄÖØÆô¡£ÎªÁË´ÓÓï·¨ºÍÓïÒåÁ½·½Ãæ¼ì²éÅäÖÃÎļþ£¬Äã¿ÉÒÔÓÃÒ»¸ö·ÇrootÓû§À´Æô¶¯httpd¡£Èç¹ûûÓдíÎó£¬Ëü½«³¢ÊÔÈ¥´ò¿ªÌ×½Ó×ÖºÍÈÕÖ¾Îļþ£¬¼Ì¶øÒòûÓÐrootȨÏÞ¶øÊ§°Ü(»òÊÇÒòΪÏÖÔÚÔËÐеÄhttpdÒѾ­°ó¶¨ÁËÕâЩ¶Ë¿Ú)¡£Èç¹ûÊÇÒòΪÆäËûÔ­ÒòÄÇô¾Í¿ÉÄÜÊÇÒ»¸öÅäÖÃÎļþ²úÉúµÄ´íÎó£¬Äã¾ÍÓ¦µ±ÔÚ½øÐÐÓÅÑÅÖØÆô֮ǰ¸ÄÕýÕâ¸ö´íÎó¡£

TOP

Á¢¼´ÖØÆô
ÐźţºHUP
apachectl -k restart
Ïò¸¸½ø³Ì·¢ËÍHUP»òrestartÐźŻáʹËüÏóÊÕµ½TERMÐźÅÒ»ÑùɱµôËùÓеÄ×Ó½ø³Ì£¬²»Í¬Ö®´¦ÔÚÓÚ¸¸½ø³Ì±¾Éí²¢²»Í˳ö¡£ËüÖØÐ¶ÁÈëÅäÖÃÎļþ¡¢ÖØÐ´ò¿ªÈÕÖ¾Îļþ¡£È»ºó²úÉúһϵÁÐеÄ×Ó½ø³ÌÀ´¼ÌÐø·þÎñ¡£

ʹÓÃmod_statusµÄÓû§»á×¢Òâµ½ÔÚHUPÐźŷ¢³öºó£¬·þÎñÆ÷ͳ¼ÆÐÅÏ¢»á±»ÇåÁã¡£

Èç¹ûÄãÖØÆôʱÅäÖÃÎļþÓÐÎó£¬ÄÇô¸¸½ø³Ì½«²»»áÖØÆô£¬¶øÊDZ¨´í²¢Í˳ö¡£²Î¼ûÉÏÎÄÖбÜÃâµÄ·½·¨¡£

ÓÅÑÅÍ£Ö¹
ÐźţºWINCH
apachectl -k graceful-stop
WINCH»ògraceful-stopÐźÅʹµÃ¸¸½ø³Ì½¨Òé×Ó½ø³ÌÔÚÍê³ÉËüÃÇÏÖÔÚµÄÇëÇóºóÍ˳ö(Èç¹ûËûÃÇûÓнøÐзþÎñ£¬½«»áÁ¢¿ÌÍ˳ö)¡£È»ºó¸¸½ø³Ìɾ³ýPidFile²¢Í£Ö¹ÔÚËùÓж˿ÚÉϵļàÌý¡£¸¸½ø³ÌÈÔÈ»¼ÌÐøÔËÐв¢¼àÊÓÕýÔÚ´¦ÀíÇëÇóµÄ×Ó½ø³Ì£¬Ò»µ©ËùÓÐ×Ó½ø³ÌÍê³ÉÈÎÎñ²¢Í˳ö»òÕß³¬¹ýÓÉGracefulShutdownTimeoutÖ¸Áî¹æ¶¨µÄʱ¼ä£¬¸¸½ø³Ì½«»áÍ˳ö¡£ÔÚ³¬Ê±µÄÇé¿öÏ£¬ËùÓÐ×Ó½ø³Ì¶¼½«½ÓÊÕµ½TERMÐźŲ¢±»Ç¿ÖÆÍ˳ö¡£

ÔÚ"ÓÅÑÅ"״̬Ï£¬TERMÐźŽ«»áÁ¢¼´ÖÐÖ¹¸¸½ø³ÌºÍËùÓÐ×Ó½ø³Ì¡£ÓÉÓÚPidFileÒѾ­±»É¾³ý£¬Ä㽫ÎÞ·¨Ê¹ÓÃapachectl»òhttpd·¢Ë͸ÃÐźš£

graceful-stopÔÊÐíÄãͬʱÔËÐжà¸öÏàͬÅäÖõÄhttpdʵÀý¡£ÕâÔÚ¶ÔApache½øÐÐÆ½»¬Éý¼¶µÄʱºòÊÇÒ»¸ö·Ç³£ÓÐÓõÄÌØÐÔ¡£²»¹ýËüÔÚijЩÅäÖõÄÇé¿öÏÂͬÑù¿ÉÄܻᵼÖÂËÀËøºÍ¾ºÕùÌõ¼þ¡£

±ØÐë×¢ÒâÈ·±£ÖîÈçLockfileºÍScriptSockÖ®ÀàµÄ´ÅÅÌÎļþ°üº¬·þÎñÆ÷µÄPID £¬²¢ÇÒÄܹ»°²È«µÄ¹²´æ¡£È»¶øÈç¹ûÒ»¸öÅäÖÃÖ¸Áî¡¢µÚÈý·½Ä£¿é»ò³Ö¾ÃCGIʹÓÃÈκδÅÅÌËø»ò״̬Îļþ£¬±ØÐë×¢ÒâÈ·±£¶à¸öhttpdÔËÐÐʵÀýÖ®¼ä²»»áÕùÇÀÎļþ¡£

Ä㻹±ØÐë·ÀֹDZÔڵľºÕùÌõ¼þ£¬±ÈÈçʹÓÃrotatelogs·ç¸ñµÄ¹ÜµÀÈÕÖ¾¡£ÔËÐÐÖеĶà¸örotatelogsʵÀýÆóͼͬʱ¹ö¶¯Í¬Ò»¸öÈÕÖ¾Îļþ¿ÉÄܻᵼÖ»¥ÏàÆÆ»µ¶Ô·½µÄÈÕÖ¾Îļþ¡£

TOP

¸½Â¼£ºÐźź;ºÕùÌõ¼þ
ÔÚApache 1.2b9 ֮ǰ£¬ÓÐºÜ¶à¹ØÓÚÖØÆôºÍËÀÍöÐźŵľºÕùÌõ¼þ¡£¹ØÓÚ¾ºÕùÌõ¼þµÄÒ»¸ö¼òµ¥ÃèÊöÊÇ£ºÒ»¸öʱ¼äÃô¸ÐµÄÎÊÌ⣬Èç¹ûһЩÊÂÇéÔÚ²»Êʵ±µÄʱ¼ä»òÒÔ²»Ç¡µ±µÄ˳Ðò·¢Éú£¬Ëü½«×÷³öÄã²»ÆÚÍûµÄ·´Ó¦£»Èç¹ûͬÑùµÄÊÂÇéÔÚÇ¡µ±µÄʱ¼ä·¢Éú£¬Ôò²»»á³öÏÖÒì³£¡£Æ¾½èÄÇЩӵÓÐ"ÕýÈ·"ÌØÐÔÉèÖõÄÌåϵ½á¹¹£¬ÎÒÃǾ¡Á¿±ÜÃâÁËËüÃǵijöÏÖ¡£µ«ÖµµÃ×¢ÒâµÄÊÇ£¬ÈÔÈ»ÓÐһЩ¾ºÕùÌõ¼þ´æÔÚÓÚÕâÑùµÄÌåϵ½á¹¹ÖС£

ʹÓÃÎïÀí´ÅÅ̵ÄScoreBoardFile¾ÍÓÐËð»µScoreBoardµÄDZÔÚΣÏÕ¡£Õ⽫·¢ÉúÔÚ"bind: Address already in use"(HUPÖ®ºó)»ò"long lost child came home!"(USR1Ö®ºó)ʱ¡£Ç°ÕßÊÇÒ»¸öÖÂÃü´íÎ󣬶øºóÕßÔò»áʹ·þÎñÆ÷¶ªÊ§ScoreBoardµÄÒ»¸ö¼Ç¼¡£ËùÒÔÎÒÃǽ¨Òé¶àʹÓÃÓÅÑÅÖØÆô£¬Å¼¶ûʹÓÃÓ²ÖØÆô¡£ÕâЩÎÊÌâºÜÄѽâ¾ö£¬µ«ÐÒÔ˵ÄÊÇ´ó¶àÊý½á¹¹²¢²»ÐèÒªScoreBoardÎļþ¡£¶øÈç¹ûÄãÐèÒªÕâÑùµÄ½á¹¹£¬Äã¿ÉÒԲο¼ScoreBoardFileÎĵµ¡£

µ±Ã¿¸ö×Ó½ø³ÌÔÚÒ»¸öHTTPµÄ³ÖÐøÁ¬½Ó(KeepAlive)ÖÐÉæ¼°µ½µÚ¶þ¸ö²¢·¢µÄÇëÇóʱ£¬ËùÓеĽṹ¶¼»á»ò¶à»òÉÙ´æÔÚ¾ºÕù״̬µÄÎÊÌâ¡£Ëü½«ÔÚ¶ÁÈ¡ÁËÇëÇó¶øÃ»ÓжÁÈ¡ÈκÎÇëÇóÍ·Ö®ºóÁ¢¿ÌÍ˳ö¡£Õâ¸öÐÞ¸´¶ÔÓÚ1.2À´ËµÀ´µÃÌ«ÍíÁË¡£µ«ÒòΪ³ÖÐøÁ¬½ÓµÄ¿Í»§¶ËÒѾ­¿¼Âǵ½ÍøÂçÑÓʱºÍ·þÎñÆ÷³¬Ê±»áÔì³ÉÀàËÆµÄÇé¿ö£¬ËùÒÔÀíÂÛÉÏ˵£¬Õâ²»ÊÇÒ»¸öÌ«´óµÄÎÊÌâ¡£¶øÊµ¼ÊÉÏËÆºõҲûÓÐÈκÎÓ°Ï죺ÔÚÒ»¸ö²âÊÔ°¸ÀýÖзþÎñÆ÷ÔÚÒ»ÃëÖ®ÄÚ±»ÖØÆôÁË20´Î£¬¶ø¿Í»§¶ËÈ´³É¹¦µÄä¯ÀÀÁËÍøÕ¾£¬¶øÇÒûÓÐÈÎºÎÆÆËðµÄͼƬ»ò¿ÕÎĵµ¡£

±¾ÎÄÔÊÐí×ÔÓÉʹÓᢷַ¢¡¢×ªÔØ£¬µ«±ØÐë±£ÁôÒëÕßÊðÃû£»Ïê¼û£ºÒëÕßÉùÃ÷¡£

TOP

¶à·´¦ÀíÄ£¿é
±¾ÎĵµÃèÊöÁËʲôÊǶà·´¦ÀíÄ£¿éÒÔ¼°ËüÈçºÎΪApacheËùʹÓá£

TOP

·µ»ØÁбí