ºìÁªLinuxÃÅ»§
Linux°ïÖú

LinuxÖÐÓÃÄÚºËKHTTPDʵÏÖWeb·þÎñ¼ÓËÙ

·¢²¼Ê±¼ä:2007-03-15 00:27:25À´Ô´:ºìÁª×÷Õß:Assurance
¡¡¡¡Ò»¡¢¼ò½é

¡¡¡¡´Ólinux2.4.13¿ªÊ¼£¬ÔÚNetworking options³öÏÖÁËÒ»¸öÊÔÑéÐÔµÄÑ¡Ï'[ ] Kernel httpd acceleration (EXPERIMENTAL)'£¬Ê²Ã´ÊÇkHTTPdÄØ£¿ËüÊÇÒ»¸öLinux»·¾³ÏµÄweb·þÎñÆ÷¡£kHTTPdºÍÆäËüweb·þÎñÆ÷µÄ²»Í¬Ö®´¦ÔÚÓÚÆäÊÇ×÷ΪÄں˵ÄÒ»²¿·ÖÔËÐÐÔÚLinuxµÄÄÚºËÖÐ(¿ÉÒÔ¿´³ÉÊÇÒ»¸öÉ豸Çý¶¯)¡£

¡¡¡¡KHTTPd½ö½ö´¦Àí¾²Ì¬(»ùÓÚ¾²Ì¬ÎļþµÄ)µÄwebÒ³Ãæ£¬¶ø½«ËùÓеĶÔÓڷǾ²Ì¬ÄÚÈݵÄÇëÇ󴫵ݸøÕý³£µÄÔËÐÐÓÚÓû§¿Õ¼äµÄweb·þÎñÆ÷À´´¦Àí£¬Èçapache¡¢ZeusµÈ£¬¶øÕâЩÔËÐÐÔÚÓû§¿Õ¼äµÄweb·þÎñÆ÷²¢²»ÐèÒªÈκÎÐ޸ġ£

¡¡¡¡¶ÔÓÚ¾²Ì¬webÒ³ÃæµÄhttpÇëÇóµÄ´¦Àí²»ÊÇÒ»¸ö·Ç³£¸´ÔÓ¹ý³Ì£¬µ«ÊÇÕâÈ´ÊÇweb·þÎñÖзdz£ÖØÒªµÄÒ»¸ö²¿·Ö£¬ÒòΪÖÁÉÙÍøÕ¾Öдó¶àÊýͼÐζ¼ÊǾ²Ì¬µÄ£¬¶øÇÒ»¹ÓкܶàhtmlÎļþʱ¾²Ì¬µÄ¡£Ò»¸ö³£¹æµÄweb·þÎñÆ÷¶ÔÓÚ¾²Ì¬Ò³ÃæµÄhttpÇëÇó´¦Àí·Ç³£¼òµ¥£¬½ö½öÊÇ¿½±´¡®Îļþµ½ÍøÂç¡®µÄ¼òµ¥²Ù×÷¡£Èç¹ûÕâЩ²Ù×÷ÔÚÄÚºËÖÐÍê³É½«±äµÃ·Ç³£¸ßЧ¡£ÀýÈçÒ²ÊÇÍê³ÉÀàËÆµÄ¹¦ÄܵÄNFS·þÎñÆ÷Ò²ÊÇÔËÐÐÔÚÄÚºËÖеġ£

¡¡¡¡Í¨¹ýÔÚÄÚºËÖÐʵÏÖwebÇëÇó´¦Àí¼ÓËÙ£¬Í¨³£ÒâÒåµÄweb·þÎñÆ÷£­ÈçapacheµÈÔò¿ÉÒÔרעÓÚ´¦ÀíÄÇЩ¶¯Ì¬webÇëÇó¡£

¡¡¡¡×¢£ºÕâÀïApacheÖ¸´úÈκÎÒ»¸öweb·þÎñÆ÷¡£

¡¡¡¡¶þ¡¢¿ìËÙÈëÃÅ

¡¡¡¡1) ±àÒë²¢¼ÓÔØÄ£¿é¡£

¡¡¡¡2) Èç¹ûÐèÒª£¬Í¨¹ý/proc/sys/net/khttpdÀ´¶ÔÄ£¿é½øÐÐÅäÖá£

¡¡¡¡3) echo 1 > /proc/sys/net/khttpd/start¡£

¡¡¡¡Ð¶ÔØ£º

¡¡¡¡echo 1 > /proc/sys/net/khttpd/stop¡¡¡¡echo 1 > /proc/sys/net/khttpd/unload ¡¡¡¡rmmod khttpd¡¡

¡¡¡¡Èý¡¢ÅäÖÃ

¡¡¡¡1¡¢²Ù×÷ģʽ

¡¡¡¡ÕâÀïÓÐÁ½ÖÖÍÆ¼ö²Ù×÷ģʽ£º

¡¡¡¡1) 'Apache' ÊÇÖ÷web·þÎñÆ÷£¬kHTTPdÊǸ¨Öúweb·þÎñÆ÷

¡¡¡¡¡¡¡¡clientport -> 80¡¡¡¡serverport -> 8080 (or whatever)¡¡

¡¡¡¡2) kHTTPdÊÇÖ÷web·þÎñÆ÷, 'Apache'ÊǸ¨Öúweb·þÎñÆ÷

¡¡¡¡¡¡clientport -> 8080 (or whatever)¡¡¡¡serverport -> 80¡¡

¡¡¡¡2¡¢ÅäÖÃkHTTPd

¡¡¡¡ÔÚÆô¶¯kHTTPd֮ǰÊ×ÏÈÐèÒª¶ÔËü½øÐÐÅäÖá£ÕâÊÇͨ¹ý/procÎļþϵͳÀ´½øÐеģ¬Òò´Ë¿ÉÒÔÔڽű¾ÖÐʵÏÖ×Ô¶¯ÅäÖᣴó¶àÊý²ÎÊýÖ»ÄÜÔÚkHTTPdûÓÐÆô¶¯ÒÔǰ²ÅÄÜÉèÖá£

¡¡¡¡Ò»°ã¿ÉÒÔÅäÖÃÒÔϲÎÊý£º

¡¡¡¡1) kHTTPd¼àÌýµÄ·þÎñÇëÇó¶Ë¿Ú£»

¡¡¡¡2) 'Apache'¼àÌýµÄ¶Ë¿Ú(ÔÚ'localhost'½Ó¿ÚÖÐ)£»

¡¡¡¡3) webÎĵµrootĿ¼(documentroot)£»

¡¡¡¡4) ¶¯Ì¬ÄÚÈݵÄÇëÇóËù°üº¬µÄ×Ö·û´®(¿ÉÑ¡µÄ)[ ĬÈϰüÀ¨"cgi-bin"]¡£

¡¡¡¡ÔÚÕâÀïÖ¸¶¨µÄdocumentrootÒ»¶¨Òª±£Ö¤ºÍÔËÐÐÔÚÓû§¿Õ¼äµÄweb·þÎñÆ÷µÄdocumentrootÏàÒ»Ö£¬ÒòΪkHTTPd¿ÉÄܻὫÈκÎÇëÇóÖØ¶¨Ïò¸øÓû§¿Õ¼äµÄweb·þÎñÆ÷À´´¦Àí¡£

¡¡¡¡Ò»¸öµäÐ͵Ľű¾(µÚÒ»ÖÖ²Ù×÷ģʽ)£º

¡¡¡¡#!/bin/sh
¡¡¡¡modprobe khttpd
¡¡¡¡echo 80 > /proc/sys/net/khttpd/clientport
¡¡¡¡echo 8080 > /proc/sys/net/khttpd/serverport
¡¡¡¡echo /var/www > /proc/sys/net/khttpd/documentroot
¡¡¡¡echo php3 > /proc/sys/net/khttpd/dynamic
¡¡¡¡echo shtml > /proc/sys/net/khttpd/dynamic
¡¡¡¡echo 1 > /proc/sys/net/khttpd/start

¡¡¡¡¶ÔÓÚµÚ¶þÖÖ²Ù×÷ģʽ£¬ÆäµäÐ͵Ľű¾ÈçÏ£º

¡¡¡¡#!/bin/sh
¡¡¡¡modprobe khttpd
¡¡¡¡echo 8080 > /proc/sys/net/khttpd/clientport
¡¡¡¡echo 80 > /proc/sys/net/khttpd/serverport
¡¡¡¡echo /var/www > /proc/sys/net/khttpd/documentroot
¡¡¡¡echo php3 > /proc/sys/net/khttpd/dynamic
¡¡¡¡echo shtml > /proc/sys/net/khttpd/dynamic
¡¡¡¡echo 1 > /proc/sys/net/khttpd/start

¡¡¡¡ÔÚÕâÖÖÇé¿öÏ£¬ÄãÊ×ÏÈÐèÒªÐÞ¸ÄApacheµÄÅäÖãº

¡¡¡¡Port 80¡¡

¡¡¡¡ÐÞ¸ÄΪ

¡¡¡¡Port 8080¡¡

¡¡¡¡3¡¢Í£Ö¹kHTTPd

¡¡¡¡ÎªÁËÐÞ¸ÄÅäÖã¬Ê×ÏÈÐèҪֹͣkHTTPd£º

¡¡¡¡#echo 1 > /proc/sys/net/khttpd/stop

¡¡¡¡Èç¹ûÏ£ÍûÐ¶ÔØÄ£¿é£¬Í£Ö¹kHTTPdÒÔºó£¬ÔËÐУº

¡¡¡¡echo 1 > /proc/sys/net/khttpd/unload

¡¡¡¡Èç¹ûÄã¸Ð¾õ¶ÔÄãÀ´ËµÕâ¸ö¹ý³ÌÌ«ÂýÁË(ÉÏÃæµÄÃüÁîÐèÒªµÈ´ýÔ¶³ÌÁ¬½ÓÊ×ÏȹرÕ)£¬¿ÉÒÔÔÚÍ£Ö¹ÆäÍ£Ö¹ÒÔºóÏò·þÎñÆ÷·¢ËÍHUPÐźţ¬Õ⽫µ¼Ö·þÎñÆ÷Ïß³ÌÁ¢¼´Í£Ö¹¡£

¡¡¡¡×¢£ºÈç¹ûÕâЩ½ø³ÌûÓб»Í£Ö¹£¬ËüÃÇ»áÂíÉÏÖØÐÂÆô¶¯¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 1 ÌõÆÀÂÛ

  1. Assurance ÓÚ 2007-03-15 00:29:41·¢±í:

    ¡¡¡¡ËÄ¡¢ ÏÞÖÆ

    ¡¡¡¡kHTTPdµÄ°²È«Ä£Ê½·Ç³£Ñϸñ£¬ÕâÊÇÒòΪÓÐÓû§¿Õ¼äµÄweb·þÎñÆ÷¿ÉÒÔ´¦Àí¸´ÔÓµÄÇé¿ö,kHTTPdÖ»ÓÐÔÚÂú×ãÏÂÃæµÄÌõ¼þ²Å»á´¦ÀíÇëÇó£º

    ¡¡¡¡1) URLÖÐûÓÐ'?'£»

    ¡¡¡¡2) URLÒÔ'/'¿ªÊ¼£»

    ¡¡¡¡3) URLÖ¸¶¨µÄÎļþ´æÔÚ£»

    ¡¡¡¡4) ¸ÃÎļþµÄȨÏÞÊÇËùÓÐÓû§¿É¶ÁµÄ(*)£»

    ¡¡¡¡5) Îļþ²»ÊÇÒ»¸öĿ¼£¬²»ÊÇ¿ÉÖ´ÐÐÎļþ£¬Ã»ÓÐstickyλÖÃλ(*)£»

    ¡¡¡¡6) URL²»°üº¬ÈκηǷ¨×Ó´®£¬È磺'..'¡¢'cgi-bin'µÈ(*)£»

    ¡¡¡¡7) ÎļþµÄmimeÀàÐÍÊÇ¿ÉÖªµÄ(*)¡£

    ¡¡¡¡ÕâÀïºóÃæ±ê×¢*µÄÌõ¼þÊÇ¿ÉÒÔͨ¹ý/proc/sys/net/khttpdÀ´ÅäÖõIJ»Âú×ãÉÏÃæÈκÎÌõ¼þµÄÇëÇ󽫱»×ª½»¸øÓû§¿Õ¼äµÄweb·þÎñÆ÷À´´¦Àí¡£

    ¡¡¡¡Îå¡¢²ÎÊý

    ¡¡¡¡ÏÂÃæµÄ²ÎÊý¿ÉÒÔͨ¹ý/proc/sys/net/khttpd±»ÅäÖãº

    ¡¡¡¡±äÁ¿Ãû ĬÈÏÖµ º¬Òåserverport 8080 kHTTPd¼àÌýµÄ·þÎñ¶Ë¿Úclientport 80 Óû§¿Õ¼äµÄweb·þÎñÆ÷µÄ¼àÌý¶Ë¿Ú

    ¡¡¡¡threads 2 ·þÎñÆ÷Ï̵߳ÄÊýÁ¿£¬¶ÔÓÚСÐÍwebÀ´ËµÓ¦¸ÃÊÇÿ¸öCPU¶ÔÓ¦Ò»¸ö£¬¶ÔÓÚ´óÐÍÍøÕ¾À´Ëµ(»î¶¯Îļþ²»ÊDZ£´æÔÚRAMÖÐ)£¬ÆäÖµÓ¦¸ÃÊÇÿ¸öCPU¶ÔÓ¦2documentroot /var/www webÄÚÈÝËùÔÚĿ¼¡£

    ¡¡¡¡start 0 ÉèÖÃΪ1À´Æô¶¯kHTTPd (¸Ãλ¿ÉÄܱ»'stop'×Ô¶¯ÉèÖÃΪ0)£»

    ¡¡¡¡stop 0 ÉèÖÃΪ1À´Í£Ö¹kHTTPd (¸Ãλ¿ÉÄܱ»'start'×Ô¶¯ÉèÖÃΪ0)£»

    ¡¡¡¡unload 0 ÉèÖÃΪ1À´×¼±¸Ð¶ÔØkHTTPdÄ£¿é£»

    ¡¡¡¡sloppymime 0 Èç¹ûΪ1£¬ÄÇôΪֹµÄmimeÀàÐÍ×Ô¶¯ÉèÖÃΪtext/html£¬Èç¹ûΪ0Ôòδ֪mimiÀàÐ͵ÄÎļþ½«ÓÉÓû§¿Õ¼äµÄweb·þÎñÆ÷À´´¦Àí£»

    ¡¡¡¡perm_required S_IROTH ÐèÒªµÄ×îСÏÞÖÆ(ÆäÖµ²Î¿¼'man 2 stat')£»

    ¡¡¡¡perm_forbid dir+sticky+ Îļþ½ûÖ¹µÄÏÞÖÆÑÚÂë(ÆäÖµ²Î¿¼'man 2 stat')£»

    ¡¡¡¡dynamic cgi-bin .. ¶¯Ì¬ÄÚÈÝÇëÇóURL°üº¬µÄ×Ó´®£»

    ¡¡¡¡maxconnect 1000 µ±Ç°×î´óÁ¬½ÓÊý¡£