LinuxÅäÖÃApache·þÎñÆ÷È«¹¥ÂÔ
LinuxÅäÖÃApache·þÎñÆ÷È«¹¥ÂÔ ÊÕ²Ø
Ò»£¬Ê¹ÓÃÔ´´úÂë°²×°
¡¡¡¡(1) »ñµÃÔ´´úÂë
¡¡¡¡# lynx http://www.apache.org/dist/httpd/httpd-2_0_NN.tar.gz
¡¡¡¡NN±íʾµ±Ç°ËùÓõİ汾ºÅ¡£
¡¡¡¡(2) ½âѹËõ
¡¡¡¡# gzip -d httpd-2_0_NN.tar.gz
¡¡¡¡# tar xvf httpd-2_0_NN.tar¡¡
¡¡¡¡(3) ÅäÖÃ.
¡¡¡¡# ./configure --prefix= /usr/local/apache --enable-so
¡¡¡¡±íʾApache½«°²×°ÔÚ/usr/local/apacheĿ¼ÏÂ
¡¡¡¡(4) ±àÒëÓë°²×°
¡¡¡¡# make
¡¡¡¡# make install
¡¡¡¡(5) ²âÊÔ
¡¡¡¡# /usr/local/apache/bin/apachectl start
¡¡¡¡¶þ£¬Ê¹ÓÃRPM°ü°²×°
¡¡¡¡# rpm —ivh apache-*.rpm
¡¡¡¡Íê³É°²×°ºó£¬ÅäÖÃÎļþÔÚ/etc/httpd/conf/Ŀ¼Ï£¬Îļþ¸ùĿ¼Ϊ/var/www/html,¹¤¾ßÎļþÔÚ/etc/rc.d/init.d/Ŀ¼Ï£¬ÈÕÖ¾ÎļþÔÚ/var/log/httpd/Ŀ¼Ï¡£
¡¡¡¡µÚÈýÕ¾ Apache 2.0µÄÅäÖÃ
¡¡¡¡Apache 2.0µÄÖ÷ÅäÖÃÎļþΪhttpd.conf¡£Èç¹ûÒÔÉÏÊöÔ´´úÂë°²×°ÔòÅäÖÃÎļþ±£´æÔÚ/usr/local/apache/conf/Ŀ¼Ï£¬ÈôÒÔRPM°ü·½Ê½°²×°ÔòÅäÖÃÎļþ±£´æÔÚ/etc/httpd/conf/Ŀ¼Ï¡£ÎÒÃÇ¿ÉÒÔÖ±½ÓÐÞ¸Ähttpd.confÎļþÒ²¿ÉÒÔÓÃredhat linux 9×Ô´øµÄͼÐλ¯¹¤¾ßÀ´ÅäÖᣴò¿ªÆô¶¯³ÌÐò->ϵͳÉèÖÃ->·þÎñÆ÷ÉèÖÃ->HTTP·þÎñÆ÷£¬¿ÉÒÔ½øÐÐÏà¹Ø¡£Ö÷½çÃæÈçͼ£º
¡¡¡¡ÏÂÃæÎÒÃÇÀ´¿´Ò»ÏÂhttpd.confÖеļ¸ÌõÖ¸Áî,“#”ºó¼ÓÈëÁË×¢ÊÍ˵Ã÷¡£
¡¡¡¡Port 80 #¶¨ÒåÁËweb·þÎñÆ÷µÄÕìÌý¶Ë¿Ú£¬Ä¬ÈÏֵΪ80£¬ËüÊÇTCPÍøÂç¶Ë¿ÚÖ®Ò»¡£ÈôдÈë¶à¸ö¶Ë¿Ú£¬ÒÔ×îºóÒ»¸öΪ׼¡£
¡¡¡¡User apache #Ò»°ãÇé¿öÏ£¬ÒÔnobodyÓû§ºÍnobody×éÀ´ÔËÐÐweb·þÎñÆ÷£¬ÒòΪweb
¡¡¡¡Group apache # ·þÎñÆ÷·¢³öµÄËùÓеĽø³Ì¶¼ÊÇÒÔrootÓû§Éí·ÝÔËÐе쬴æÔÚ°²È«·çÏÕ¡£¡¡
¡¡¡¡ServerAdmin root@localhost #Ö¸¶¨·þÎñÆ÷¹ÜÀíÔ±µÄE-mailµØÖ·¡£·þÎñÆ÷×Ô¶¯½«´íÎ󱨸浽¸ÃµØÖ·¡£¡¡
¡¡¡¡ServerRoot /etc/httpd #·þÎñÆ÷µÄ¸ùĿ¼£¬Ò»°ãÇé¿öÏ£¬ËùÓеÄÅäÖÃÎļþÔÚ¸ÃĿ¼ÏÂ
¡¡¡¡ServerName new.host.name:80 #web¿Í»§ËÑË÷µÄÖ÷»úÃû³Æ
¡¡¡¡KeepAliveTimeout 15 #¹æ¶¨ÁËÁ¬ÐøÇëÇóÖ®¼äµÈ´ý15Ã룬Èô³¬¹ý£¬ÔòÖØÐ½¨Á¢Ò»ÌõеÄTCPÁ¬½Ó¡¡
¡¡¡¡MaxKeepAliveRequests 100 #ÓÀ¾ÃÁ¬½ÓµÄHTTPÇëÇóÊý
¡¡¡¡MaxClients 150 #ͬһʱ¼äÁ¬½Óµ½·þÎñÆ÷ÉϵĿͻ§»ú×ÜÊý
¡¡¡¡ErrorLog logs/error_log #ÓÃÀ´Ö¸¶¨´íÎóÈÕÖ¾ÎļþµÄÃû³ÆºÍ·¾¶
¡¡¡¡PidFile run/httpd.pid #ÓÃÀ´´æ·Åhttpd½ø³ÌºÅ£¬ÒÔ·½±ãÍ£Ö¹·þÎñÆ÷¡£
¡¡¡¡Timeout 300 #ÉèÖÃÇëÇó³¬Ê±Ê±¼ä£¬ÈôÍø
Ïà¹ØÎĵµ£º
c++¿âÎļþÖеķûºÅµÄº¬Ò壺
ËùÓеķûºÅ¶¼ÊÇÒÔÏ»®Ïß¼ÓÉÏ´óд×ÖĸҲ¾ÍÊÇ"_Z"¿ªÍ·£¬¶ÔÓÚÔÚ ÀàÀï»òÕßÃüÃû¿Õ¼äÖеķûºÅ£¬ºóÃæ½ô¸ú"N"£¬È»ºóÊǸ÷¸öÃüÃû¿Õ¼äºÍÀàµÄÃû×Ö£¬Ã¿¸öÃû×ÖǰÊÇÃû×Ö×Ö·û´®µÄ³¤¶È£¬ËæºóÊÇ´óд×Öĸ"E"£¬¶ÔÓÚÒ»¸öº¯Êý£¬ËûµÄ²ÎÊýÁÐ±í¶¼ÔÚEºóÃæ£¬ ......
Ðźű¾ÖÊ
ÐźÅÊÇÔÚÈí¼þ²ã´ÎÉ϶ÔÖжϻúÖÆµÄÒ»ÖÖÄ£Ä⣬ÔÚÔÀíÉÏ£¬Ò»¸ö½ø³ÌÊÕµ½Ò»¸öÐźÅÓë´¦ÀíÆ÷ÊÕµ½Ò»¸öÖжÏÇëÇó¿ÉÒÔ˵ÊÇÒ»ÑùµÄ¡£ÐźÅÊÇÒì²½µÄ£¬Ò»¸ö½ø³Ì²»±ØÍ¨¹ýÈκβÙ×÷À´µÈ´ýÐźŵĵ½´ï£¬ÊÂʵÉÏ£¬½ø³ÌÒ²²»ÖªµÀÐźŵ½µ×ʲôʱºòµ½´ï¡£
ÐźÅÊǽø³Ì¼äͨÐÅ»úÖÆÖÐΨһµÄÒ첽ͨÐÅ»úÖÆ£¬¿ÉÒÔ¿´×÷ÊÇÒ첽֪ͨ£¬Í¨Öª½ÓÊÕÐźŵĽø³Ì ......
¿âÓж¯Ì¬Ó뾲̬Á½ÖÖ£¬¶¯Ì¬Í¨³£ÓÃ.soΪºó׺£¬¾²Ì¬ÓÃ.aΪºó׺¡£ÀýÈ磺libhello.so libhello.a
ΪÁËÔÚͬһϵͳÖÐʹÓò»Í¬°æ±¾µÄ¿â£¬¿ÉÒÔÔÚ¿âÎļþÃûºó¼ÓÉϰ汾ºÅΪºó׺,ÀýÈ磺 libhello.so.1.0,ÓÉÓÚ³ÌÐòÁ¬½ÓĬÈÏÒÔ.soΪÎļþºó׺Ãû¡£ËùÒÔΪÁËʹÓÃÕâЩ¿â£¬Í¨³£Ê¹Óý¨Á¢·ûºÅÁ¬½ÓµÄ·½Ê½¡£
ln -s libhello.so.1.0 libhello.so.1 ......
1¡¢ÌØÈ¨¼¶
¡¡¡¡IntelÌåϵ½á¹¹ÒýÈëÌØÈ¨¼¶ÊÇΪÁËʵÏÖ±£»¤¡£Ëùν386±£»¤Ä£Ê½¾ÍÊÇÔÚ´Ë»ù´¡ÉϽ¨Á¢ÆðÀ´µÄ¡£ÏµÍ³ÖÐÿ¸ö¶Î£¨CS¡¢DS¡¢SS£©¶¼ÓÐ×Ô¼ºµÄÌØÈ¨¼¶£¬ÏµÍ³ÖÐÿ¸öÈÎÎñ»ò³ÌÐòÒ²¶¼ÓÐ×Ô¼ºµÄÌØÈ¨¡£
¡¡¡¡2¡¢²Ù×÷ģʽ
¡¡¡¡´¦ÀíÆ÷¼Óµç»òÖØÆôºó£¬Ê×ÏȽøÈëʵģʽ£¬²Ù×÷ϵͳ³õʼ»¯²¿·Ö¸ºÔð´Óʵģʽµ½±£»¤Ä£Ê½µÄÇл»¡£
¡¡¡¡3¡¢¶Î¡¢¶Îà ......
1.Ò»ÖÖ¶¨Ò庯ÊýÖ¸ÕëµÄ·½·¨
<linux/proc_fs.h>
typedef int (read_proc_t)(char *page, char **start, off_t offset, int count, int *eof, void *data);
read_proc_t *proc_read;
ÕâÖÖ¶¨Òå·½·¨ÓÐÒ»¸öÓÅÊÆ¾ÍÊÇ£¬¼´Ê¹ÄãûÓп´µ½read_proc_tµÄ¶¨Ò壬ҲÄܹ»Çå³þµÄÖªµÀproc_readÊÇÒ»¸öÖ¸Õ룬ÈçÏÂÃæ ......