{"id":673,"date":"2007-10-14T15:13:00","date_gmt":"2007-10-14T07:13:00","guid":{"rendered":"http:\/\/note.systw.net\/note\/?p=673"},"modified":"2023-11-04T15:31:13","modified_gmt":"2023-11-04T07:31:13","slug":"apache-webserver","status":"publish","type":"post","link":"https:\/\/systw.net\/note\/archives\/673","title":{"rendered":"Apache Webserver"},"content":{"rendered":"\n<p><strong>&nbsp;apache\u76f8\u95dc\u6a94\u6848<\/strong><br>\/usr\/sbin\/httpd&nbsp; Apache\u4e3b\u8981\u7684\u4e8c\u9032\u4f4d\u57f7\u884c\u6a94<br>\/etc\/httpd\/conf\/httpd.conf apache\u4e3b\u8981\u8a2d\u5b9a\u6a94<br>\/etc\/webalizer.conf&nbsp; \u7c21\u55ae\u7684\u5206\u6790\u8edf\u9ad4webalizer\u8a2d\u5b9a\u6a94<br>\/etc\/mime.types \u8a18\u9304\u8868\u982d\u4e2dcontent-type\u548c\u6a94\u6848\u985e\u578b\u7684\u5c0d\u61c9\u95dc\u4fc2,\u53c3\u6578\u70batypesconfig<br>ps:\u5e38\u7528mime\u6709application,audio,image,message,model,multipart,text,video,\u53ef\u53c3\u8003www.iana.org\/assignments\/media-types<br>.htaccess&nbsp; per-directory\u7d44\u614b\u8a2d\u5b9a\u6a94\u540d\u7a31,\u512a\u5148\u6b0a\u5927\u65bc\u4e3b\u8a2d\u5b9a\u6a94,\u4f46\u7121\u6cd5\u4f7f\u7528\u6240\u6709\u7684\u6307\u4ee4\u529f\u80fd<br>&nbsp;\u500b\u5225\u76ee\u9304\u64c1\u6709\u8005\u53ef\u5728\u8a72\u7db2\u9801\u76ee\u9304\u4e0b\u5efa\u7acb.htaccess,\u4ee5\u8a2d\u5b9ahttpd.conf\u88e1option\u7684\u53c3\u6578\u503c<br><br>\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/<br><strong>apache\u76f8\u95dc\u76ee\u9304<\/strong><br><strong>\/etc\/httpd\/conf.d\/&nbsp;<\/strong>&nbsp;\u53ef\u5c07\u984d\u5916\u53c3\u6578\u7368\u7acb\u51fa\u4f86\u5beb\u9032.conf,\u555f\u52d5Apache\u6642,\u9019\u500b\u6a94\u6848\u6703\u88ab\u8b80\u5165\u4e3b\u8981\u8a2d\u5b9a\u6a94\u7576\u4e2d<br>&nbsp; php.conf&nbsp; PHP\u8a2d\u5b9a\u53c3\u6578<br>&nbsp; webalizer.conf&nbsp; webalizer\u8a2d\u5b9a\u53c3\u6578<br><br><strong>\/usr\/lib\/httpd\/modules\/&nbsp;<\/strong>&nbsp;\u6a21\u7d44\u653e\u7f6e\u76ee\u9304<br>libphp4.so&nbsp; \u8b93Apache\u80fd\u5920\u8dd1php\u7684\u6a21\u7d44<br>mod_status.so \u53ef\u67e5\u8a62\u4e3b\u6a5f\u72c0\u614b\u7684\u6a21\u7d44<br>mod_info.so \u53ef\u67e5\u8a62\u4e3b\u6a5f\u7d44\u614b\u7684\u6a21\u7d44<br>mod_access.so \u53ef\u4f7f\u7528allow,deny,order\u7684\u6a21\u7d44<br>mod_autoindex.so \u53ef\u4f7f\u7528\u76ee\u9304\u7d22\u5f15\u529f\u80fd\u7684\u6a21\u7d44<br>mod_auth_basic.so \u4f7f\u7528\u6a94\u6848\u65b9\u5f0f\u7684\u57fa\u672c\u9a57\u8b49\u6a21\u7d44(authtype=basic),\u666e\u904d\u652f\u63f4,\u4e0d\u52a0\u5bc6<br>mod_auth_digest.so \u4f7f\u7528md5\u9a57\u8b49\u6a21\u7d44(authtype=digest),http1.1\u624d\u652f\u63f4,\u6709\u52a0\u5bc6<br>mod_auth_ldap \u7528ldap\u76ee\u9304\u5132\u5b58\u9a57\u8b49\u8cc7\u6599\u5eab\u7684\u9a57\u8b49\u6a21\u7d44<br>mod_authn_anon \u5141\u8a31\u533f\u540d\u5b58\u53d6\u7684\u6a21\u7d44<br>mod_authn_dbm \u7528database management\u9a57\u8b49\u7684\u6a21\u7d44<br>mod_authn_file \u7528\u7d14\u6587\u5b57\u6a94\u6848\u7684\u9a57\u8b49\u65b9\u5f0f<br>mod_auth_msql \u7528mssql\u8cc7\u6599\u5eab\u7684\u9a57\u8b49<br>mod_auth_mysql \u7528mysql\u8cc7\u6599\u5eab\u7684\u9a57\u8b49<br>mod_auth_kerberos \u4f7f\u7528kerberos\u7684\u9a57\u8b49<br>mod_auth_radius \u4f7f\u7528radius\u7684\u9a57\u8b49<br>mod_auth_smb \u4f7f\u7528windows nt\u57fa\u672c\u9a57\u8b49<br>mod_auth_pam \u4f7f\u7528pluggable authentication module\u7684\u9a57\u8b49<br>mod_bandwidth \u53ef\u9650\u5236\u983b\u5bec,mod_limitipconn\u4e5f\u6709\u540c\u529f\u80fd\u4e5f\u6709\u540c\u529f\u80fd<br>ps:apache\u53ef\u7528\u6a21\u7d44\u6e05\u55ae,modules.apache.org\/search<br><br><strong>\/var\/log\/httpd\/&nbsp;<\/strong>&nbsp;Apache\u767b\u9304\u6a94\u76ee\u9304<br>error_log \u932f\u8aa4\u8a18\u9304\u6a94\uff1a\u8a18\u9304\u5404\u7a2e\u53ef\u80fd\u7684\u932f\u8aa4\u8a0a\u606f<br>access_log \u5b58\u53d6\u8a18\u9304\u6a94\uff1a\u4e5f\u53eb\u50b3\u9001\u8a18\u9304\u6a94transfer log,\u8a18\u9304\u6240\u6709\u4f7f\u7528\u8005\u9023\u7dda\u72c0\u6cc1,\u8981\u5206\u6790\u7cfb\u7d71\u8ca0\u8f09\u53ef\u53c3\u8003<br>&nbsp;ps:\u53ef\u9078\u683c\u5f0f\u6709\uff1acombined,common,referer,agent<br><br>\/var\/www\/html\/&nbsp; httpd.conf\u6a94\u5167\u53c3\u6578documentroot\u9810\u8a2d\u7684\u9996\u9801\u76ee\u9304<br>\/var\/www\/error\/&nbsp; \u700f\u89bd\u5668\u4e0a\u51fa\u73fe\u7684\u932f\u8aa4\u8a0a\u606f\u4ee5\u9019\u500b\u76ee\u9304\u7684\u9810\u8a2d\u8a0a\u606f\u70ba\u4e3b<br>\/var\/www\/icons\/&nbsp; \u63d0\u4f9bApache\u9810\u8a2d\u7d66\u4e88\u7684\u4e00\u4e9b\u5c0f\u5716\u793a\uff0curl\u70bahttp:\/\/localhost\/icons\/<br>\/var\/www\/cgi-bin\/&nbsp; \u9810\u8a2d\u7d66CGI\u653e\u7f6e\u7684\u76ee\u9304,url\u70bahttp:\/\/localhost\/cgi-bin\/<br><br><br>\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/<br><strong>apache command<\/strong><br>\u53ef\u53c3\u8003http:\/\/httpd.apache.org\/docs\/2.0\/programs\/<br><br><strong>gpg<\/strong>&nbsp; \/\/\u5148\u57f7\u884cimport,\u5728\u57f7\u884cverify<br>&nbsp;&#8211;import KEYS \/\/\u532f\u5165apache\u7684keys\u6a94<br>&nbsp;&#8211;verify httpd-2.*.*.tar.gz.asc \/\/\u6aa2\u67e5httpd-2.*.*.tar.gz\u7684\u6a94\u6848\u662f\u5426\u6b63\u78ba<br><br><strong>.\/configure<\/strong>&nbsp;\u53c3\u65781 \u53c3\u65782 \/\/\u7528\u4f86\u7522\u751fmakefile\uff0c\u5b89\u88dd\u7528\u53c3\u6578\u53ef\u53c3\u8003httpd.apache.org\/docs-2.0\/install.html<br>-h \/\/\u67e5\u8a62\u53ef\u7528\u7de8\u8b6f\u9078\u9805<br>&#8211;prefix=\/usr\/local\/apache \/\/\u8a2d\u5b9aapache\u8981\u5b89\u88dd\u7684\u5730\u65b9<br>&#8211;with-mpm=name \/\/\u6307\u5b9a\u6b32\u9032\u884c\u7de8\u8b6f\u7684mpm\u540d\u7a31\u70baname(\u6709prefork\u9810\u8a2d,worker,perchild)<br>&#8211;enable-so \/\/\u555f\u52d5dso(dynamic shared objects),\u8b93apache\u529f\u80fd\u6a21\u7d44\u5316,\u4e26\u6709\u8f09\u5165.so\u6a21\u7d44\u7684\u529f\u80fd<br>&#8211;enable-mods-shared=&#8217;mod1 mod2&#8230;&#8217; \/\/\u5c07mod\u4ee5dso\u7de8\u8b6f\u6210\u55ae\u7368\u7684\u6a21\u7d44,\u6709\u9700\u8981\u624d\u8f09\u5165,\u6216\u7528all\u5c07\u5168\u90e8\u8b8a\u6210\u6a21\u7d44<br>&#8211;enable-modules=all \/\/\u555f\u52d5\u5404\u7a2e\u5167\u5efa\u7684\u6a21\u7d44<br>(httpd.apache.org\/docs-2.0\/mod\/&nbsp; \u5c07\u5217\u51fa\u5b89\u88dd\u6642\u6240\u5305\u542b\u7684\u6a21\u7d44\u6e05\u55ae)<br><br><strong>ratatelogs<\/strong>&nbsp;\/\/\u8a18\u9304\u6a94\u8f2a\u66ff\u7ba1\u7406<br>&nbsp;\u7528\u6cd5\uff1a\u5728httpd.conf\u5167\u7684CustomLog\u6539\u6210\u6b64\u683c\u5f0f&nbsp; &#8220;|rotatelogs_path \/log_save_path interval&#8221; common<br>&nbsp; rotatelogs_path\u662f\u6b64\u547d\u4ee4\u7684\u8def\u5f91<br>&nbsp; log_save_path\u662f\u88ab\u8f2a\u66ff\u4e0b\u7684\u820a\u7d00\u9304\u5132\u5b58\u4f4d\u7f6e<br>&nbsp; interval\u662f\u8f2a\u66ff\u6642\u9593,\u4ee5\u6bcf\u79d2\u70ba\u55ae\u4f4d(86400\u70ba\u4e00\u5929)<br>&nbsp; common\u662f\u7cfb\u7d71\u5167\u5b9a\u7684\u7d00\u9304\u683c\u5f0f<br>ex:\u82e5\u8981\u8a2d\u5b9a\u6bcf\u5929(86400)\u9032\u884c\u8f2a\u66ff<br>CustomLog &#8220;|\/usr\/local\/devtest\/bin\/rotatelogs \/usr\/local\/devtest\/logs\/access_log 86400&#8221; common<br><strong><br>httpd<\/strong><br>&nbsp;-l \/\/\u5217\u51fa\u6240\u6709\u5df1\u5b89\u88dd\u6a21\u7d44\u6e05\u55ae\uff0c\u5217\u51fa\u7de8\u8b6f\u9032apache\u7684\u529f\u80fd(\u4e5f\u5c31\u662f\u5217\u51fa\u6c92\u6709\u8b8a\u6210\u6a21\u7d44\u7684\u529f\u80fd)<br><strong><br>logresolve<\/strong>&nbsp;\/\/\u8655\u7406\u8a18\u9304\u6a94\u5167\u5bb9\u7684dns\u89e3\u6790<br>&nbsp;\u8a9e\u6cd5\uff1alogresolve [-s file] [-c] &lt; source &gt; result<br>&nbsp;-s \u6307\u5b9a\u7528file\u6a94\u6848\u5132\u5b58\u8a72\u7a0b\u5f0f\u57f7\u884c\u904e\u7a0b<br>&nbsp;-c \u6aa2\u9a57ip,dns\u5c0d\u61c9\u8cc7\u6599<br>&nbsp; source \u6307\u5b9a\u8981\u8655\u7406\u7684\u7d00\u9304\u6a94<br>&nbsp; result \u6307\u5b9a\u5132\u5b58\u8655\u7406\u7d50\u679c\u7684\u6a94\u6848<br><br><strong>\/usr\/sbin\/apachectl<\/strong><br>Apache\u4e3b\u8981shell script\u57f7\u884c\u6a94\uff0c\u53ef\u4e3b\u52d5\u5075\u6e2c\u7cfb\u7d71\u4e0a\u9762\u7684\u8a2d\u5b9a\u503c\u8b93\u555f\u52d5Apache\u6642\u66f4\u7c21\u55ae<br>apachectl [start|restart|graceful|stop|configtest]<br>&nbsp;graceful:\u52d5\u65b0\u555f\u52d5\u4e0d\u65b7\u7dda<br>&nbsp;configtest:\u6e2c\u8a66httpd.conf\u662f\u5426\u6b63\u78ba<br><br><strong>apxs<\/strong><br>apache extension tool,\u82e5apache\u5b89\u88dd\u6642\u652f\u63f4dso,\u5373\u53ef\u70ba\u4f3a\u670d\u5668\u64f4\u5145\u6a21\u7d44<br>-c mod_name.c \/\/\u5c07mod_name.c\u539f\u59cb\u6a94\u8b8a\u6210\u5171\u4eab\u6a21\u7d44\u5171\u4eab\u6a21\u7d44mod_name.la<br>-i -a mod_name.la \/\/\u5c07mod_name.la\u8f09\u5165,apache\u91cd\u555f\u5f8c\u6a21\u7d44\u624d\u6703\u751f\u6548<br>-i \u8868\u793a\u5b89\u88dd<br>-a \u589e\u52a0LoadModule\u884c\u5230httpd.conf\u4e26\u555f\u7528<br>-A \u589e\u52a0#LoadModule\u884c\u5230httpd.conf<br><br><strong>ab<\/strong>,apache benchmarks<br>\u6a21\u64ec\u591a\u4f7f\u7528\u8005\u9023\u7dda,\u4e26\u5c07\u4ee5\u56de\u5831<br>\u683c\u5f0f\uff1aab [option] [http:\/\/]hostname[:port]\/path<br>option\u6709<br>&nbsp;-n \u9032\u884c\u5e7e\u6b21\u9023\u7dda<br>&nbsp;-c \u540c\u6642\u9023\u7dda\u6578<br>&nbsp;-t \u8a2d\u5b9atimeout\u6642\u9593<br>&nbsp;-C \u8a2d\u5b9acookie<br>&nbsp;-A \u5e33\uff1a\u5bc6,\u7528\u4ee5\u652f\u63f4basic\u8a8d\u8b49<br>&nbsp;-e \u5c07\u8655\u7406\u904e\u7a0b\u8a18\u5728\u6a94\u6848<br>&nbsp;-p \u6307\u5b9a\u4e00\u6a94\u6848,\u5c07\u6a94\u6848\u5167\u8cc7\u6599post\u7d66\u8981\u6e2c\u8a66\u7684\u7a0b\u5f0f<br>&nbsp;-k \u958b\u555fkeeplive<br>&nbsp;-x \u6307\u5b9aproxy server<br>&nbsp;-P \u6307\u5b9aproxy server\u5e33\u865f\u5bc6\u78bc<\/p>\n\n\n\n<p><br><br><br>\u53c3\u8003\u4f86\u6e90<br>\u9ce5\u54e5\u7684\u79c1\u623f\u83dc<br>apache2.0\u6df1\u5165\u7814\u7a76<br>linux\u4f3a\u670d\u5668\u5efa\u7f6e\u8207\u7ba1\u7406<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp;apache\u76f8\u95dc\u6a94\u6848\/usr\/sbin\/http &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[21],"tags":[],"class_list":["post-673","post","type-post","status-publish","format-standard","hentry","category-linuxservice"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/posts\/673","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/comments?post=673"}],"version-history":[{"count":0,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/posts\/673\/revisions"}],"wp:attachment":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/media?parent=673"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/categories?post=673"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/tags?post=673"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}