{"id":1012,"date":"2018-09-03T13:36:16","date_gmt":"2018-09-03T05:36:16","guid":{"rendered":"https:\/\/blog.jsjs.org\/?p=1012"},"modified":"2018-09-03T13:36:16","modified_gmt":"2018-09-03T05:36:16","slug":"nginx%e5%ba%94%e7%94%a8%e6%80%bb%e7%bb%93%ef%bc%881%ef%bc%89-%e5%9f%ba%e7%a1%80%e8%ae%a4%e8%af%86%e5%92%8c%e5%ba%94%e7%94%a8%e9%85%8d%e7%bd%ae","status":"publish","type":"post","link":"https:\/\/blog.jsjs.org\/?p=1012","title":{"rendered":"nginx\u5e94\u7528\u603b\u7ed3\uff081\uff09&#8211;\u57fa\u7840\u8ba4\u8bc6\u548c\u5e94\u7528\u914d\u7f6e"},"content":{"rendered":"\n<div id=\"cnblogs_post_body\" class=\"blogpost-body\">\n<p>\u5728linux\u7cfb\u7edf\u4e0b\u4f7f\u7528nginx\u4f5c\u4e3aweb\u5e94\u7528\u670d\u52a1\uff0c\u7528\u6765\u63d0\u5347\u7f51\u7ad9\u8bbf\u95ee\u901f\u5ea6\u7684\u7ecf\u9a8c\u5df2\u4e94\u5e74\u591a\u4e86\uff0c\u4eca\u5929\u5728\u6b64\u5bf9nginx\u7684\u4f7f\u7528\u505a\u4e00\u7b80\u5355\u603b\u7ed3\u3002<\/p>\n<p>\u4e00\u3001nginx\u670d\u52a1\u7b80\u4ecb<br \/>Nginx\u662f\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684HTTP\u548c\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\uff0c\u4e5f\u662f\u4e00\u4e2a IMAP\/POP3\/SMTP\u4ee3\u7406\u670d\u52a1\u5668\u3002Nginx \u5df2\u7ecf\u56e0\u4e3a\u5b83\u7684\u7a33\u5b9a\u6027\u3001\u4e30\u5bcc\u7684\u529f\u80fd\u96c6\u3001\u793a\u4f8b\u914d\u7f6e\u6587\u4ef6\u548c\u4f4e\u7cfb\u7edf\u8d44\u6e90\u7684\u6d88\u8017\u800c\u95fb\u540d\u4e86\u3002<\/p>\n<p>\u4f7f\u7528 Nginx \u524d\u5fc5\u987b\u4e86\u89e3\u7684\u4e8b\u9879\uff1a<br \/>1\uff09\u76ee\u524d\u5b98\u65b9 Nginx \u5e76\u4e0d\u652f\u6301 Windows\uff0c\u60a8\u53ea\u80fd\u5728\u5305\u62ec Linux\u3001UNIX\u3001BSD \u7cfb\u7edf\u4e0b\u5b89\u88c5\u548c\u4f7f\u7528\uff1b<br \/>2\uff09Nginx \u672c\u8eab\u53ea\u662f\u4e00\u4e2a HTTP \u548c\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\uff0c\u5b83\u65e0\u6cd5\u50cf Apache \u4e00\u6837\u901a\u8fc7\u5b89\u88c5\u5404\u79cd\u6a21\u5757\u6765\u652f\u6301\u4e0d\u540c\u7684\u9875\u9762\u811a\u672c\uff0c\u4f8b\u5982 PHP\u3001CGI \u7b49\uff1b<br \/>3\uff09Nginx \u652f\u6301\u7b80\u5355\u7684\u8d1f\u8f7d\u5747\u8861\u548c\u5bb9\u9519\uff1b<br \/>4\uff09\u652f\u6301\u4f5c\u4e3a\u57fa\u672c HTTP \u670d\u52a1\u5668\u7684\u529f\u80fd\uff0c\u4f8b\u5982\u65e5\u5fd7\u3001\u538b\u7f29\u3001Byte ranges\u3001Chunked responses\u3001SSL\u3001\u865a\u62df\u4e3b\u673a\u7b49\u7b49\uff0c\u5e94\u6709\u5c3d\u6709\u3002<\/p>\n<p>Nginx\u5de5\u4f5c\u539f\u7406\uff1a<br \/>Nginx\u7531\u5185\u6838\u548c\u4e00\u7cfb\u5217\u6a21\u5757\u7ec4\u6210\uff0c\u5185\u6838\u63d0\u4f9bweb\u670d\u52a1\u7684\u57fa\u672c\u529f\u80fd,\u5982\u542f\u7528\u7f51\u7edc\u534f\u8bae,\u521b\u5efa\u8fd0\u884c\u73af\u5883,\u63a5\u6536\u548c\u5206\u914d\u5ba2\u6237\u7aef\u8bf7\u6c42,\u5904\u7406\u6a21\u5757\u4e4b\u95f4\u7684\u4ea4\u4e92\u3002Nginx\u7684\u5404\u79cd\u529f\u80fd\u548c\u64cd\u4f5c\u90fd\u7531\u6a21\u5757\u6765\u5b9e\u73b0\u3002Nginx\u7684\u6a21\u5757\u4ece\u7ed3\u6784\u4e0a\u5206\u4e3a\u6838\u5fc3\u6a21\u5757\u3001\u57fa\u7840\u6a21\u5757\u548c\u7b2c\u4e09\u65b9\u6a21\u5757\u3002<br \/>1\uff09\u6838\u5fc3\u6a21\u5757\uff1a HTTP\u6a21\u5757\u3001EVENT\u6a21\u5757\u548cMAIL\u6a21\u5757<br \/>2\uff09\u57fa\u7840\u6a21\u5757\uff1a HTTP Access\u6a21\u5757\u3001HTTP FastCGI\u6a21\u5757\u3001HTTP Proxy\u6a21\u5757\u548cHTTP Rewrite\u6a21\u5757<br \/>3\uff09\u7b2c\u4e09\u65b9\u6a21\u5757\uff1a HTTP Upstream Request Hash\u6a21\u5757\u3001Notice\u6a21\u5757\u548cHTTP Access Key\u6a21\u5757\u53ca\u7528\u6237\u81ea\u5df1\u5f00\u53d1\u7684\u6a21\u5757<br \/>\u8fd9\u6837\u7684\u8bbe\u8ba1\u4f7fNginx\u65b9\u4fbf\u5f00\u53d1\u548c\u6269\u5c55\uff0c\u4e5f\u6b63\u56e0\u6b64\u624d\u4f7f\u5f97Nginx\u529f\u80fd\u5982\u6b64\u5f3a\u5927\u3002Nginx\u7684\u6a21\u5757\u9ed8\u8ba4\u7f16\u8bd1\u8fdbnginx\u4e2d\uff0c\u5982\u679c\u9700\u8981\u589e\u52a0\u6216\u5220\u9664\u6a21\u5757\uff0c\u9700\u8981\u91cd\u65b0\u7f16\u8bd1Nginx,\u8fd9\u4e00\u70b9\u4e0d\u5982Apache\u7684\u52a8\u6001\u52a0\u8f7d\u6a21\u5757\u65b9\u4fbf\u3002\u5982\u679c\u6709\u9700\u8981\u52a8\u6001\u52a0\u8f7d\u6a21\u5757\uff0c\u53ef\u4ee5\u4f7f\u7528\u7531\u6dd8\u5b9d\u7f51\u53d1\u8d77\u7684web\u670d\u52a1\u5668Tengine\uff0c\u5728nginx\u7684\u57fa\u7840\u4e0a\u589e\u52a0\u4e86\u5f88\u591a\u9ad8\u7ea7\u7279\u6027\uff0c\u5b8c\u5168\u517c\u5bb9Nginx\uff0c\u5df2\u88ab\u56fd\u5185\u5f88\u591a\u7f51\u7ad9\u91c7\u7528\u3002<\/p>\n<p>Nginx\u5904\u7406\u8fde\u63a5\u8fc7\u7a0b\uff1a<br \/>nginx\u4e0d\u4f1a\u4e3a\u6bcf\u4e2a\u8fde\u63a5\u6d3e\u751f\u8fdb\u7a0b\u6216\u7ebf\u7a0b\uff0c\u800c\u662f\u7531 worker \u8fdb\u7a0b\u901a\u8fc7\u76d1\u542c\u5171\u4eab\u5957\u63a5\u5b57\u63a5\u53d7\u65b0\u8bf7\u6c42\uff0c\u5e76\u4e14\u4f7f\u7528\u9ad8\u6548\u7684\u5faa\u73af\u6765\u5904\u7406\u6570\u5343\u4e2a\u8fde\u63a5\u3002Nginx \u4e0d\u4f7f\u7528\u4ef2\u88c1\u5668\u6216\u5206\u53d1\u5668\u6765\u5206\u53d1\u8fde\u63a5\uff0c\u8fd9\u4e2a\u5de5\u4f5c\u7531\u64cd\u4f5c\u7cfb\u7edf\u5185\u6838\u673a\u5236\u5b8c\u6210\u3002\u76d1\u542c\u5957\u63a5\u5b57\u5728\u542f\u52a8\u65f6\u5c31\u5b8c\u6210\u521d\u59cb\u5316\uff0cworker \u8fdb\u7a0b\u901a\u8fc7\u8fd9\u4e9b\u5957\u63a5\u5b57\u63a5\u53d7\u3001\u8bfb\u53d6\u8bf7\u6c42\u548c\u8f93\u51fa\u54cd\u5e94\u3002<\/p>\n<p>Nginx\u7684\u5de5\u4f5c\u6a21\u5f0f\u5f88\u7b80\u5355\uff0c\u5c31\u662f\u91c7\u7528\u4e00\u4e2amaster\u8fdb\u7a0b\u548c\u591a\u4e2aworker\u5de5\u4f5c\u8fdb\u7a0b\uff1a<br \/>\u5176\u4e2dmaster\u8fdb\u7a0b\u7684\u4f5c\u7528\u4e5f\u662f\u5f88\u660e\u786e\u7684\u5c31\u662f\u8d1f\u8d23\u7ba1\u7406worker\u8fdb\u7a0b\uff0c\u540c\u65f6\u76d1\u542c\u8fde\u63a5\u8bf7\u6c42\uff0c\u5f53\u8fde\u63a5\u8bf7\u6c42\u5230\u6765\u4e4b\u540e\u5c06\u8fde\u63a5\u653e\u5165worker\u8fdb\u7a0b\u4e2d\u53bb\u5904\u7406\u5177\u4f53\u7684\u4e1a\u52a1\u8bf7\u6c42\uff0c\u6bd4\u5982\u8bf4http\u8bf7\u6c42\u3002 Nginx\u80fd\u591f\u5904\u7406\u9ad8\u5e76\u53d1\u7684\u539f\u56e0\u5728\u4e8e\u5bf9socket\u7684\u7ba1\u7406\u65b9\u5f0f\u662f\u5f02\u6b65\u975e\u963b\u585e\u7684\uff0c\u4f7f\u7528select\/poll\/epoll\/kqueue \u6765\u5b9e\u73b0\u5bf9\u5927\u91cfsocket\u63cf\u8ff0\u7b26\u7684\u7ba1\u7406\uff0c\u6bcf\u4e2aworker\u8fdb\u7a0b\u6709\u4e00\u4e2a\u4e3b\u7ebf\u7a0b\uff0c\u800c\u6ca1\u6709\u5176\u4ed6\u7684\u7ebf\u7a0b\u8fd9\u6837\u7684\u597d\u5904\u5c31\u5728\u4e8e\u4e0d\u9700\u8981\u8fdb\u884c\u7ebf\u7a0b\u95f4\u7684\u5207\u6362\uff0c\u8fd9\u6837\u5c31\u8282\u7701\u4e86\u8d44\u6e90\u3002\u6240\u4ee5\u603b\u7684\u6765\u8bf4\uff1aNginx\u80fd\u591f\u5b9e\u73b0\u652f\u6301\u9ad8\u5e76\u53d1\u7684\u540c\u65f6\u8fd0\u884c\u6548\u7387\u8fd8\u5f88\u4f4e\u7684\u5173\u952e\u5728\u4e8e\u6574\u4e2a\u7cfb\u7edf\u5185\u90e8\u53ea\u6709\u6709\u9650\u7684\u51e0\u4e2a\u5de5\u4f5c\u8fdb\u7a0b\u548c\u4e00\u4e2a\u76d1\u542c\u8fdb\u7a0b\uff0c\u800c\u6bcf\u4e2a\u8fdb\u7a0b\u5185\u90e8\u53ea\u6709\u4e00\u4e2a\u4e3b\u7ebf\u7a0b\uff0c\u8fd9\u6837\u5c31\u4e0d\u4f1a\u5f15\u8d77\u5f88\u591a\u7684\u7ebf\u7a0b\u5207\u6362\uff0c\u4ece\u800c\u964d\u4f4e\u4e86\u7cfb\u7edf\u5f00\u9500\uff0c\u540c\u65f6\u6bcf\u4e2a\u7ebf\u7a0b\u5185\u90e8\u4f7f\u7528\u5f02\u6b65\u975e\u963b\u585e\u7684\u65b9\u5f0f\u6765\u7ba1\u7406\u63cf\u8ff0\u7b26\u8fd9\u6837\u5c31\u53ef\u4ee5\u7ba1\u7406\u5927\u91cf\u7684\u63cf\u8ff0\u7b26\uff0c\u5f53\u63cf\u8ff0\u7b26\u591a\u7684\u65f6\u5019\u4e5f\u53ea\u662f\u4f1a\u5360\u7528\u8f83\u591a\u7684\u5185\u5b58\u800c\u5df2\uff0c\u800c\u4e0d\u4f1a\u9020\u6210\u5360\u7528\u5927\u91cfcpu\u65f6\u95f4\u3002\u4ee5\u4e0a\u8bf4\u7684\u5c31\u662fNginx\u7684\u8fdb\u7a0b\u6a21\u578b\u548c\u4e8b\u4ef6\u6a21\u578b\uff0c\u4e8b\u4ef6\u6a21\u578b\u4e2d\u5904\u7406\u7684\u60c5\u51b5\u4e3b\u8981\u6709\u4e09\u79cd\uff0c\u5206\u522b\u662f\u7f51\u7edc\u4e8b\u4ef6\uff0c\u5982HTTP\u8bf7\u6c42\u7b49\uff0c\u7f51\u7edc\u4e8b\u4ef6\u4f7f\u7528\u5f02\u6b65\u975e\u963b\u585e\u6a21\u5f0f\u5c31\u53ef\u4ee5\u5f88\u597d\u7684\u89e3\u51b3\uff1b\u8fd8\u6709\u4fe1\u53f7\uff0c\u5b9a\u65f6\u5668\uff0c\u4fe1\u53f7\u548c\u5b9a\u65f6\u5668\u8fd8\u4e0d\u662f\u5f88\u660e\u767d\u3002Nginx\u5904\u7406\u8fdb\u7a0b\u95f4\u4e89\u593a\u7cfb\u7edf\u8d44\u6e90\u7684\u65b9\u5f0f\uff1a\u4e5f\u5c31\u662f\u8fdb\u7a0b\u95f4\u5b58\u5728\u7684\u60ca\u7fa4\u73b0\u8c61\u3002<\/p>\n<p>master\uff1a<br \/>\u5f53 nginx \u5728\u542f\u52a8\u540e\uff0c\u4f1a\u6709\u4e00\u4e2a master \u8fdb\u7a0b\u548c\u591a\u4e2a worker \u8fdb\u7a0b\u3002master\u8fdb\u7a0b\u4e3b\u8981\u7528\u6765\u7ba1\u7406worker\u8fdb\u7a0b\uff0cmaster \u8981\u505a\u7684\u5c31\u662f\uff1a\u63a5\u6536\u6765\u81ea\u5916\u754c\u7684\u4fe1\u53f7\uff0c\u5411\u5404 worker \u8fdb\u7a0b\u53d1\u9001\u4fe1\u53f7\uff0c\u76d1\u63a7 worker \u8fdb\u7a0b\u7684\u8fd0\u884c\u72b6\u6001\uff0c\u5f53 worker \u8fdb\u7a0b\u9000\u51fa\u540e(\u5f02\u5e38\u60c5\u51b5\u4e0b)\uff0c\u4f1a\u81ea\u52a8\u91cd\u65b0\u542f\u52a8\u65b0\u7684 worker \u8fdb\u7a0b\u3002<br \/>\u4e3b\u8981\u5b8c\u6210\u5982\u4e0b\u5de5\u4f5c\uff1a<br \/>1\uff09\u8bfb\u53d6\u5e76\u9a8c\u8bc1\u914d\u7f6e\u4fe1\u606f\uff1b<br \/>2\uff09\u521b\u5efa\u3001\u7ed1\u5b9a\u53ca\u5173\u95ed\u5957\u63a5\u5b57\uff1b<br \/>3\uff09\u542f\u52a8\u3001\u7ec8\u6b62 worker \u8fdb\u7a0b\u53ca\u7ef4\u62a4 worker \u8fdb\u7a0b\u7684\u4e2a\u6570\uff1b<br \/>4\uff09\u65e0\u987b\u4e2d\u6b62\u670d\u52a1\u800c\u91cd\u65b0\u914d\u7f6e\u5de5\u4f5c\uff1b<br \/>5\uff09\u63a7\u5236\u975e\u4e2d\u65ad\u5f0f\u7a0b\u5e8f\u5347\u7ea7\uff0c\u542f\u7528\u65b0\u7684\u4e8c\u8fdb\u5236\u7a0b\u5e8f\u5e76\u5728\u9700\u8981\u65f6\u56de\u6eda\u81f3\u8001\u7248\u672c\uff1b<br \/>6\uff09\u91cd\u65b0\u6253\u5f00\u65e5\u5fd7\u6587\u4ef6\uff1b<br \/>7\uff09\u7f16\u8bd1\u5d4c\u5165\u5f0fperl\u811a\u672c<\/p>\n<p>worker\uff1a<br \/>\u5bf9\u4e8e\u57fa\u672c\u7684\u7f51\u7edc\u4e8b\u4ef6\uff0c\u5219\u662f\u653e\u5728 worker \u8fdb\u7a0b\u4e2d\u6765\u5904\u7406\u4e86\u3002\u591a\u4e2a worker \u8fdb\u7a0b\u4e4b\u95f4\u662f\u5bf9\u7b49\u7684\uff0c\u4ed6\u4eec\u540c\u7b49\u7ade\u4e89\u6765\u81ea\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\uff0c\u5404\u8fdb\u7a0b\u4e92\u76f8\u4e4b\u95f4\u662f\u72ec\u7acb\u7684\u3002\u4e00\u4e2a\u8bf7\u6c42\uff0c\u53ea\u53ef\u80fd\u5728\u4e00\u4e2a worker \u8fdb\u7a0b\u4e2d\u5904\u7406\uff0c\u4e00\u4e2a worker \u8fdb\u7a0b\uff0c\u4e0d\u53ef\u80fd\u5904\u7406\u5176\u5b83\u8fdb\u7a0b\u7684\u8bf7\u6c42\uff08\u4e00\u5bf9\u4e00\uff09\u3002\u7136\u800c nginx \u6ca1\u6709\u4e13\u95e8\u5730\u4ef2\u88c1\u6216\u8fde\u63a5\u5206\u5e03\u7684 worker,\u8fd9\u9879\u5de5\u4f5c\u662f\u7531\u64cd\u4f5c\u7cfb\u7edf\u5185\u6838\u673a\u5236\u5b8c\u6210\u7684\u3002\u5728\u542f\u52a8\u65f6,\u521b\u5efa\u4e00\u7ec4\u521d\u59cb\u7684\u76d1\u542c\u5957\u63a5\u5b57\uff0cHTTP \u8bf7\u6c42\u548c\u54cd\u5e94\u4e4b\u65f6\uff0cworker \u8fde\u7eed\u63a5\u6536\u3001\u8bfb\u53d6\u548c\u5199\u5165\u5957\u63a5\u5b57\u3002<br \/>worker \u8fdb\u7a0b\u4e3b\u8981\u5b8c\u6210\u7684\u4efb\u52a1\u5305\u62ec\uff1a<br \/>1\uff09\u63a5\u6536\u3001\u4f20\u5165\u5e76\u5904\u7406\u6765\u81ea\u5ba2\u6237\u7aef\u7684\u8fde\u63a5\uff1b<br \/>2\uff09\u63d0\u4f9b\u53cd\u5411\u4ee3\u7406\u53ca\u8fc7\u6ee4\u529f\u80fd\uff1b<br \/>3\uff09nginx\u4efb\u4f55\u80fd\u5b8c\u6210\u7684\u5176\u5b83\u4efb\u52a1<\/p>\n<p>\u4e3e\u4f8b\u8bf4\u660e\u4e00\u4e2a\u5b8c\u6574\u8bf7\u6c42\u5982\u4f55\u901a\u8fc7\u4e92\u76f8\u534f\u4f5c\u6765\u5b9e\u73b0\u7684\uff1a<br \/>\u65e2\u7136worker\u8fdb\u7a0b\u4e4b\u95f4\u662f\u5e73\u7b49\u7684\uff0c\u6bcf\u4e2a\u8fdb\u7a0b\uff0c\u5904\u7406\u8bf7\u6c42\u7684\u673a\u4f1a\u4e5f\u662f\u4e00\u6837\u7684\u3002\u5f53\u6211\u4eec\u63d0\u4f9b80\u7aef\u53e3\u7684http\u670d\u52a1\u65f6\uff0c\u4e00\u4e2a\u8fde\u63a5\u8bf7\u6c42\u8fc7\u6765\uff0c\u6bcf\u4e2a\u8fdb\u7a0b\u90fd\u6709\u53ef\u80fd\u5904\u7406\u8fd9\u4e2a\u8fde\u63a5\u3002\u90a3\u4e48\u95ee\u9898\u6765\u4e86\uff0c\u5230\u5e95\u6700\u540e\u600e\u6837\u5904\u7406\uff0c\u662f\u7531\u4ec0\u4e48\u51b3\u5b9a\u7684\u5462\uff1f\u9996\u5148\uff0c\u6bcf\u4e2a worker \u8fdb\u7a0b\u90fd\u662f\u4ece master \u8fdb\u7a0b fork \u8fc7\u6765\uff0c\u5728 master \u8fdb\u7a0b\u91cc\u9762\uff0c\u5148\u5efa\u7acb\u597d\u9700\u8981 listen \u7684 socket\uff08listenfd\uff09\u4e4b\u540e\uff0c\u7136\u540e\u518d fork \u51fa\u591a\u4e2a worker \u8fdb\u7a0b\u3002\u6240\u6709 worker \u8fdb\u7a0b\u7684 listenfd \u4f1a\u5728\u65b0\u8fde\u63a5\u5230\u6765\u65f6\u53d8\u5f97\u53ef\u8bfb\uff0c\u4e3a\u4fdd\u8bc1\u53ea\u6709\u4e00\u4e2a\u8fdb\u7a0b\u5904\u7406\u8be5\u8fde\u63a5\uff0c\u6240\u6709 worker \u8fdb\u7a0b\u4f1a\u5728\u6ce8\u518c listenfd \u8bfb\u4e8b\u4ef6\u524d\u62a2 accept_mutex\uff0c\u62a2\u5230\u4e92\u65a5\u9501\u7684\u90a3\u4e2a\u8fdb\u7a0b\u6ce8\u518c listenfd \u8bfb\u4e8b\u4ef6\uff0c\u7136\u540e\u5728\u8bfb\u4e8b\u4ef6\u91cc\u8c03\u7528 accept \u63a5\u53d7\u8be5\u8fde\u63a5\u3002\u5f53\u4e00\u4e2a worker \u8fdb\u7a0b\u5728 accept \u8fd9\u4e2a\u8fde\u63a5\u4e4b\u540e\uff0c\u5c31\u5f00\u59cb\u8bfb\u53d6\u8bf7\u6c42\u3001\u89e3\u6790\u8bf7\u6c42\u3001\u5904\u7406\u8bf7\u6c42\u3002\u4ea7\u751f\u6570\u636e\u540e\uff0c\u518d\u8fd4\u56de\u7ed9\u5ba2\u6237\u7aef\uff0c\u6700\u540e\u624d\u65ad\u5f00\u8fde\u63a5\uff0c\u8fd9\u6837\u4e00\u4e2a\u5b8c\u6574\u7684\u8bf7\u6c42\u5c31\u662f\u8fd9\u6837\u7684\u4e86\u3002\u6211\u4eec\u53ef\u4ee5\u770b\u5230\uff1a\u4e00\u4e2a\u8bf7\u6c42\uff0c\u5b8c\u5168\u7531 worker \u8fdb\u7a0b\u6765\u5904\u7406\uff0c\u800c\u4e14\u53ea\u5728\u4e00\u4e2a worker \u8fdb\u7a0b\u4e2d\u5904\u7406\u3002<\/p>\n<p>\u4e5f\u8bb8\u6709\u4e2a\u7591\u95ee\uff0c\u90a3\u5c31\u662fnginx\u91c7\u7528\u591aworker \u7684\u65b9\u5f0f\u6765\u5904\u7406\u8bf7\u6c42\uff0c\u6bcf\u4e2a worker \u91cc\u9762\u53ea\u6709\u4e00\u4e2a\u4e3b\u7ebf\u7a0b\uff0c\u90a3\u80fd\u591f\u5904\u7406\u7684\u5e76\u53d1\u6570\u5f88\u6709\u9650\u554a\uff0c\u591a\u5c11\u4e2a worker \u5c31\u80fd\u5904\u7406\u591a\u5c11\u4e2a\u5e76\u53d1\uff0c\u4f55\u6765\u9ad8\u5e76\u53d1\u5462\uff1f<br \/>\u7136\u800c\uff0c\u8fd9\u5c31\u662f nginx \u7684\u9ad8\u660e\u4e4b\u5904\uff0cnginx \u91c7\u7528\u4e86\u5f02\u6b65\u975e\u963b\u585e\u7684\u65b9\u5f0f\u6765\u5904\u7406\u8bf7\u6c42\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0cnginx \u662f\u53ef\u4ee5\u540c\u65f6\u5904\u7406\u6210\u5343\u4e0a\u4e07\u4e2a\u8bf7\u6c42\u7684\u3002<\/p>\n<p>\u5f02\u6b65\u975e\u963b\u585e<br \/>\u5f02\u6b65\u7684\u6982\u5ff5\u662f\u548c\u540c\u6b65\u76f8\u5bf9\u7684\uff0c\u4e5f\u5c31\u662f\u4e0d\u540c\u4e8b\u4ef6\u4e4b\u95f4\u4e0d\u662f\u540c\u65f6\u53d1\u751f\u7684\u3002\u975e\u963b\u585e\u7684\u6982\u5ff5\u662f\u548c\u963b\u585e\u5bf9\u5e94\u7684\uff0c\u963b\u585e\u662f\u4e8b\u4ef6\u6309\u987a\u5e8f\u6267\u884c\uff0c\u6bcf\u4e00\u4e8b\u4ef6\u90fd\u8981\u7b49\u5f85\u4e0a\u4e00\u4e8b\u4ef6\u7684\u5b8c\u6210\uff0c\u800c\u975e\u963b\u585e\u662f\u5982\u679c\u4e8b\u4ef6\u6ca1\u6709\u51c6\u5907\u597d\uff0c\u8fd9\u4e2a\u4e8b\u4ef6\u53ef\u4ee5\u76f4\u63a5\u8fd4\u56de\uff0c\u8fc7\u4e00\u6bb5\u65f6\u95f4\u518d\u8fdb\u884c\u5904\u7406\u8be2\u95ee\uff0c\u8fd9\u671f\u95f4\u53ef\u4ee5\u505a\u5176\u4ed6\u4e8b\u60c5\u3002<\/p>\n<p>\u4e8c\u3001nginx\u76f8\u5bf9\u4e8e\u4f20\u7edf\u7684apache\u670d\u52a1\u7684\u4f18\u7f3a\u70b9<br \/>nginx\u76f8\u5bf9\u6bd4apache\uff0c\u5b9e\u5728\u6709\u592a\u591a\u7684\u4f18\u52bf\u3002\u53ef\u4ee5\u8bf4\uff0c\u73b0\u5728Nginx\u624d\u662fWeb\u670d\u52a1\u5668\u7684\u9996\u9009\uff01\uff01<br \/>1\uff09nginx\u76f8\u5bf9\u4e8eapache\u7684\u4f18\u70b9\uff1a\u00a0<br \/>\u8f7b\u91cf\u7ea7\uff0c\u540c\u6837\u8d77web \u670d\u52a1\uff0c\u6bd4apache \u5360\u7528\u66f4\u5c11\u7684\u5185\u5b58\u53ca\u8d44\u6e90\uff1b<br \/>\u6297\u5e76\u53d1\uff0cnginx \u5904\u7406\u8bf7\u6c42\u662f\u5f02\u6b65\u975e\u963b\u585e\u7684\uff0c\u800capache \u5219\u662f\u963b\u585e\u578b\u7684\uff0c\u5728\u9ad8\u5e76\u53d1\u4e0bnginx \u80fd\u4fdd\u6301\u4f4e\u8d44\u6e90\u4f4e\u6d88\u8017\u9ad8\u6027\u80fd\uff1b\u00a0<br \/>\u9ad8\u5ea6\u6a21\u5757\u5316\u7684\u8bbe\u8ba1\uff0c\u7f16\u5199\u6a21\u5757\u76f8\u5bf9\u7b80\u5355\uff1b<br \/>\u793e\u533a\u6d3b\u8dc3\uff0c\u5404\u79cd\u9ad8\u6027\u80fd\u6a21\u5757\u51fa\u54c1\u8fc5\u901f\uff1b<br \/>\u5f53\u7136apache\u76f8\u5bf9\u4e8enginx\u4e5f\u6709\u5b83\u81ea\u8eab\u7684\u4f18\u70b9\uff1arewrite\u6bd4nginx \u7684rewrite\u5f3a\u5927\uff1b\u6a21\u5757\u8d85\u591a\uff0c\u57fa\u672c\u60f3\u5230\u7684\u90fd\u53ef\u4ee5\u627e\u5230\uff1b\u5c11bug\uff0cnginx\u7684bug\u76f8\u5bf9\u8f83\u591a\uff1b\u8d85\u7a33\u5b9a\uff1bapache\u6709\u81ea\u5e26php\u89e3\u6790\u529f\u80fd(apache\u73af\u5883\u90e8\u7f72\u597d\u540e\uff0c\u4e0d\u9700\u8981\u518d\u542f\u52a8php\u670d\u52a1\uff0capache\u81ea\u52a8\u89e3\u6790php\u6587\u4ef6\uff0c\u673a\u5668\u4e0a\u53ea\u8981\u6709php\u547d\u4ee4\u5373\u53ef\uff1b\u4f46\u662fnginx\u4e0d\u884c\uff0cnginx\u5fc5\u987b\u7ed3\u5408php\u670d\u52a1\u624d\u80fd\u89e3\u6790php\u6587\u4ef6\uff0c\u4e24\u5219\u670d\u52a1\u90fd\u8981\u542f\u52a8)<\/p>\n<p>\u5b58\u5728\u5c31\u662f\u7406\u7531\uff0c\u4e00\u822c\u6765\u8bf4\uff0c\u9700\u8981\u6027\u80fd\u7684web \u670d\u52a1\uff0c\u7528nginx \u3002<br \/>\u5982\u679c\u4e0d\u9700\u8981\u6027\u80fd\u53ea\u6c42\u7a33\u5b9a\uff0c\u90a3\u5c31\u7528apache\u3002<br \/>\u540e\u8005\u7684\u5404\u79cd\u529f\u80fd\u6a21\u5757\u5b9e\u73b0\u5f97\u6bd4\u524d\u8005\uff0c\u4f8b\u5982ssl \u7684\u6a21\u5757\u5c31\u6bd4\u524d\u8005\u597d\uff0c\u53ef\u914d\u7f6e\u9879\u591a\u3002<br \/>\u8fd9\u91cc\u8981\u6ce8\u610f\u4e00\u70b9\uff0cepoll(freebsd \u4e0a\u662f kqueue )\u7f51\u7edcIO \u6a21\u578b\u662fnginx \u5904\u7406\u6027\u80fd\u9ad8\u7684\u6839\u672c\u7406\u7531\uff0c\u4f46\u5e76\u4e0d\u662f\u6240\u6709\u7684\u60c5\u51b5\u4e0b\u90fd\u662fepoll \u5927\u83b7\u5168\u80dc\u7684\uff0c\u5982\u679c\u672c\u8eab\u63d0\u4f9b\u9759\u6001\u670d\u52a1\u7684\u5c31\u53ea\u6709\u5be5\u5be5\u51e0\u4e2a\u6587\u4ef6\uff0capache \u7684select \u6a21\u578b\u6216\u8bb8\u6bd4epoll \u66f4\u9ad8\u6027\u80fd\u3002\u5f53\u7136\uff0c\u8fd9\u53ea\u662f\u6839\u636e\u7f51\u7edcIO \u6a21\u578b\u7684\u539f\u7406\u4f5c\u7684\u4e00\u4e2a\u5047\u8bbe\uff0c\u771f\u6b63\u7684\u5e94\u7528\u8fd8\u662f\u9700\u8981\u5b9e\u6d4b\u4e86\u518d\u8bf4\u7684\u3002<\/p>\n<p>2\uff09\u4f5c\u4e3a Web \u670d\u52a1\u5668\uff1a\u76f8\u6bd4 Apache\uff0cNginx \u4f7f\u7528\u66f4\u5c11\u7684\u8d44\u6e90\uff0c\u652f\u6301\u66f4\u591a\u7684\u5e76\u53d1\u8fde\u63a5\uff0c\u4f53\u73b0\u66f4\u9ad8\u7684\u6548\u7387\uff0c\u8fd9\u70b9\u4f7f Nginx \u5c24\u5176\u53d7\u5230\u865a\u62df\u4e3b\u673a\u63d0\u4f9b\u5546\u7684\u6b22\u8fce\u3002\u5728\u9ad8\u8fde\u63a5\u5e76\u53d1\u7684\u60c5\u51b5\u4e0b\uff0cNginx\u662fApache\u670d\u52a1\u5668\u4e0d\u9519\u7684\u66ff\u4ee3\u54c1: Nginx\u5728\u7f8e\u56fd\u662f\u505a\u865a\u62df\u4e3b\u673a\u751f\u610f\u7684\u8001\u677f\u4eec\u7ecf\u5e38\u9009\u62e9\u7684\u8f6f\u4ef6\u5e73\u53f0\u4e4b\u4e00. \u80fd\u591f\u652f\u6301\u9ad8\u8fbe 50,000 \u4e2a\u5e76\u53d1\u8fde\u63a5\u6570\u7684\u54cd\u5e94, \u611f\u8c22Nginx\u4e3a\u6211\u4eec\u9009\u62e9\u4e86 epoll and kqueue \u4f5c\u4e3a\u5f00\u53d1\u6a21\u578b.\u00a0<br \/>Nginx\u4f5c\u4e3a\u8d1f\u8f7d\u5747\u8861\u670d\u52a1\u5668: Nginx \u65e2\u53ef\u4ee5\u5728\u5185\u90e8\u76f4\u63a5\u652f\u6301 Rails \u548c PHP \u7a0b\u5e8f\u5bf9\u5916\u8fdb\u884c\u670d\u52a1, \u4e5f\u53ef\u4ee5\u652f\u6301\u4f5c\u4e3a HTTP\u4ee3\u7406 \u670d\u52a1\u5668\u5bf9\u5916\u8fdb\u884c\u670d\u52a1. Nginx\u91c7\u7528C\u8fdb\u884c\u7f16\u5199, \u4e0d\u8bba\u662f\u7cfb\u7edf\u8d44\u6e90\u5f00\u9500\u8fd8\u662fCPU\u4f7f\u7528\u6548\u7387\u90fd\u6bd4 Perlbal \u8981\u597d\u5f88\u591a.\u00a0<br \/>\u4f5c\u4e3a\u90ae\u4ef6\u4ee3\u7406\u670d\u52a1\u5668: Nginx \u540c\u65f6\u4e5f\u662f\u4e00\u4e2a\u975e\u5e38\u4f18\u79c0\u7684\u90ae\u4ef6\u4ee3\u7406\u670d\u52a1\u5668\uff08\u6700\u65e9\u5f00\u53d1\u8fd9\u4e2a\u4ea7\u54c1\u7684\u76ee\u7684\u4e4b\u4e00\u4e5f\u662f\u4f5c\u4e3a\u90ae\u4ef6\u4ee3\u7406\u670d\u52a1\u5668\uff09, Last.fm \u63cf\u8ff0\u4e86\u6210\u529f\u5e76\u4e14\u7f8e\u5999\u7684\u4f7f\u7528\u7ecf\u9a8c.\u00a0<br \/>Nginx \u662f\u4e00\u4e2a\u5b89\u88c5\u975e\u5e38\u7684\u7b80\u5355 , \u914d\u7f6e\u6587\u4ef6\u975e\u5e38\u7b80\u6d01\uff08\u8fd8\u80fd\u591f\u652f\u6301perl\u8bed\u6cd5\uff09, Bugs \u975e\u5e38\u5c11\u7684\u670d\u52a1\u5668: Nginx \u542f\u52a8\u7279\u522b\u5bb9\u6613, \u5e76\u4e14\u51e0\u4e4e\u53ef\u4ee5\u505a\u52307*24\u4e0d\u95f4\u65ad\u8fd0\u884c\uff0c\u5373\u4f7f\u8fd0\u884c\u6570\u4e2a\u6708\u4e5f\u4e0d\u9700\u8981\u91cd\u65b0\u542f\u52a8. \u4f60\u8fd8\u80fd\u591f\u4e0d\u95f4\u65ad\u670d\u52a1\u7684\u60c5\u51b5\u4e0b\u8fdb\u884c\u8f6f\u4ef6\u7248\u672c\u7684\u5347\u7ea7 .\u00a0<br \/>3\uff09Nginx \u914d\u7f6e\u7b80\u6d01,Apach\u590d\u6742\uff1bNginx\u9759\u6001\u5904\u7406\u6027\u80fd\u6bd4Apache\u9ad83\u500d\u4ee5\u4e0a\uff1bApache\u5bf9PHP\u652f\u6301\u6bd4\u8f83\u7b80\u5355\uff0cNginx\u9700\u8981\u914d\u5408\u5176\u4ed6\u540e\u7aef\u7528\uff1bApache\u7684\u7ec4\u4ef6\u6bd4Nginx\u591a\uff1b\u00a0<br \/>4\uff09\u6700\u6838\u5fc3\u7684\u533a\u522b\u5728\u4e8eapache\u662f\u540c\u6b65\u591a\u8fdb\u7a0b\u6a21\u578b\uff0c\u4e00\u4e2a\u8fde\u63a5\u5bf9\u5e94\u4e00\u4e2a\u8fdb\u7a0b\uff1bnginx\u662f\u5f02\u6b65\u7684\uff0c\u591a\u4e2a\u8fde\u63a5\uff08\u4e07\u7ea7\u522b\uff09\u53ef\u4ee5\u5bf9\u5e94\u4e00\u4e2a\u8fdb\u7a0b\u00a0<br \/>5\uff09nginx\u5904\u7406\u9759\u6001\u6587\u4ef6\u597d,\u8017\u8d39\u5185\u5b58\u5c11.\u4f46apache\u76ee\u524d\u4e5f\u6709\u5b83\u7684\u4f18\u52bf,\u6709\u5f88\u591a\u4e30\u5bcc\u7684\u7279\u6027.\u6240\u4ee5\u8fd8\u9700\u8981\u642d\u914d\u7740\u6765.\u5f53\u7136\u5982\u679c\u80fd\u786e\u5b9anginx\u5c31\u9002\u5408\u9700\u6c42,\u90a3\u4e48\u4f7f\u7528nginx\u4f1a\u662f\u66f4\u7ecf\u6d4e\u7684\u65b9\u5f0f.\u00a0<br \/>6\uff09\u4ece\u4e2a\u4eba\u8fc7\u5f80\u7684\u4f7f\u7528\u60c5\u51b5\u6765\u770b\uff0cnginx\u7684\u8d1f\u8f7d\u80fd\u529b\u6bd4apache\u9ad8\u5f88\u591a\u3002\u6700\u65b0\u7684\u670d\u52a1\u5668\u4e5f\u6539\u7528nginx\u4e86\u3002\u800c\u4e14nginx\u6539\u5b8c\u914d\u7f6e\u80fd-t\u6d4b\u8bd5\u4e00\u4e0b\u914d\u7f6e\u6709\u6ca1\u6709\u95ee\u9898\uff0capache\u91cd\u542f\u7684\u65f6\u5019\u53d1\u73b0\u914d\u7f6e\u51fa\u9519\u4e86\uff0c\u4f1a\u5f88\u5d29\u6e83\uff0c\u6539\u7684\u65f6\u5019\u90fd\u4f1a\u975e\u5e38\u5c0f\u5fc3\u7ffc\u7ffc\u73b0\u5728\u770b\u6709\u597d\u591a\u96c6\u7fa4\u7ad9\uff0c\u524d\u7aefnginx\u6297\u5e76\u53d1\uff0c\u540e\u7aefapache\u96c6\u7fa4\uff0c\u914d\u5408\u7684\u4e5f\u4e0d\u9519\u3002\u00a0<br \/>7\uff09nginx\u5904\u7406\u52a8\u6001\u8bf7\u6c42\u662f\u9e21\u808b\uff0c\u4e00\u822c\u52a8\u6001\u8bf7\u6c42\u8981apache\u53bb\u505a\uff0cnginx\u53ea\u9002\u5408\u9759\u6001\u548c\u53cd\u5411\u3002\u00a0<br \/>8\uff09\u4ece\u4e2a\u4eba\u7ecf\u9a8c\u6765\u770b\uff0cnginx\u662f\u5f88\u4e0d\u9519\u7684\u524d\u7aef\u670d\u52a1\u5668\uff0c\u8d1f\u8f7d\u6027\u80fd\u5f88\u597d\uff0clinux\u670d\u52a1\u5668\u4e0a\u8fd0\u8425nginx\uff0c\u7528webbench\u6a21\u62df10000\u500b\u4e2a\u9759\u6001\u6587\u4ef6\u8bf7\u6c42\u6beb\u4e0d\u5403\u529b\u3002apache\u5bf9php\u7b49\u8bed\u8a00\u7684\u652f\u6301\u5f88\u597d\uff0c\u6b64\u5916apache\u6709\u5f37\u5927\u7684\u652f\u6301\u7f51\u8def\uff0c\u53cd\u6b63\u65f6\u95f4\u76f8\u5bf9nginx\u66f4\u4e45\uff0cbug\u5c11\uff0c\u4f46\u662fapache\u6709\u5148\u5929\u4e0d\u652f\u6301\u591a\u6838\u5fc3\u5904\u7406\u8d1f\u8f7d\u9e21\u808b\u7684\u7f3a\u70b9\uff0c\u6240\u4ee5\u5efa\u8bae\u4f7f\u7528nginx\u505a\u524d\u7aef\uff0c\u540e\u7aef\u7528apache\u3002\u5927\u578b\u7f51\u7ad9\u5efa\u8bae\u7528nginx\u81ea\u4ee3\u7684\u96c6\u7fa4\u529f\u80fd\uff01<br \/>9\uff09Nginx\u4f18\u4e8eapache\u7684\u4e3b\u8981\u4e24\u70b9\u8fd8\u4f53\u73b0\u5728\uff1aNginx\u672c\u8eab\u5c31\u662f\u4e00\u4e2a\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\uff1bNginx\u652f\u63017\u5c42\u8d1f\u8f7d\u5747\u8861\uff1b\u5176\u4ed6\u7684\u5f53\u7136\uff0cNginx\u53ef\u80fd\u4f1a\u6bd4apache\u652f\u6301\u66f4\u9ad8\u7684\u5e76\u53d1\uff1bAapche\u56e0\u4e3a\u5176\u6210\u719f\u7684\u6280\u672f\u548c\u5f00\u53d1\u793e\u533a\uff0c\u603b\u4f53\u6765\u8bf4\u4e5f\u6709\u975e\u5e38\u4e0d\u9519\u7684\u6027\u80fd\uff0c\u5f88\u591a\u5927\u516c\u53f8\u800c\u8a00\u8fd8\u6bd4\u8f83\u9752\u7750apache\u3002\u00a0<br \/>10\uff09\u4f60\u5bf9web server\u7684\u9700\u6c42\u51b3\u5b9a\u4f60\u7684\u9009\u62e9\u3002\u5927\u90e8\u5206\u60c5\u51b5\u4e0bnginx\u90fd\u4f18\u4e8eapache\uff0c\u6bd4\u5982\u8bf4\u9759\u6001\u6587\u4ef6\u5904\u7406\u3001PHP-CGI\u7684\u652f\u6301\u3001\u53cd\u5411\u4ee3\u7406\u529f\u80fd\u3001\u524d\u7aefCache\u3001\u7ef4\u6301\u8fde\u63a5\u7b49\u7b49\u3002\u5728Apache+PHP\uff08prefork\uff09\u6a21\u5f0f\u4e0b\uff0c\u5982\u679cPHP\u5904\u7406\u6162\u6216\u8005\u524d\u7aef\u538b\u529b\u5f88\u5927\u7684\u60c5\u51b5\u4e0b\uff0c\u5f88\u5bb9\u6613\u51fa\u73b0Apache\u8fdb\u7a0b\u6570\u98d9\u5347\uff0c\u4ece\u800c\u62d2\u7edd\u670d\u52a1\u7684\u73b0\u8c61\u3002\u00a0<br \/>11\uff09\u5bf9\u4e8enginx\uff0c\u6211\u559c\u6b22\u5b83\u914d\u7f6e\u6587\u4ef6\u5199\u7684\u5f88\u7b80\u6d01\uff0c\u6b63\u5219\u914d\u7f6e\u8ba9\u5f88\u591a\u4e8b\u60c5\u53d8\u5f97\u7b80\u5355\u8fd0\u884c\u6548\u7387\u9ad8\uff0c\u5360\u7528\u8d44\u6e90\u5c11\uff0c\u4ee3\u7406\u529f\u80fd\u5f3a\u5927\uff0c\u5f88\u9002\u5408\u505a\u524d\u7aef\u54cd\u5e94\u670d\u52a1\u5668\u00a0<br \/>12\uff09Apache\u5728\u5904\u7406\u52a8\u6001\u6709\u4f18\u52bf\uff0cNginx\u5e76\u53d1\u6027\u6bd4\u8f83\u597d\uff0cCPU\u5185\u5b58\u5360\u7528\u4f4e\uff0c\u5982\u679crewrite\u9891\u7e41\uff0c\u90a3\u8fd8\u662fApache\u66f4\u597d\u3002<\/p>\n<p>\u4e09\u3001\u5728 Linux \u4e0b\u5b89\u88c5 Nginx<br \/>\u4e3a\u4e86\u786e\u4fdd\u80fd\u5728Nginx\u4e2d\u4f7f\u7528\u6b63\u5219\u8868\u8fbe\u5f0f\u8fdb\u884c\u66f4\u7075\u6d3b\u7684\u914d\u7f6e\uff0c\u5b89\u88c5\u4e4b\u524d\u9700\u8981\u786e\u5b9a\u7cfb\u7edf\u662f\u5426\u5b89\u88c5\u6709PCRE\uff08Perl Compatible Regular Expressions\uff09\u5305\u3002<br \/>\u60a8\u53ef\u4ee5\u5230<a target=\"_blank\" rel=\"noopener\">ftp:\/\/ftp.csx.cam.ac.uk\/pub\/software\/programming\/pcre\/<\/a>\u4e0b\u8f7d\u6700\u65b0\u7684PCR \u6e90\u7801\u5305\uff0c\u4f7f\u7528\u4e0b\u9762\u547d\u4ee4\u4e0b\u8f7d\u7f16\u8bd1\u548c\u5b89\u88c5 PCRE \u5305\uff1a<br \/># wget ftp:\/\/ftp.csx.cam.ac.uk\/pub\/software\/programming\/pcre\/pcre-7.7.tar.gz<br \/># tar zxvf pcre-7.7.tar.gz<br \/># cd pcre-7.7<br \/># .\/configure<br \/># make<br \/># make install<br \/>\u63a5\u4e0b\u6765\u5b89\u88c5 Nginx\uff0cNginx \u4e00\u822c\u6709\u4e24\u4e2a\u7248\u672c\uff0c\u5206\u522b\u662f\u7a33\u5b9a\u7248\u548c\u5f00\u53d1\u7248\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u60a8\u7684\u76ee\u7684\u6765\u9009\u62e9\u8fd9\u4e24\u4e2a\u7248\u672c\u7684\u5176\u4e2d\u4e00\u4e2a\uff0c\u4e0b\u9762\u662f\u628a Nginx \u5b89\u88c5\u5230 \/opt\/nginx \u76ee\u5f55\u4e0b\u7684\u8be6\u7ec6\u6b65\u9aa4\uff1a<br \/># wget http:\/\/sysoev.ru\/nginx\/nginx-0.6.31.tar.gz<br \/># tar zxvf nginx-0.6.31.tar.gz<br \/># cd nginx-0.6.31<br \/># .\/configure &#8211;with-http_stub_status_module &#8211;prefix=\/opt\/nginx<br \/># make<br \/># make install<br \/>\u5176\u4e2d\u53c2\u6570 &#8211;with-http_stub_status_module \u662f\u4e3a\u4e86\u542f\u7528 nginx \u7684 NginxStatus \u529f\u80fd\uff0c\u7528\u6765\u76d1\u63a7 Nginx \u7684\u5f53\u524d\u72b6\u6001\u3002<br \/>\u5b89\u88c5\u6210\u529f\u540e\/opt\/nginx \u76ee\u5f55\u4e0b\u6709\u56db\u4e2a\u5b50\u76ee\u5f55\u5206\u522b\u662f\uff1aconf\u3001html\u3001logs\u3001sbin \u3002<br \/>\u5176\u4e2dNginx\u7684\u914d\u7f6e\u6587\u4ef6\u5b58\u653e\u4e8econf\/nginx.conf\uff0cNginx\u53ea\u6709\u4e00\u4e2a\u7a0b\u5e8f\u6587\u4ef6\u4f4d\u4e8esbin\u76ee\u5f55\u4e0b\u7684nginx\u6587\u4ef6\u3002<br \/>\u786e\u4fdd\u7cfb\u7edf\u768480\u7aef\u53e3\u6ca1\u88ab\u5176\u4ed6\u7a0b\u5e8f\u5360\u7528\uff0c\u8fd0\u884csbin\/nginx\u547d\u4ee4\u6765\u542f\u52a8Nginx\uff0c\u6253\u5f00\u6d4f\u89c8\u5668\u8bbf\u95ee\u6b64\u673a\u5668\u7684 IP\uff0c\u5982\u679c\u6d4f\u89c8\u5668\u51fa\u73b0 Welcome to nginx! \u5219\u8868\u793a Nginx \u5df2\u7ecf\u5b89\u88c5\u5e76\u8fd0\u884c\u6210\u529f\u3002<\/p>\n<p>\u5e38\u7528\u7684 Nginx \u53c2\u6570\u548c\u63a7\u5236<br \/><strong>\u7a0b\u5e8f\u8fd0\u884c\u53c2\u6570<\/strong><br \/>Nginx \u5b89\u88c5\u540e\u53ea\u6709\u4e00\u4e2a\u7a0b\u5e8f\u6587\u4ef6\uff0c\u672c\u8eab\u5e76\u4e0d\u63d0\u4f9b\u5404\u79cd\u7ba1\u7406\u7a0b\u5e8f\uff0c\u5b83\u662f\u4f7f\u7528\u53c2\u6570\u548c\u7cfb\u7edf\u4fe1\u53f7\u673a\u5236\u5bf9 Nginx \u8fdb\u7a0b\u672c\u8eab\u8fdb\u884c\u63a7\u5236\u7684\u3002 Nginx \u7684\u53c2\u6570\u5305\u62ec\u6709\u5982\u4e0b\u51e0\u4e2a\uff1a<br \/>-c &lt;path_to_config&gt;\uff1a\u4f7f\u7528\u6307\u5b9a\u7684\u914d\u7f6e\u6587\u4ef6\u800c\u4e0d\u662f conf \u76ee\u5f55\u4e0b\u7684 nginx.conf \u3002<br \/>-t\uff1a\u6d4b\u8bd5\u914d\u7f6e\u6587\u4ef6\u662f\u5426\u6b63\u786e\uff0c\u5728\u8fd0\u884c\u65f6\u9700\u8981\u91cd\u65b0\u52a0\u8f7d\u914d\u7f6e\u7684\u65f6\u5019\uff0c\u6b64\u547d\u4ee4\u975e\u5e38\u91cd\u8981\uff0c\u7528\u6765\u68c0\u6d4b\u6240\u4fee\u6539\u7684\u914d\u7f6e\u6587\u4ef6\u662f\u5426\u6709\u8bed\u6cd5\u9519\u8bef\u3002<br \/>-v\uff1a\u663e\u793a nginx \u7248\u672c\u53f7\u3002<br \/>-V\uff1a\u663e\u793a nginx \u7684\u7248\u672c\u53f7\u4ee5\u53ca\u7f16\u8bd1\u73af\u5883\u4fe1\u606f\u4ee5\u53ca\u7f16\u8bd1\u65f6\u7684\u53c2\u6570\u3002<br \/>\u4f8b\u5982\u6211\u4eec\u8981\u6d4b\u8bd5\u67d0\u4e2a\u914d\u7f6e\u6587\u4ef6\u662f\u5426\u4e66\u5199\u6b63\u786e\uff0c\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4<br \/>sbin\/nginx \u2013 t \u2013 c conf\/nginx2.conf<\/p>\n<p><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/strong><br \/>\u5f53\u4e00\u53f0\u670d\u52a1\u5668\u4e2d\u542f\u7528\u591a\u4e2a\u5b9e\u4f8b\u7684nginx\u65f6\uff08\u5373\u5f00\u542f\u4e0d\u540c\u7aef\u53e3\u7684nginx\uff09\uff0c\u90a3\u4e48\u542f\u52a8nginx\u7684\u65f6\u5019\u5c31\u8981\u6839\u636e\u5404\u81ea\u7684nginx\u914d\u7f6e\u6587\u4ef6\u8fdb\u884c\u542f\u52a8\u4e86\uff0c\u6bd4\u5982\uff1a<br \/>\/data\/nginx\/sbin\/nginx\u00a0 -c \/data\/nginx\/conf\/nginx.conf<br \/>\/data\/nginx1.9\/sbin\/nginx -c \/data\/nginx1.9\/conf\/nginx.conf<br \/>\/opt\/nginx\/sbin\/nginx -c \/opt\/nginx\/conf\/nginx.conf<\/p>\n<p>\u901a\u8fc7\u4fe1\u53f7\u5bf9 Nginx \u8fdb\u884c\u63a7\u5236<br \/><strong>Nginx \u652f\u6301\u4e0b\u8868\u4e2d\u7684\u4fe1\u53f7\uff1a<\/strong><br \/><img decoding=\"async\" src=\"https:\/\/images2015.cnblogs.com\/blog\/907596\/201611\/907596-20161123195138081-666208574.png\" alt=\"\" \/><\/p>\n<p>\u6709\u4e24\u79cd\u65b9\u5f0f\u6765\u901a\u8fc7\u8fd9\u4e9b\u4fe1\u53f7\u53bb\u63a7\u5236Nginx\uff1a<br \/>\u7b2c\u4e00\u662f\u901a\u8fc7logs\u76ee\u5f55\u4e0b\u7684nginx.pid\u67e5\u770b\u5f53\u524d\u8fd0\u884c\u7684Nginx\u7684\u8fdb\u7a0bID\uff0c\u901a\u8fc7 kill \u2013 XXX &lt;pid&gt; \u6765\u63a7\u5236 Nginx\uff0c\u5176\u4e2d XXX \u5c31\u662f\u4e0a\u8868\u4e2d\u5217\u51fa\u7684\u4fe1\u53f7\u540d\u3002<br \/>\u5982\u679c\u7cfb\u7edf\u4e2d\u53ea\u6709\u4e00\u4e2aNginx\u8fdb\u7a0b\uff0c\u90a3\u4e5f\u53ef\u4ee5\u901a\u8fc7 killall \u547d\u4ee4\u6765\u5b8c\u6210\uff0c\u4f8b\u5982\u8fd0\u884c killall \u2013 s HUP nginx \u6765\u8ba9 Nginx \u91cd\u65b0\u52a0\u8f7d\u914d\u7f6e\u3002<\/p>\n<p>\u914d\u7f6e Nginx<br \/><strong>\u5148\u6765\u770b\u4e00\u4e2a\u5b9e\u9645\u7684\u914d\u7f6e\u6587\u4ef6\uff1a<\/strong><\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_528615\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<div class=\"line number38 index37 alt1\">38<\/div>\n<div class=\"line number39 index38 alt2\">39<\/div>\n<div class=\"line number40 index39 alt1\">40<\/div>\n<div class=\"line number41 index40 alt2\">41<\/div>\n<div class=\"line number42 index41 alt1\">42<\/div>\n<div class=\"line number43 index42 alt2\">43<\/div>\n<div class=\"line number44 index43 alt1\">44<\/div>\n<div class=\"line number45 index44 alt2\">45<\/div>\n<div class=\"line number46 index45 alt1\">46<\/div>\n<div class=\"line number47 index46 alt2\">47<\/div>\n<div class=\"line number48 index47 alt1\">48<\/div>\n<div class=\"line number49 index48 alt2\">49<\/div>\n<div class=\"line number50 index49 alt1\">50<\/div>\n<div class=\"line number51 index50 alt2\">51<\/div>\n<div class=\"line number52 index51 alt1\">52<\/div>\n<div class=\"line number53 index52 alt2\">53<\/div>\n<div class=\"line number54 index53 alt1\">54<\/div>\n<div class=\"line number55 index54 alt2\">55<\/div>\n<div class=\"line number56 index55 alt1\">56<\/div>\n<div class=\"line number57 index56 alt2\">57<\/div>\n<div class=\"line number58 index57 alt1\">58<\/div>\n<div class=\"line number59 index58 alt2\">59<\/div>\n<div class=\"line number60 index59 alt1\">60<\/div>\n<div class=\"line number61 index60 alt2\">61<\/div>\n<div class=\"line number62 index61 alt1\">62<\/div>\n<div class=\"line number63 index62 alt2\">63<\/div>\n<div class=\"line number64 index63 alt1\">64<\/div>\n<div class=\"line number65 index64 alt2\">65<\/div>\n<div class=\"line number66 index65 alt1\">66<\/div>\n<div class=\"line number67 index66 alt2\">67<\/div>\n<div class=\"line number68 index67 alt1\">68<\/div>\n<div class=\"line number69 index68 alt2\">69<\/div>\n<div class=\"line number70 index69 alt1\">70<\/div>\n<div class=\"line number71 index70 alt2\">71<\/div>\n<div class=\"line number72 index71 alt1\">72<\/div>\n<div class=\"line number73 index72 alt2\">73<\/div>\n<div class=\"line number74 index73 alt1\">74<\/div>\n<div class=\"line number75 index74 alt2\">75<\/div>\n<div class=\"line number76 index75 alt1\">76<\/div>\n<div class=\"line number77 index76 alt2\">77<\/div>\n<div class=\"line number78 index77 alt1\">78<\/div>\n<div class=\"line number79 index78 alt2\">79<\/div>\n<div class=\"line number80 index79 alt1\">80<\/div>\n<div class=\"line number81 index80 alt2\">81<\/div>\n<div class=\"line number82 index81 alt1\">82<\/div>\n<div class=\"line number83 index82 alt2\">83<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">user\u00a0 nobody;<\/code><code class=\"bash comments\"># \u5de5\u4f5c\u8fdb\u7a0b\u7684\u5c5e\u4e3b<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash spaces\">\u00a0<\/code><code class=\"bash plain\">worker_processes\u00a0 4;<\/code><code class=\"bash comments\"># \u5de5\u4f5c\u8fdb\u7a0b\u6570\uff0c\u4e00\u822c\u4e0e CPU \u6838\u6570\u7b49\u540c<\/code><\/div>\n<div class=\"line number3 index2 alt2\">\u00a0<\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash spaces\">\u00a0<\/code><code class=\"bash comments\">#error_log\u00a0 logs\/error.log;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash spaces\">\u00a0<\/code><code class=\"bash comments\">#error_log\u00a0 logs\/error.log\u00a0 notice;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash spaces\">\u00a0<\/code><code class=\"bash comments\">#error_log\u00a0 logs\/error.log\u00a0 info;<\/code><\/div>\n<div class=\"line number7 index6 alt2\">\u00a0<\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash spaces\">\u00a0<\/code><code class=\"bash comments\">#pid\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 logs\/nginx.pid;<\/code><\/div>\n<div class=\"line number9 index8 alt2\">\u00a0<\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"bash spaces\">\u00a0<\/code><code class=\"bash plain\">events {<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">use epoll;<\/code><code class=\"bash comments\">#Linux \u4e0b\u6027\u80fd\u6700\u597d\u7684 event \u6a21\u5f0f<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">worker_connections\u00a0 2048;<\/code><code class=\"bash comments\"># \u6bcf\u4e2a\u5de5\u4f5c\u8fdb\u7a0b\u5141\u8bb8\u6700\u5927\u7684\u540c\u65f6\u8fde\u63a5\u6570<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"bash spaces\">\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number14 index13 alt1\">\u00a0<\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"bash spaces\">\u00a0<\/code><code class=\"bash plain\">http {<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">include\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 mime.types;<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">default_type\u00a0 application<\/code><code class=\"bash plain\">\/octet-stream<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number18 index17 alt1\">\u00a0<\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#log_format\u00a0 main\u00a0 '$remote_addr - $remote_user [$time_local] $request '<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 '\"$status\" $body_bytes_sent \"$http_referer\" '<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 '\"$http_user_agent\" \"$http_x_forwarded_for\"';<\/code><\/div>\n<div class=\"line number22 index21 alt1\">\u00a0<\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#access_log\u00a0 off;<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">access_log\u00a0 logs<\/code><code class=\"bash plain\">\/access<\/code><code class=\"bash plain\">.log;<\/code><code class=\"bash comments\"># \u65e5\u5fd7\u6587\u4ef6\u540d<\/code><\/div>\n<div class=\"line number25 index24 alt2\">\u00a0<\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">sendfile\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 on;<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#tcp_nopush\u00a0\u00a0\u00a0\u00a0 on;<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">tcp_nodelay\u00a0\u00a0\u00a0\u00a0 on;<\/code><\/div>\n<div class=\"line number29 index28 alt2\">\u00a0<\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">keepalive_timeout\u00a0 65;<\/code><\/div>\n<div class=\"line number31 index30 alt2\">\u00a0<\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">include\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash functions\">gzip<\/code><code class=\"bash plain\">.conf;<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code>\u00a0<\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\"># \u96c6\u7fa4\u4e2d\u7684\u6240\u6709\u540e\u53f0\u670d\u52a1\u5668\u7684\u914d\u7f6e\u4fe1\u606f<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">upstream tomcats {<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server 192.168.0.11:8080 weight=10;<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server 192.168.0.11:8081 weight=10;<\/code><\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server 192.168.0.12:8080 weight=10;<\/code><\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server 192.168.0.12:8081 weight=10;<\/code><\/div>\n<div class=\"line number40 index39 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server 192.168.0.13:8080 weight=10;<\/code><\/div>\n<div class=\"line number41 index40 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server 192.168.0.13:8081 weight=10;<\/code><\/div>\n<div class=\"line number42 index41 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number43 index42 alt2\">\u00a0<\/div>\n<div class=\"line number44 index43 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number45 index44 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">listen\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 80;<\/code><code class=\"bash comments\">#HTTP \u7684\u7aef\u53e3<\/code><\/div>\n<div class=\"line number46 index45 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server_name\u00a0 localhost;<\/code><\/div>\n<div class=\"line number47 index46 alt2\">\u00a0<\/div>\n<div class=\"line number48 index47 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">charset utf-8;<\/code><\/div>\n<div class=\"line number49 index48 alt2\">\u00a0<\/div>\n<div class=\"line number50 index49 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#access_log\u00a0 logs\/host.access.log\u00a0 main;<\/code><\/div>\n<div class=\"line number51 index50 alt2\">\u00a0<\/div>\n<div class=\"line number52 index51 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location ~ ^<\/code><code class=\"bash plain\">\/NginxStatus\/<\/code>\u00a0<code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number53 index52 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">stub_status on;\u00a0<\/code><code class=\"bash comments\">#Nginx \u72b6\u6001\u76d1\u63a7\u914d\u7f6e<\/code><\/div>\n<div class=\"line number54 index53 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">access_log off;<\/code><\/div>\n<div class=\"line number55 index54 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number56 index55 alt1\">\u00a0<\/div>\n<div class=\"line number57 index56 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location ~ ^\/(WEB-INF)\/ {<\/code><\/div>\n<div class=\"line number58 index57 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">deny all;<\/code><\/div>\n<div class=\"line number59 index58 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number60 index59 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code>\u00a0<\/div>\n<div class=\"line number61 index60 alt2\">\u00a0<\/div>\n<div class=\"line number62 index61 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location ~ \\.(htm|html|asp|php|gif|jpg|jpeg|png|bmp|ico|rar|css|js|<\/code><\/div>\n<div class=\"line number63 index62 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">zip|java|jar|txt|flv|swf|mid|doc|ppt|xls|pdf|txt|mp3|wma)$ {<\/code><\/div>\n<div class=\"line number64 index63 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">root\u00a0<\/code><code class=\"bash plain\">\/opt\/webapp<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number65 index64 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">expires 24h;<\/code><\/div>\n<div class=\"line number66 index65 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number67 index66 alt2\">\u00a0<\/div>\n<div class=\"line number68 index67 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location \/ {<\/code><\/div>\n<div class=\"line number69 index68 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">proxy_pass http:<\/code><code class=\"bash plain\">\/\/tomcats<\/code><code class=\"bash plain\">;<\/code><code class=\"bash comments\"># \u53cd\u5411\u4ee3\u7406<\/code><\/div>\n<div class=\"line number70 index69 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">include proxy.conf;<\/code><\/div>\n<div class=\"line number71 index70 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number72 index71 alt1\">\u00a0<\/div>\n<div class=\"line number73 index72 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">error_page 404\u00a0<\/code><code class=\"bash plain\">\/html\/404<\/code><code class=\"bash plain\">.html;<\/code><\/div>\n<div class=\"line number74 index73 alt1\">\u00a0<\/div>\n<div class=\"line number75 index74 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\"># redirect server error pages to the static page \/50x.html<\/code><\/div>\n<div class=\"line number76 index75 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#<\/code><\/div>\n<div class=\"line number77 index76 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">error_page 502 503\u00a0<\/code><code class=\"bash plain\">\/html\/502<\/code><code class=\"bash plain\">.html;<\/code><\/div>\n<div class=\"line number78 index77 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">error_page 500 504\u00a0<\/code><code class=\"bash plain\">\/50x<\/code><code class=\"bash plain\">.html;<\/code><\/div>\n<div class=\"line number79 index78 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location =\u00a0<\/code><code class=\"bash plain\">\/50x<\/code><code class=\"bash plain\">.html {<\/code><\/div>\n<div class=\"line number80 index79 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">root\u00a0\u00a0 html;<\/code><\/div>\n<div class=\"line number81 index80 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number82 index81 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number83 index82 alt2\"><code class=\"bash spaces\">\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>Nginx \u76d1\u63a7<br \/>\u4e0a\u9762\u662f\u4e00\u4e2a\u5b9e\u9645\u7f51\u7ad9\u7684\u914d\u7f6e\u5b9e\u4f8b\uff0c\u5176\u4e2d#\u53f7\u540e\u9762\u7684\u6587\u5b57\u4e3a\u914d\u7f6e\u8bf4\u660e\u3002<br \/>\u4e0a\u8ff0\u914d\u7f6e\u4e2d\uff0c\u9996\u5148\u6211\u4eec\u5b9a\u4e49\u4e86\u4e00\u4e2a location ~ ^\/NginxStatus\/\uff0c\u8fd9\u6837\u901a\u8fc7 http:\/\/localhost\/NginxStatus\/ \u5c31\u53ef\u4ee5\u76d1\u63a7\u5230 Nginx \u7684\u8fd0\u884c\u4fe1\u606f\uff0c\u663e\u793a\u7684\u5185\u5bb9\u5982\u4e0b\uff1a<br \/>Active connections: 70\u00a0<br \/>server accepts handled requests<br \/>14553819 14553819 19239266\u00a0<br \/>Reading: 0 Writing: 3 Waiting: 67<\/p>\n<p>NginxStatus \u663e\u793a\u7684\u5185\u5bb9\u610f\u601d\u5982\u4e0b\uff1a<br \/>active connections \u2013 \u5f53\u524d Nginx \u6b63\u5904\u7406\u7684\u6d3b\u52a8\u8fde\u63a5\u6570\u3002<br \/>server accepts handled requests &#8212; \u603b\u5171\u5904\u7406\u4e86 14553819 \u4e2a\u8fde\u63a5 , \u6210\u529f\u521b\u5efa 14553819 \u6b21\u63e1\u624b ( \u8bc1\u660e\u4e2d\u95f4\u6ca1\u6709\u5931\u8d25\u7684 ), \u603b\u5171\u5904\u7406\u4e86 19239266 \u4e2a\u8bf7\u6c42 ( \u5e73\u5747\u6bcf\u6b21\u63e1\u624b\u5904\u7406\u4e86 1.3 \u4e2a\u6570\u636e\u8bf7\u6c42 )\u3002<br \/>reading &#8212; nginx \u8bfb\u53d6\u5230\u5ba2\u6237\u7aef\u7684 Header \u4fe1\u606f\u6570\u3002<br \/>writing &#8212; nginx \u8fd4\u56de\u7ed9\u5ba2\u6237\u7aef\u7684 Header \u4fe1\u606f\u6570\u3002<br \/>waiting &#8212; \u5f00\u542f keep-alive \u7684\u60c5\u51b5\u4e0b\uff0c\u8fd9\u4e2a\u503c\u7b49\u4e8e active &#8211; (reading + writing)\uff0c\u610f\u601d\u5c31\u662f Nginx \u5df2\u7ecf\u5904\u7406\u5b8c\u6b63\u5728\u7b49\u5019\u4e0b\u4e00\u6b21\u8bf7\u6c42\u6307\u4ee4\u7684\u9a7b\u7559\u8fde\u63a5\u3002<\/p>\n<p><strong>\u9759\u6001\u6587\u4ef6\u5904\u7406<\/strong><br \/>\u901a\u8fc7\u6b63\u5219\u8868\u8fbe\u5f0f\uff0c\u6211\u4eec\u53ef\u8ba9 Nginx \u8bc6\u522b\u51fa\u5404\u79cd\u9759\u6001\u6587\u4ef6\uff0c\u4f8b\u5982 images \u8def\u5f84\u4e0b\u7684\u6240\u6709\u8bf7\u6c42\u53ef\u4ee5\u5199\u4e3a\uff1a<br \/>location ~ ^\/images\/ {<br \/>\u00a0 \u00a0 \u00a0 \u00a0root \/opt\/webapp\/images;<br \/>}<br \/>\u800c\u4e0b\u9762\u7684\u914d\u7f6e\u5219\u5b9a\u4e49\u4e86\u51e0\u79cd\u6587\u4ef6\u7c7b\u578b\u7684\u8bf7\u6c42\u5904\u7406\u65b9\u5f0f\u3002<br \/>location ~ \\.(htm|html|gif|jpg|jpeg|png|bmp|ico|css|js|txt)$ {<br \/>\u00a0 \u00a0 \u00a0 root \/opt\/webapp;<br \/>\u00a0 \u00a0 \u00a0 expires 24h;<br \/>}<br \/>\u5bf9\u4e8e\u4f8b\u5982\u56fe\u7247\u3001\u9759\u6001 HTML \u6587\u4ef6\u3001js \u811a\u672c\u6587\u4ef6\u548c css \u6837\u5f0f\u6587\u4ef6\u7b49\uff0c\u6211\u4eec\u5e0c\u671b Nginx \u76f4\u63a5\u5904\u7406\u5e76\u8fd4\u56de\u7ed9\u6d4f\u89c8\u5668\uff0c\u8fd9\u6837\u53ef\u4ee5\u5927\u5927\u7684\u52a0\u5feb\u7f51\u9875\u6d4f\u89c8\u65f6\u7684\u901f\u5ea6\u3002\u56e0\u6b64\u5bf9\u4e8e\u8fd9\u7c7b\u6587\u4ef6\u6211\u4eec\u9700\u8981\u901a\u8fc7 root \u6307\u4ee4\u6765\u6307\u5b9a\u6587\u4ef6\u7684\u5b58\u653e\u8def\u5f84\uff0c\u540c\u65f6\u56e0\u4e3a\u8fd9\u7c7b\u6587\u4ef6\u5e76\u4e0d\u5e38\u4fee\u6539\uff0c\u901a\u8fc7 expires \u6307\u4ee4\u6765\u63a7\u5236\u5176\u5728\u6d4f\u89c8\u5668\u7684\u7f13\u5b58\uff0c\u4ee5\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u8bf7\u6c42\u3002 expires \u6307\u4ee4\u53ef\u4ee5\u63a7\u5236 HTTP \u5e94\u7b54\u4e2d\u7684\u201c Expires \u201d\u548c\u201c Cache-Control \u201d\u7684\u5934\u6807\uff08\u8d77\u5230\u63a7\u5236\u9875\u9762\u7f13\u5b58\u7684\u4f5c\u7528\uff09\u3002\u60a8\u53ef\u4ee5\u4f7f\u7528\u4f8b\u5982\u4ee5\u4e0b\u7684\u683c\u5f0f\u6765\u4e66\u5199 Expires\uff1a<br \/>expires 1 January, 1970, 00:00:01 GMT;<br \/>expires 60s;<br \/>expires 30m;<br \/>expires 24h;<br \/>expires 1d;<br \/>expires max;<br \/>expires off;<\/p>\n<p><strong>\u52a8\u6001\u9875\u9762\u8bf7\u6c42\u5904\u7406<\/strong><br \/>Nginx \u672c\u8eab\u5e76\u4e0d\u652f\u6301\u73b0\u5728\u6d41\u884c\u7684 JSP\u3001ASP\u3001PHP\u3001PERL \u7b49\u52a8\u6001\u9875\u9762\uff0c\u4f46\u662f\u5b83\u53ef\u4ee5\u901a\u8fc7\u53cd\u5411\u4ee3\u7406\u5c06\u8bf7\u6c42\u53d1\u9001\u5230\u540e\u7aef\u7684\u670d\u52a1\u5668\uff0c\u4f8b\u5982 Tomcat\u3001Apache\u3001IIS \u7b49\u6765\u5b8c\u6210\u52a8\u6001\u9875\u9762\u7684\u8bf7\u6c42\u5904\u7406\u3002\u524d\u9762\u7684\u914d\u7f6e\u793a\u4f8b\u4e2d\uff0c\u6211\u4eec\u9996\u5148\u5b9a\u4e49\u4e86\u7531 Nginx \u76f4\u63a5\u5904\u7406\u7684\u4e00\u4e9b\u9759\u6001\u6587\u4ef6\u8bf7\u6c42\u540e\uff0c\u5176\u4ed6\u6240\u6709\u7684\u8bf7\u6c42\u901a\u8fc7 proxy_pass \u6307\u4ee4\u4f20\u9001\u7ed9\u540e\u7aef\u7684\u670d\u52a1\u5668\uff08\u5728\u4e0a\u8ff0\u4f8b\u5b50\u4e2d\u662f Tomcat\uff09\u3002\u6700\u7b80\u5355\u7684 proxy_pass \u7528\u6cd5\u5982\u4e0b\uff1a<br \/>location \/ {<br \/>\u00a0 \u00a0 \u00a0 proxy_pass http:\/\/localhost:8080;<br \/>\u00a0 \u00a0 \u00a0 proxy_set_header X-Real-IP $remote_addr;<br \/>}<br \/>\u8fd9\u91cc\u6211\u4eec\u6ca1\u6709\u4f7f\u7528\u5230\u96c6\u7fa4\uff0c\u800c\u662f\u5c06\u8bf7\u6c42\u76f4\u63a5\u9001\u5230\u8fd0\u884c\u5728 8080 \u7aef\u53e3\u7684 Tomcat \u670d\u52a1\u4e0a\u6765\u5b8c\u6210\u7c7b\u4f3c JSP \u548c Servlet \u7684\u8bf7\u6c42\u5904\u7406\u3002<br \/>\u5f53\u9875\u9762\u7684\u8bbf\u95ee\u91cf\u975e\u5e38\u5927\u7684\u65f6\u5019\uff0c\u5f80\u5f80\u9700\u8981\u591a\u4e2a\u5e94\u7528\u670d\u52a1\u5668\u6765\u5171\u540c\u627f\u62c5\u52a8\u6001\u9875\u9762\u7684\u6267\u884c\u64cd\u4f5c\uff0c\u8fd9\u65f6\u6211\u4eec\u5c31\u9700\u8981\u4f7f\u7528\u96c6\u7fa4\u7684\u67b6\u6784\u3002 Nginx \u901a\u8fc7 upstream \u6307\u4ee4\u6765\u5b9a\u4e49\u4e00\u4e2a\u670d\u52a1\u5668\u7684\u96c6\u7fa4\uff0c\u6700\u524d\u9762\u90a3\u4e2a\u5b8c\u6574\u7684\u4f8b\u5b50\u4e2d\u6211\u4eec\u5b9a\u4e49\u4e86\u4e00\u4e2a\u540d\u4e3a tomcats \u7684\u96c6\u7fa4\uff0c\u8fd9\u4e2a\u96c6\u7fa4\u4e2d\u5305\u62ec\u4e86\u4e09\u53f0\u670d\u52a1\u5668\u5171 6 \u4e2a Tomcat \u670d\u52a1\u3002\u800c proxy_pass \u6307\u4ee4\u7684\u5199\u6cd5\u53d8\u6210\u4e86\uff1a<br \/>location \/ {<br \/>\u00a0 \u00a0 \u00a0proxy_pass http:\/\/tomcats;<br \/>\u00a0 \u00a0 \u00a0proxy_set_header X-Real-IP $remote_addr;<br \/>}<br \/>\u5728 Nginx \u7684\u96c6\u7fa4\u914d\u7f6e\u4e2d\uff0cNginx \u4f7f\u7528\u6700\u7b80\u5355\u7684\u5e73\u5747\u5206\u914d\u89c4\u5219\u7ed9\u96c6\u7fa4\u4e2d\u7684\u6bcf\u4e2a\u8282\u70b9\u5206\u914d\u8bf7\u6c42\u3002\u4e00\u65e6\u67d0\u4e2a\u8282\u70b9\u5931\u6548\u65f6\uff0c\u6216\u8005\u91cd\u65b0\u8d77\u6548\u65f6\uff0cNginx \u90fd\u4f1a\u975e\u5e38\u53ca\u65f6\u7684\u5904\u7406\u72b6\u6001\u7684\u53d8\u5316\uff0c\u4ee5\u4fdd\u8bc1\u4e0d\u4f1a\u5f71\u54cd\u5230\u7528\u6237\u7684\u8bbf\u95ee\u3002<\/p>\n<p><strong>Nginx\u7684location\u8bed\u6cd5\u89c4\u5219\uff1alocation [=|~|~*|^~] \/uri\/ { \u2026 }<\/strong><br \/>=\u00a0 \u5f00\u5934\u8868\u793a\u7cbe\u786e\u5339\u914d<br \/>^~\u00a0 \u5f00\u5934\u8868\u793auri\u4ee5\u67d0\u4e2a\u5e38\u89c4\u5b57\u7b26\u4e32\u5f00\u5934\uff0c\u7406\u89e3\u4e3a\u5339\u914d url\u8def\u5f84\u5373\u53ef\u3002nginx\u4e0d\u5bf9url\u505a\u7f16\u7801\uff0c\u56e0\u6b64\u8bf7\u6c42\u4e3a\/static\/20%\/aa\uff0c\u53ef\u4ee5\u88ab\u89c4\u5219^~ \/static\/ \/aa\u5339\u914d\u5230\uff08\u6ce8\u610f\u662f\u7a7a\u683c\uff09\u3002<br \/>~\u00a0 \u5f00\u5934\u8868\u793a\u533a\u5206\u5927\u5c0f\u5199\u7684\u6b63\u5219\u5339\u914d<br \/>~*\u00a0\u00a0\u5f00\u5934\u8868\u793a\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u7684\u6b63\u5219\u5339\u914d<br \/>!~\u548c!~*\u00a0\u5206\u522b\u4e3a\u533a\u5206\u5927\u5c0f\u5199\u4e0d\u5339\u914d\u53ca\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e0d\u5339\u914d \u7684\u6b63\u5219<br \/>\/\u00a0 \u901a\u7528\u5339\u914d\uff0c\u4efb\u4f55\u8bf7\u6c42\u90fd\u4f1a\u5339\u914d\u5230\u3002<\/p>\n<p>\u591a\u4e2alocation\u914d\u7f6e\u7684\u60c5\u51b5\u4e0b\u5339\u914d\u987a\u5e8f\u4e3a\uff08\u53c2\u8003\u8d44\u6599\u800c\u6765\uff0c\u8fd8\u672a\u5b9e\u9645\u9a8c\u8bc1\uff0c\u8bd5\u8bd5\u5c31\u77e5\u9053\u4e86\uff0c\u4e0d\u5fc5\u62d8\u6ce5\uff0c\u4ec5\u4f9b\u53c2\u8003\uff09\uff1a<br \/>\u9996\u5148\u5339\u914d =\uff0c\u5176\u6b21\u5339\u914d^~, \u5176\u6b21\u662f\u6309\u6587\u4ef6\u4e2d\u987a\u5e8f\u7684\u6b63\u5219\u5339\u914d\uff0c\u6700\u540e\u662f\u4ea4\u7ed9 \/ \u901a\u7528\u5339\u914d\u3002\u5f53\u6709\u5339\u914d\u6210\u529f\u65f6\u5019\uff0c\u505c\u6b62\u5339\u914d\uff0c\u6309\u5f53\u524d\u5339\u914d\u89c4\u5219\u5904\u7406\u8bf7\u6c42\u3002<\/p>\n<p>\u793a\u4f8b\u8bf4\u660e\uff1a<br \/>\u6709\u5982\u4e0b\u5339\u914d\u89c4\u5219\uff1a<br \/>location = \/ {<br \/>#\u89c4\u5219A<br \/>}<br \/>location = \/login {<br \/>#\u89c4\u5219B<br \/>}<br \/>location ^~ \/static\/ {<br \/>#\u89c4\u5219C<br \/>}<br \/>location ~ \\.(gif|jpg|png|js|css)$ {<br \/>#\u89c4\u5219D<br \/>}<br \/>location ~* \\.png$ {<br \/>#\u89c4\u5219E<br \/>}<br \/>location !~ \\.xhtml$ {<br \/>#\u89c4\u5219F<br \/>}<br \/>location !~* \\.xhtml$ {<br \/>#\u89c4\u5219G<br \/>}<br \/>location \/ {<br \/>#\u89c4\u5219H<br \/>}<\/p>\n<p>\u4ea7\u751f\u7684\u6548\u679c\u5982\u4e0b\uff1a<br \/>\u8bbf\u95ee\u6839\u76ee\u5f55\/\uff0c \u6bd4\u5982http:\/\/localhost\/ \u5c06\u5339\u914d\u89c4\u5219A<br \/>\u8bbf\u95eehttp:\/\/localhost\/login \u5c06\u5339\u914d\u89c4\u5219B\uff0chttp:\/\/localhost\/register \u5219\u5339\u914d\u89c4\u5219H<br \/>\u8bbf\u95eehttp:\/\/localhost\/static\/a.html \u5c06\u5339\u914d\u89c4\u5219C<br \/>\u8bbf\u95eehttp:\/\/localhost\/a.gif, http:\/\/localhost\/b.jpg \u5c06\u5339\u914d\u89c4\u5219D\u548c\u89c4\u5219E\uff0c\u4f46\u662f\u89c4\u5219D\u987a\u5e8f\u4f18\u5148\uff0c\u89c4\u5219E\u4e0d\u8d77\u4f5c\u7528\uff0c \u800c http:\/\/localhost\/static\/c.png \u5219\u4f18\u5148\u5339\u914d\u5230 \u89c4\u5219C<br \/>\u8bbf\u95eehttp:\/\/localhost\/a.PNG \u5219\u5339\u914d\u89c4\u5219E\uff0c \u800c\u4e0d\u4f1a\u5339\u914d\u89c4\u5219D\uff0c\u56e0\u4e3a\u89c4\u5219E\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u3002<br \/>\u8bbf\u95eehttp:\/\/localhost\/a.xhtml \u4e0d\u4f1a\u5339\u914d\u89c4\u5219F\u548c\u89c4\u5219G\uff0chttp:\/\/localhost\/a.XHTML\u4e0d\u4f1a\u5339\u914d\u89c4\u5219G\uff0c\u56e0\u4e3a\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u3002\u89c4\u5219F\uff0c\u89c4\u5219G\u5c5e\u4e8e\u6392\u9664\u6cd5\uff0c\u7b26\u5408\u5339\u914d\u89c4\u5219\u4f46\u662f\u4e0d\u4f1a\u5339\u914d\u5230\uff0c\u6240\u4ee5\u60f3\u60f3\u770b\u5b9e\u9645\u5e94\u7528\u4e2d\u54ea\u91cc\u4f1a\u7528\u5230\u3002<br \/>\u8bbf\u95eehttp:\/\/localhost\/category\/id\/1111 \u5219\u6700\u7ec8\u5339\u914d\u5230\u89c4\u5219H\uff0c\u56e0\u4e3a\u4ee5\u4e0a\u89c4\u5219\u90fd\u4e0d\u5339\u914d\uff0c\u8fd9\u4e2a\u65f6\u5019\u5e94\u8be5\u662fnginx\u8f6c\u53d1\u8bf7\u6c42\u7ed9\u540e\u7aef\u5e94\u7528\u670d\u52a1\u5668\uff0c\u6bd4\u5982FastCGI\uff08php\uff09\uff0ctomcat\uff08jsp\uff09\uff0cnginx\u4f5c\u4e3a\u65b9\u5411\u4ee3\u7406\u670d\u52a1\u5668\u5b58\u5728\u3002<\/p>\n<p>\u6240\u4ee5\u5b9e\u9645\u4f7f\u7528\u4e2d\uff0c\u81f3\u5c11\u6709\u4e09\u4e2a\u5339\u914d\u89c4\u5219\u5b9a\u4e49\uff0c\u5982\u4e0b\uff1a<br \/>\u76f4\u63a5\u5339\u914d\u7f51\u7ad9\u6839\uff0c\u901a\u8fc7\u57df\u540d\u8bbf\u95ee\u7f51\u7ad9\u9996\u9875\u6bd4\u8f83\u9891\u7e41\uff0c\u4f7f\u7528\u8fd9\u4e2a\u4f1a\u52a0\u901f\u5904\u7406\uff0c\u5b98\u7f51\u5982\u662f\u8bf4\u3002<br \/>\u8fd9\u91cc\u662f\u76f4\u63a5\u8f6c\u53d1\u7ed9\u540e\u7aef\u5e94\u7528\u670d\u52a1\u5668\u4e86\uff0c\u4e5f\u53ef\u4ee5\u662f\u4e00\u4e2a\u9759\u6001\u9996\u9875<br \/>\u7b2c\u4e00\u4e2a\u5fc5\u9009\u89c4\u5219<br \/>location = \/ {<br \/>proxy_pass http:\/\/tomcat:8080\/index<br \/>}<\/p>\n<p>\u7b2c\u4e8c\u4e2a\u5fc5\u9009\u89c4\u5219\u662f\u5904\u7406\u9759\u6001\u6587\u4ef6\u8bf7\u6c42\uff0c\u8fd9\u662fnginx\u4f5c\u4e3ahttp\u670d\u52a1\u5668\u7684\u5f3a\u9879<br \/>\u6709\u4e24\u79cd\u914d\u7f6e\u6a21\u5f0f\uff0c\u76ee\u5f55\u5339\u914d\u6216\u540e\u7f00\u5339\u914d,\u4efb\u9009\u5176\u4e00\u6216\u642d\u914d\u4f7f\u7528<br \/>location ^~ \/static\/ {<br \/>root \/webroot\/static\/;<br \/>}<br \/>location ~* \\.(gif|jpg|jpeg|png|css|js|ico)$ {<br \/>root \/webroot\/res\/;<br \/>}<\/p>\n<p>\u7b2c\u4e09\u4e2a\u89c4\u5219\u5c31\u662f\u901a\u7528\u89c4\u5219\uff0c\u7528\u6765\u8f6c\u53d1\u52a8\u6001\u8bf7\u6c42\u5230\u540e\u7aef\u5e94\u7528\u670d\u52a1\u5668<br \/>\u975e\u9759\u6001\u6587\u4ef6\u8bf7\u6c42\u5c31\u9ed8\u8ba4\u662f\u52a8\u6001\u8bf7\u6c42\uff0c\u81ea\u5df1\u6839\u636e\u5b9e\u9645\u628a\u63e1<br \/>\u6bd5\u7adf\u76ee\u524d\u7684\u4e00\u4e9b\u6846\u67b6\u7684\u6d41\u884c\uff0c\u5e26.php,.jsp\u540e\u7f00\u7684\u60c5\u51b5\u5f88\u5c11\u4e86<br \/>location \/ {<br \/>proxy_pass http:\/\/tomcat:8080\/<br \/>}<\/p>\n<p>\u5c3d\u7ba1Nginx\u6574\u4e2a\u7a0b\u5e8f\u5305\u53ea\u6709500\u591aK\uff0c\u4f46\u9ebb\u96c0\u867d\u5c0f\u3001\u4e94\u810f\u4ff1\u5168\u3002 Nginx\u5b98\u65b9\u63d0\u4f9b\u7684\u5404\u79cd\u529f\u80fd\u6a21\u5757\u5e94\u6709\u5c3d\u6709\uff0c\u7ed3\u5408\u8fd9\u4e9b\u6a21\u5757\u53ef\u4ee5\u5b8c\u6574\u5404\u79cd\u5404\u6837\u7684\u914d\u7f6e\u8981\u6c42\uff0c\u4f8b\u5982\uff1a\u538b\u7f29\u3001\u9632\u76d7\u94fe\u3001\u96c6\u7fa4\u3001FastCGI\u3001\u6d41\u5a92\u4f53\u670d\u52a1\u5668\u3001Memcached \u652f\u6301\u3001URL \u91cd\u5199\u7b49\u7b49\uff0c\u66f4\u5173\u952e\u7684\u662fNginx\u62e5\u6709Apache\u548c\u5176\u4ed6HTTP\u670d\u52a1\u5668\u65e0\u6cd5\u6bd4\u62df\u7684\u9ad8\u6027\u80fd\u3002\u751a\u81f3\u53ef\u4ee5\u5728\u4e0d\u6539\u53d8\u539f\u6709\u7f51\u7ad9\u7684\u67b6\u6784\u4e0a\uff0c\u901a\u8fc7\u5728\u524d\u7aef\u5f15\u5165Nginx\u505a\u8d1f\u8f7d\u5747\u8861\u6765\u63d0\u5347\u7f51\u7ad9\u7684\u8bbf\u95ee\u901f\u5ea6\u3002<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\u4e0b\u9762\u5bf9Nginx\u7684\u4e00\u4e9b\u7279\u6b8a\u8bbe\u7f6e\u505a\u4e00\u8bf4\u660e&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p><strong>nginx\u7684\u5168\u5c40\u53d8\u91cf<\/strong><br \/>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>remote_addr \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u5ba2\u6237\u7aefip,\u5982\uff1a192.168.4.2<br \/>binary_remote_addr \u00a0 \u00a0\u5ba2\u6237\u7aefip\uff08\u4e8c\u8fdb\u5236)<br \/>remote_port \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u5ba2\u6237\u7aefport\uff0c\u5982\uff1a50472<br \/>remote_user \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u5df2\u7ecf\u7ecf\u8fc7Auth Basic Module\u9a8c\u8bc1\u7684\u7528\u6237\u540d<br \/>host \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u8bf7\u6c42\u4e3b\u673a\u5934\u5b57\u6bb5\uff0c\u5426\u5219\u4e3a\u670d\u52a1\u5668\u540d\u79f0\uff0c\u5982:dwz.stamhe.com<br \/>request \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u7528\u6237\u8bf7\u6c42\u4fe1\u606f\uff0c\u5982\uff1aGET \/?_a=index&amp;_m=show&amp;count=10 HTTP\/1.1<br \/>request_filename \u00a0 \u00a0 \u00a0 \u00a0 \u5f53\u524d\u8bf7\u6c42\u7684\u6587\u4ef6\u7684\u8def\u5f84\u540d\uff0c\u7531root\u6216alias\u548cURI request\u7ec4\u5408\u800c\u6210\uff0c\u5982\uff1a\/webserver\/htdocs\/dwz\/index.php<br \/>status \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u8bf7\u6c42\u7684\u54cd\u5e94\u72b6\u6001\u7801,\u5982:200<br \/>body_bytes_sent \u00a0 \u00a0 \u00a0 \u00a0 \u54cd\u5e94\u65f6\u9001\u51fa\u7684body\u5b57\u8282\u6570\u6570\u91cf\u3002\u5373\u4f7f\u8fde\u63a5\u4e2d\u65ad\uff0c\u8fd9\u4e2a\u6570\u636e\u4e5f\u662f\u7cbe\u786e\u7684,\u5982\uff1a40<br \/>content_length \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u8bf7\u6c42\u5934\u4e2d\u7684Content-length\u5b57\u6bb5<br \/>content_type \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u8bf7\u6c42\u5934\u4e2d\u7684Content-Type\u5b57\u6bb5<br \/>http_referer \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u5f15\u7528\u5730\u5740<br \/>http_user_agent \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u5ba2\u6237\u7aefagent\u4fe1\u606f,\u5982\uff1aMozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/536.11 (KHTML, like Gecko) Chrome\/20.0.1132.57 Safari\/536.11<br \/>args \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u5982\uff1a_a=index&amp;_m=show&amp;count=10<br \/>document_uri \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u4e0e$uri\u76f8\u540c,\u5982\uff1a\/index.php<br \/>document_root \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u9488\u5bf9\u5f53\u524d\u8bf7\u6c42\u7684\u6839\u8def\u5f84\u8bbe\u7f6e\u503c,\u5982\uff1a\/webserver\/htdocs\/dwz<br \/>hostname \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u5982\uff1acentos53.localdomain<br \/>http_cookie \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u5ba2\u6237\u7aefcookie\u4fe1\u606f<br \/>cookie_COOKIE \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 cookie \u00a0 COOKIE\u53d8\u91cf\u7684\u503c<br \/>is_args \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u5982\u679c\u6709$args\u53c2\u6570\uff0c\u8fd9\u4e2a\u53d8\u91cf\u7b49\u4e8e\u201d?\u201d\uff0c\u5426\u5219\u7b49\u4e8e\u201d&#8221;\uff0c\u7a7a\u503c\uff0c\u5982?<br \/>limit_rate \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u8fd9\u4e2a\u53d8\u91cf\u53ef\u4ee5\u9650\u5236\u8fde\u63a5\u901f\u7387\uff0c0\u8868\u793a\u4e0d\u9650\u901f<br \/>query_string \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u4e0e$args\u76f8\u540c,\u5982\uff1a_a=index&amp;_m=show&amp;count=10<br \/>realpath_root \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u5982\uff1a\/webserver\/htdocs\/dwz<br \/>request_body \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u8bb0\u5f55POST\u8fc7\u6765\u7684\u6570\u636e\u4fe1\u606f<br \/>request_body_file \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u5ba2\u6237\u7aef\u8bf7\u6c42\u4e3b\u4f53\u4fe1\u606f\u7684\u4e34\u65f6\u6587\u4ef6\u540d<br \/>request_method \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u5ba2\u6237\u7aef\u8bf7\u6c42\u7684\u52a8\u4f5c\uff0c\u901a\u5e38\u4e3aGET\u6216POST,\u5982\uff1aGET<br \/>request_uri \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u5305\u542b\u8bf7\u6c42\u53c2\u6570\u7684\u539f\u59cbURI\uff0c\u4e0d\u5305\u542b\u4e3b\u673a\u540d\uff0c\u5982\uff1a\u201d\/foo\/bar.php?arg=baz\u201d\u3002\u4e0d\u80fd\u4fee\u6539\u3002\u5982\uff1a\/index.php?_a=index&amp;_m=show&amp;count=10<br \/>scheme \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 HTTP\u65b9\u6cd5\uff08\u5982http\uff0chttps\uff09,\u5982\uff1ahttp<br \/>uri \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u5982\uff1a\/index.php<br \/>request_completion \u00a0 \u00a0 \u00a0 \u00a0\u5982\u679c\u8bf7\u6c42\u7ed3\u675f\uff0c\u8bbe\u7f6e\u4e3aOK. \u5f53\u8bf7\u6c42\u672a\u7ed3\u675f\u6216\u5982\u679c\u8be5\u8bf7\u6c42\u4e0d\u662f\u8bf7\u6c42\u94fe\u4e32\u7684\u6700\u540e\u4e00\u4e2a\u65f6\uff0c\u4e3a\u7a7a(Empty)\uff0c\u5982\uff1aOK<br \/>server_protocol \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u8bf7\u6c42\u4f7f\u7528\u7684\u534f\u8bae\uff0c\u901a\u5e38\u662fHTTP\/1.0\u6216HTTP\/1.1\uff0c\u5982\uff1aHTTP\/1.1<br \/>server_addr \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u670d\u52a1\u5668\u5730\u5740\uff0c\u5728\u5b8c\u6210\u4e00\u6b21\u7cfb\u7edf\u8c03\u7528\u540e\u53ef\u4ee5\u786e\u5b9a\u8fd9\u4e2a\u503c\uff0c\u5982\uff1a192.168.4.129<br \/>server_name \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u670d\u52a1\u5668\u540d\u79f0\uff0c\u5982\uff1adwz.stamhe.com<br \/>server_port \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u8bf7\u6c42\u5230\u8fbe\u670d\u52a1\u5668\u7684\u7aef\u53e3\u53f7,\u5982\uff1a80<\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_495024\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">\u6bd4\u5982\u8bbf\u95eehttps:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.wangshibo.com<\/code><code class=\"bash plain\">\/HouseGroup\/index<\/code><code class=\"bash plain\">.html\uff0c\u8df3\u8f6c\u5230https:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.wangshibo.com<\/code><code class=\"bash plain\">\/index<\/code><code class=\"bash plain\">.php?r=houseGroup<\/code><code class=\"bash plain\">\/index<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash plain\">rewrite ^\/(.*)<\/code><code class=\"bash plain\">\/index<\/code><code class=\"bash plain\">.html https:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.wangshibo.com<\/code><code class=\"bash plain\">\/index<\/code><code class=\"bash plain\">.php?r=$1<\/code><code class=\"bash plain\">\/index<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number3 index2 alt2\">\u00a0<\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash keyword\">if<\/code>\u00a0<code class=\"bash plain\">($request_uri\u00a0 ~*\u00a0<\/code><code class=\"bash string\">\"\/(jkhwpc|jkhw|jkhwadmin).php\"<\/code><code class=\"bash plain\">) {<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^\/(.*)$ http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.jikehaiwai.com\/$1 last;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number7 index6 alt2\">\u00a0<\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash keyword\">if<\/code>\u00a0<code class=\"bash plain\">($request_uri\u00a0 ~*\u00a0<\/code><code class=\"bash string\">\"\/(qjspc|qjsmob|qjsadmin).php\"<\/code><code class=\"bash plain\">) {<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^\/(.*)$ http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.qianjins.com\/$1 last;<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number11 index10 alt2\">\u00a0<\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash plain\">-----------\u53ef\u4ee5\u53c2\u8003\u4e0b\u9762nginx\u7684rewrite\u4f2a\u9759\u6001\u8bbe\u7f6e---------<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"bash plain\">rewrite ^(.*)<\/code><code class=\"bash plain\">\/equip<\/code><code class=\"bash plain\">(d+).html$ $1<\/code><code class=\"bash plain\">\/index<\/code><code class=\"bash plain\">.php?m=content&amp;c=index&amp;a=lists&amp;catid=$2 last;<\/code><\/div>\n<div class=\"line number14 index13 alt1\">\u00a0<\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"bash comments\"># nginx rewrite\u00a0 rule<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"bash plain\">rewrite ^(.*)<\/code><code class=\"bash plain\">\/archiver\/<\/code><code class=\"bash plain\">((fid|tid)-[w-]+.html)$ $1<\/code><code class=\"bash plain\">\/archiver\/index<\/code><code class=\"bash plain\">.php?$2 last;<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"bash plain\">rewrite ^(.*)<\/code><code class=\"bash plain\">\/forum-<\/code><code class=\"bash plain\">([0-9]+)-([0-9]+).html$ $1<\/code><code class=\"bash plain\">\/forumdisplay<\/code><code class=\"bash plain\">.php?fid=$2&amp;page=$3 last;<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"bash plain\">rewrite ^(.*)<\/code><code class=\"bash plain\">\/thread-<\/code><code class=\"bash plain\">([0-9]+)-([0-9]+)-([0-9]+).html$ $1<\/code><code class=\"bash plain\">\/viewthread<\/code><code class=\"bash plain\">.php?tid=$2&amp;extra=page%3D$4&amp;page=$3 last;<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"bash plain\">rewrite ^(.*)<\/code><code class=\"bash plain\">\/profile-<\/code><code class=\"bash plain\">(username|uid)-(.+).html$ $1<\/code><code class=\"bash plain\">\/viewpro<\/code><code class=\"bash plain\">.php?$2=$3 last;<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"bash plain\">rewrite ^(.*)<\/code><code class=\"bash plain\">\/space-<\/code><code class=\"bash plain\">(username|uid)-(.+).html$ $1<\/code><code class=\"bash plain\">\/space<\/code><code class=\"bash plain\">.php?$2=$3 last;<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"bash plain\">rewrite ^(.*)<\/code><code class=\"bash plain\">\/tag-<\/code><code class=\"bash plain\">(.+).html$ $1<\/code><code class=\"bash plain\">\/tag<\/code><code class=\"bash plain\">.php?name=$2 last;<\/code><\/div>\n<div class=\"line number22 index21 alt1\">\u00a0<\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"bash plain\">rewrite ^\/(.*)\\.(asp|aspx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$\u00a0<\/code><code class=\"bash plain\">\/404<\/code><code class=\"bash plain\">.php last;<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"bash plain\">rewrite ^\/(.*)\/(admin|cache|editor|<\/code><code class=\"bash functions\">file<\/code><code class=\"bash plain\">|include|lang|module|skin|template)\/(.*)\\.php(.*)$\u00a0<\/code><code class=\"bash plain\">\/404<\/code><code class=\"bash plain\">.php last;<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"bash plain\">rewrite ^\/(.*)-htm-(.*)$ \/$1.php?$2 last;<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"bash plain\">rewrite ^\/(.*)<\/code><code class=\"bash plain\">\/show-<\/code><code class=\"bash plain\">([0-9]+)([\\-])?([0-9]+)?\\.html$ \/$1<\/code><code class=\"bash plain\">\/show<\/code><code class=\"bash plain\">.php?itemid=$2&amp;page=$4 last;<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"bash plain\">rewrite ^\/(.*)<\/code><code class=\"bash plain\">\/list-<\/code><code class=\"bash plain\">([0-9]+)([\\-])?([0-9]+)?\\.html$ \/$1<\/code><code class=\"bash plain\">\/list<\/code><code class=\"bash plain\">.php?catid=$2&amp;page=$4 last;<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"bash plain\">rewrite ^\/(.*)<\/code><code class=\"bash plain\">\/show\/<\/code><code class=\"bash plain\">([0-9]+)\/([0-9]+)?([\/])?$ \/$1<\/code><code class=\"bash plain\">\/show<\/code><code class=\"bash plain\">.php?itemid=$2&amp;page=$3 last;<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"bash plain\">rewrite ^\/(.*)<\/code><code class=\"bash plain\">\/list\/<\/code><code class=\"bash plain\">([0-9]+)\/([0-9]+)?([\/])?$ \/$1<\/code><code class=\"bash plain\">\/list<\/code><code class=\"bash plain\">.php?catid=$2&amp;page=$3 last;<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"bash plain\">rewrite ^\/(.*)\/([A-za-z0-9_\\-]+)-c([0-9]+)-([0-9]+)\\.html$ \/$1<\/code><code class=\"bash plain\">\/list<\/code><code class=\"bash plain\">.php?catid=$3&amp;page=$4 last;<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"bash plain\">rewrite ^\/(.*)\/([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\\.html$ \/$1<\/code><code class=\"bash plain\">\/index<\/code><code class=\"bash plain\">.php?moduleid=$2&amp;catid=$3&amp;itemid=$4&amp;page=$5 last;<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"bash plain\">rewrite ^(.*)\/([a-z]+)\/(.*)\\.shtml$ $1\/$2<\/code><code class=\"bash plain\">\/index<\/code><code class=\"bash plain\">.php?rewrite=$3 last;<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"bash plain\">rewrite ^\/(com)\/([a-z0-9_\\-]+)\/([a-z]+)\/(.*)\\.html$\u00a0<\/code><code class=\"bash plain\">\/index<\/code><code class=\"bash plain\">.php?homepage=$2&amp;<\/code><code class=\"bash functions\">file<\/code><code class=\"bash plain\">=$3&amp;rewrite=$4 last;<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"bash plain\">rewrite ^\/(com)\/([a-z0-9_\\-]+)\/([a-z]+)([\/])?$\u00a0<\/code><code class=\"bash plain\">\/index<\/code><code class=\"bash plain\">.php?homepage=$2&amp;<\/code><code class=\"bash functions\">file<\/code><code class=\"bash plain\">=$3 last;<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"bash plain\">rewrite ^\/(com)\/([a-z0-9_\\-]+)([\/])?$\u00a0<\/code><code class=\"bash plain\">\/index<\/code><code class=\"bash plain\">.php?homepage=$2 last;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p><strong>1.rewrite\u8df3\u8f6c\u89c4\u5219\uff0c\u6709\u4ee5\u4e0b\u56db\u79cdflag\u6807\u8bb0\uff1a<\/strong><br \/>last \u00a0 \u00a0 \u57fa\u672c\u4e0a\u90fd\u7528\u8fd9\u4e2aFlag\uff0c\u8868\u793arewrite\u3002<br \/>break \u00a0 \u00a0 \u4e2d\u6b62Rewirte\uff0c\u4e0d\u5728\u7ee7\u7eed\u5339\u914d\u3002\u5c31\u662f\u8bf4\u672c\u6761\u89c4\u5219\u5339\u914d\u5b8c\u6210\u540e\uff0c\u7ec8\u6b62\u5339\u914d\uff0c\u4e0d\u518d\u5339\u914d\u540e\u9762\u7684\u89c4\u5219\u3002<br \/>redirect \u00a0 \u00a0 \u8fd4\u56de\u4e34\u65f6\u91cd\u5b9a\u5411\u7684HTTP\u72b6\u6001302\uff1b\u6d4f\u89c8\u5668\u5730\u5740\u4f1a\u663e\u793a\u8df3\u8f6c\u540e\u7684URL\u5730\u5740\u3002<br \/>permanent \u00a0 \u00a0 \u8fd4\u56de\u6c38\u4e45\u91cd\u5b9a\u5411\u7684HTTP\u72b6\u6001301\uff1b\u6d4f\u89c8\u5668\u5730\u5740\u4f1a\u663e\u793a\u8df3\u8f6c\u540e\u7684URL\u5730\u5740\u3002<br \/>1\uff09\u4e0b\u9762\u662f\u53ef\u4ee5\u7528\u6765\u5224\u65ad\u7684\u8868\u8fbe\u5f0f\uff1a<br \/>-f\u548c!-f\u7528\u6765\u5224\u65ad\u662f\u5426\u5b58\u5728\u6587\u4ef6<br \/>-d\u548c!-d\u7528\u6765\u5224\u65ad\u662f\u5426\u5b58\u5728\u76ee\u5f55<br \/>-e\u548c!-e\u7528\u6765\u5224\u65ad\u662f\u5426\u5b58\u5728\u6587\u4ef6\u6216\u76ee\u5f55<br \/>-x\u548c!-x\u7528\u6765\u5224\u65ad\u6587\u4ef6\u662f\u5426\u53ef\u6267\u884c<\/p>\n<p>\u5148\u6765\u770b\u51e0\u4e2a\u5c0f\u4f8b\u5b50\u8bf4\u660e<\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_984012\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<div class=\"line number38 index37 alt1\">38<\/div>\n<div class=\"line number39 index38 alt2\">39<\/div>\n<div class=\"line number40 index39 alt1\">40<\/div>\n<div class=\"line number41 index40 alt2\">41<\/div>\n<div class=\"line number42 index41 alt1\">42<\/div>\n<div class=\"line number43 index42 alt2\">43<\/div>\n<div class=\"line number44 index43 alt1\">44<\/div>\n<div class=\"line number45 index44 alt2\">45<\/div>\n<div class=\"line number46 index45 alt1\">46<\/div>\n<div class=\"line number47 index46 alt2\">47<\/div>\n<div class=\"line number48 index47 alt1\">48<\/div>\n<div class=\"line number49 index48 alt2\">49<\/div>\n<div class=\"line number50 index49 alt1\">50<\/div>\n<div class=\"line number51 index50 alt2\">51<\/div>\n<div class=\"line number52 index51 alt1\">52<\/div>\n<div class=\"line number53 index52 alt2\">53<\/div>\n<div class=\"line number54 index53 alt1\">54<\/div>\n<div class=\"line number55 index54 alt2\">55<\/div>\n<div class=\"line number56 index55 alt1\">56<\/div>\n<div class=\"line number57 index56 alt2\">57<\/div>\n<div class=\"line number58 index57 alt1\">58<\/div>\n<div class=\"line number59 index58 alt2\">59<\/div>\n<div class=\"line number60 index59 alt1\">60<\/div>\n<div class=\"line number61 index60 alt2\">61<\/div>\n<div class=\"line number62 index61 alt1\">62<\/div>\n<div class=\"line number63 index62 alt2\">63<\/div>\n<div class=\"line number64 index63 alt1\">64<\/div>\n<div class=\"line number65 index64 alt2\">65<\/div>\n<div class=\"line number66 index65 alt1\">66<\/div>\n<div class=\"line number67 index66 alt2\">67<\/div>\n<div class=\"line number68 index67 alt1\">68<\/div>\n<div class=\"line number69 index68 alt2\">69<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">\u4f8b\u5982\u4e0b\u9762\u8fd9\u6bb5\u8bbe\u5b9anginx\u5c06\u67d0\u4e2a\u76ee\u5f55\u4e0b\u9762\u7684\u6587\u4ef6\u91cd\u5b9a\u5411\u5230\u53e6\u4e00\u4e2a\u76ee\u5f55,$2\u5bf9\u5e94\u7b2c\u4e8c\u4e2a\u62ec\u53f7(.*)\u4e2d\u5bf9\u5e94\u7684\u5b57\u7b26\u4e32\uff1a<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash plain\">location\u00a0<\/code><code class=\"bash plain\">\/download\/<\/code>\u00a0<code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^(<\/code><code class=\"bash plain\">\/download\/<\/code><code class=\"bash plain\">.*)<\/code><code class=\"bash plain\">\/m\/<\/code><code class=\"bash plain\">(.*)\\..*$ $1<\/code><code class=\"bash plain\">\/nginx-rewrite\/<\/code><code class=\"bash plain\">$2.gz\u00a0<\/code><code class=\"bash keyword\">break<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash plain\">-----------------------------------------------------------------------------------<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash plain\">\u4f8b\u5982\u5f53\u7528\u6237\u8f93\u5165 www.a.com.cn \u81ea\u52a8\u8df3\u8f6c\u5230www.a.com \u8fd9\u4e2a\u57df\u540d\uff1a<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash plain\">rewrite ^\/(.*)$ http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.a.com\/$1 permanent;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash plain\">-----------------------------------------------------------------------------------<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"bash plain\">\u4f8b\u5982\u4e0b\u9762\u8bbe\u5b9anginx\u5728\u7528\u6237\u4f7f\u7528ie\u7684\u4f7f\u7528\u91cd\u5b9a\u5411\u5230<\/code><code class=\"bash plain\">\/nginx-ie<\/code><code class=\"bash plain\">\u76ee\u5f55\u4e0b\uff1a<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"bash keyword\">if<\/code>\u00a0<code class=\"bash plain\">($http_user_agent ~ MSIE) {<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^(.*)$\u00a0<\/code><code class=\"bash plain\">\/nginx-ie\/<\/code><code class=\"bash plain\">$1\u00a0<\/code><code class=\"bash keyword\">break<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"bash plain\">-----------------------------------------------------------------------------------<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"bash plain\">\u4f8b\u5982\u5f53\u7528\u6237\u8bbf\u95eetestxqsjapi.xqshijie.com\u57df\u540d\u65f6\u8df3\u8f6c\u5230\u672c\u673a\u76849501\u7aef\u53e3<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"bash plain\">upstream lb-9501 {<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server 127.0.0.1:9501;<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">listen\u00a0 80;<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server_name testxqsjapi.xqshijie.com;<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">root\u00a0\u00a0<\/code><code class=\"bash plain\">\/var\/www\/vhosts\/testxqsjapi<\/code><code class=\"bash plain\">.xqshijie.com\/;<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"bash spaces\">\u00a0<\/code>\u00a0<\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location \/ {<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">proxy_pass http:<\/code><code class=\"bash plain\">\/\/lb-9501<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"bash plain\">----------------------------------------------------------------------------------<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"bash plain\">\u4f8b\u5982\u4e0b\u9762\u4e00\u4f8b\uff1anginx rewrite \u5b9e\u73b0\u4e8c\u7ea7\u57df\u540d\u8df3\u8f6c<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"bash plain\">\u5f53\u8bbf\u95eehttp:<\/code><code class=\"bash plain\">\/\/abc<\/code><code class=\"bash plain\">.wangshibo.com\u8df3\u8f6c\u5230http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.wangshibo.com<\/code><code class=\"bash plain\">\/wangshibo\/abc\/<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"bash plain\">\u65b9\u6cd5\u4e00:\u8fd9\u79cd\u65b9\u6cd5\u6d4f\u89c8\u5668\u5730\u5740\u4f1a\u53d8www.wangshibo.com<\/code><code class=\"bash plain\">\/wangshibo\/abc<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">listen 80;<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server_name www.wangshibo.com;<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location \/ {<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">root\u00a0<\/code><code class=\"bash plain\">\/data\/wangshibo<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">index index.html;<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"bash spaces\">\u00a0<\/code>\u00a0<\/div>\n<div class=\"line number40 index39 alt1\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number41 index40 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">listen 80;<\/code><\/div>\n<div class=\"line number42 index41 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server_name *.wangshibo.com;<\/code><\/div>\n<div class=\"line number43 index42 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash keyword\">if<\/code>\u00a0<code class=\"bash plain\">( $http_host ~*\u00a0<\/code><code class=\"bash string\">\"^(.*)\\.wangshibo\\.com$\"<\/code><code class=\"bash plain\">) {<\/code><\/div>\n<div class=\"line number44 index43 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash functions\">set<\/code>\u00a0<code class=\"bash plain\">$domain $1;<\/code><\/div>\n<div class=\"line number45 index44 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^(.*) http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.wangshibo.com<\/code><code class=\"bash plain\">\/wangshibo\/<\/code><code class=\"bash plain\">$domain\/\u00a0<\/code><code class=\"bash keyword\">break<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number46 index45 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number47 index46 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number48 index47 alt1\">\u00a0<\/div>\n<div class=\"line number49 index48 alt2\"><code class=\"bash plain\">\u65b9\u6cd5\u4e8c\uff1a\u5f53\u8bbf\u95eehttp:<\/code><code class=\"bash plain\">\/\/abc<\/code><code class=\"bash plain\">.wangshibo.com\u8df3\u8f6c\u5230http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.wangshibo.com<\/code><code class=\"bash plain\">\/wangshibo\/abc\/<\/code><\/div>\n<div class=\"line number50 index49 alt1\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number51 index50 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">listen 80;<\/code><\/div>\n<div class=\"line number52 index51 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server_name *.wangshibo.com;<\/code><\/div>\n<div class=\"line number53 index52 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">root\u00a0<\/code><code class=\"bash plain\">\/usr\/local\/www<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number54 index53 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u8fd9\u662f\u91cc\u53ef\u4ee5\u52a0\u591a\u4e2a\u76ee\u5f55,\u5982\u679c\u4e0d\u52a0\u76ee\u5f55\uff0c\u4f1a\u65e0\u6cd5\u8bbf\u95ee\u5230abc.wangshibo.com\/\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6,\u5982\u56fe\u7247\u76ee\u5f55\/images<\/code><\/div>\n<div class=\"line number55 index54 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location ~ ^\/(wangshibo|images|styles)\/<\/code><\/div>\n<div class=\"line number56 index55 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number57 index56 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">proxy_redirect\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 off;<\/code><\/div>\n<div class=\"line number58 index57 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">proxy_set_header\u00a0\u00a0\u00a0 Host\u00a0\u00a0 www.wangshibo.com;<\/code><\/div>\n<div class=\"line number59 index58 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">proxy_pass\u00a0\u00a0\u00a0\u00a0\u00a0 http:<\/code><code class=\"bash plain\">\/\/192<\/code><code class=\"bash plain\">.168.1.2:8080;<\/code><\/div>\n<div class=\"line number60 index59 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number61 index60 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location \/ {<\/code><\/div>\n<div class=\"line number62 index61 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash functions\">set<\/code>\u00a0<code class=\"bash plain\">$domain default;<\/code><\/div>\n<div class=\"line number63 index62 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash keyword\">if<\/code>\u00a0<code class=\"bash plain\">( $http_host ~*\u00a0<\/code><code class=\"bash string\">\"^(.*)\\.wangshibo\\.com$\"<\/code><code class=\"bash plain\">) {<\/code><\/div>\n<div class=\"line number64 index63 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash functions\">set<\/code>\u00a0<code class=\"bash plain\">$domain $1;<\/code><\/div>\n<div class=\"line number65 index64 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number66 index65 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^\/(.*)\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">\/wangshibo\/<\/code><code class=\"bash plain\">$domain\/$1 last;<\/code><\/div>\n<div class=\"line number67 index66 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number68 index67 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">access_log off;<\/code><\/div>\n<div class=\"line number69 index68 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>\u518d\u63a5\u7740\u770b\u4e0b\u9762\u7684\u5b9e\u4f8b\u8bf4\u660e<\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_691514\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash comments\">#\u76f4\u63a5\u5339\u914d\u7f51\u7ad9\u6839\uff0c\u901a\u8fc7\u57df\u540d\u8bbf\u95ee\u7f51\u7ad9\u9996\u9875\u6bd4\u8f83\u9891\u7e41\uff0c\u4f7f\u7528\u8fd9\u4e2a\u4f1a\u52a0\u901f\u5904\u7406\uff0c\u5b98\u7f51\u5982\u662f\u8bf4\u3002\u00a0<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash comments\">#\u8fd9\u91cc\u662f\u76f4\u63a5\u8f6c\u53d1\u7ed9\u540e\u7aef\u5e94\u7528\u670d\u52a1\u5668\u4e86\uff0c\u4e5f\u53ef\u4ee5\u662f\u4e00\u4e2a\u9759\u6001\u9996\u9875\u00a0<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash comments\"># \u7b2c\u4e00\u4e2a\u5fc5\u9009\u89c4\u5219\u00a0<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash plain\">location = \/ {\u00a0<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">proxy_pass http:<\/code><code class=\"bash plain\">\/\/tomcat<\/code><code class=\"bash plain\">:8080<\/code><code class=\"bash plain\">\/index<\/code>\u00a0<\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash plain\">}\u00a0<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code>\u00a0<\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash comments\"># \u7b2c\u4e8c\u4e2a\u5fc5\u9009\u89c4\u5219\u662f\u5904\u7406\u9759\u6001\u6587\u4ef6\u8bf7\u6c42\uff0c\u8fd9\u662fnginx\u4f5c\u4e3ahttp\u670d\u52a1\u5668\u7684\u5f3a\u9879\u00a0<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"bash comments\"># \u6709\u4e24\u79cd\u914d\u7f6e\u6a21\u5f0f\uff0c\u76ee\u5f55\u5339\u914d\u6216\u540e\u7f00\u5339\u914d,\u4efb\u9009\u5176\u4e00\u6216\u642d\u914d\u4f7f\u7528\u00a0<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"bash plain\">location ^~\u00a0<\/code><code class=\"bash plain\">\/static\/<\/code>\u00a0<code class=\"bash plain\">{\u00a0<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">root\u00a0<\/code><code class=\"bash plain\">\/webroot\/static\/<\/code><code class=\"bash plain\">;\u00a0<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash plain\">}\u00a0<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"bash plain\">location ~* \\.(gif|jpg|jpeg|png|css|js|ico)$ {\u00a0<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">root\u00a0<\/code><code class=\"bash plain\">\/webroot\/res\/<\/code><code class=\"bash plain\">;\u00a0<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"bash plain\">}\u00a0<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code>\u00a0<\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"bash comments\">#\u7b2c\u4e09\u4e2a\u89c4\u5219\u5c31\u662f\u901a\u7528\u89c4\u5219\uff0c\u7528\u6765\u8f6c\u53d1\u52a8\u6001\u8bf7\u6c42\u5230\u540e\u7aef\u5e94\u7528\u670d\u52a1\u5668\u00a0<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"bash comments\">#\u975e\u9759\u6001\u6587\u4ef6\u8bf7\u6c42\u5c31\u9ed8\u8ba4\u662f\u52a8\u6001\u8bf7\u6c42\uff0c\u81ea\u5df1\u6839\u636e\u5b9e\u9645\u628a\u63e1\u00a0<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"bash comments\">#\u6bd5\u7adf\u76ee\u524d\u7684\u4e00\u4e9b\u6846\u67b6\u7684\u6d41\u884c\uff0c\u5e26.php,.jsp\u540e\u7f00\u7684\u60c5\u51b5\u5f88\u5c11\u4e86\u00a0<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"bash plain\">location \/ {\u00a0<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">proxy_pass http:<\/code><code class=\"bash plain\">\/\/tomcat<\/code><code class=\"bash plain\">:8080\/\u00a0<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>2\uff09\u5b9e\u4f8b\u8bf4\u660e<br \/>1\uff09\u8bbf\u95eeA\u7ad9\u8df3\u8f6c(\u91cd\u5b9a\u5411)\u5230B\u7ad9<br \/>server {\u00a0<br \/>\u00a0 \u00a0 listen 80;<br \/>\u00a0 \u00a0 server_name www.wangshibo.com ;\u00a0<br \/>\u00a0 \u00a0\u00a0rewrite ^(.*) http:\/\/www.huanqiu.com$1 permanent;<\/p>\n<p>\u00a0 \u00a0 root \/var\/www\/html;<br \/>\u00a0 \u00a0 index index.html index.php index.htm;<br \/>\u00a0 \u00a0 access_log \/usr\/local\/nginx\/logs\/image.log;<br \/>}<\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_838944\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">\u8bbf\u95eewangshibo.com\u8df3\u8f6c\u5230www.wangshibo.com<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">listen\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 80;<\/code><\/div>\n<div class=\"line number4 index3 alt1\">\u00a0<\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server_name\u00a0 www.wangshibo.com wangshibo.com;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">index index.jsp index.html index.php index.htm;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">root\u00a0<\/code><code class=\"bash plain\">\/var\/www\/html<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">access_log\u00a0<\/code><code class=\"bash plain\">\/usr\/local\/nginx\/logs\/image<\/code><code class=\"bash plain\">.log;<\/code><\/div>\n<div class=\"line number9 index8 alt2\">\u00a0<\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash keyword\">if<\/code>\u00a0<code class=\"bash plain\">($host =\u00a0<\/code><code class=\"bash string\">\"wangshibo.com\"<\/code><code class=\"bash plain\">) {<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^\/(.*)$ http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.wangshibo.com permanent;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number13 index12 alt2\">\u00a0<\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>2\uff09\u591a\u57df\u540d\u7ed1\u5b9a\u4e00\u4e2a\u76ee\u5f55\uff0c\u5e76\u4e14\u5168\u90e8301\u8df3\u8f6c\u5230\u5176\u4e2d\u4e00\u4e2a\u57df\u540d\uff08\u6ce8\u610f\uff1a\u591a\u57df\u540d\u90fd\u8981\u89e3\u6790\u5230\u672c\u673aip\u4e0a\uff09<br \/>server {<br \/>\u00a0 \u00a0 \u00a0listen 80;<br \/>\u00a0\u00a0\u00a0 \u00a0server_name www.wangshibo.com web01.wangshibo.com hehe.wangshibo.com wangshibo.com;<br \/>\u00a0 \u00a0 \u00a0if ($host != &#8216;www.wangshibo.com&#8217;) {<br \/>\u00a0 \u00a0 \u00a0rewrite ^\/(.*)$ http:\/\/www.wangshibo.com\/$1 permanent;<br \/>\u00a0 \u00a0 \u00a0}<br \/>\u00a0 \u00a0 \u00a0root \/var\/www\/html;<br \/>\u00a0 \u00a0 \u00a0index index.html index.php index.htm;<br \/>\u00a0 \u00a0 \u00a0access_log \/usr\/local\/nginx\/logs\/image.log;<br \/>}<\/p>\n<p><strong>\u4e0a\u9762\u8bf4\u660e\u8bbf\u95eehttp:\/\/web01.wangshibo.com\u3001http:\/\/hehe.wangshibo.com\u3001http:\/\/wangshibo.com\u7684\u65f6\u5019\u90fd\u4f1a\u81ea\u52a8\u8df3\u8f6c\u5230<\/strong><br \/><strong>http:\/\/www.wangshibo.com,\u5e76\u4e14\u6d4f\u89c8\u5668\u5730\u5740\u4f1a\u663e\u793a\u8df3\u8f6c\u540e\u7684URL\u5730\u5740\u3002<\/strong><\/p>\n<p>\u5982\u679c\u662f\u4e0a\u9762\u591a\u57df\u540d\u8bbf\u95ee\u540e\u90fd\u91cd\u5b9a\u5411\u8df3\u8f6c\u5230http:\/\/hehe.wangshibo.com\uff0c\u5219\u914d\u7f6e\u4fee\u6539\u5982\u4e0b\uff1a<br \/>server {<br \/>\u00a0 \u00a0 listen 80;<br \/>\u00a0 \u00a0\u00a0server_name www.wangshibo.com web01.wangshibo.com hehe.wangshibo.com wangshibo.com;<br \/>\u00a0 \u00a0 if ($host != &#8216;hehe.wangshibo.com&#8217;) {<br \/>\u00a0 \u00a0 rewrite ^\/(.*)$ http:\/\/hehe.wangshibo.com\/$1 permanent;<br \/>\u00a0 \u00a0 }<br \/>\u00a0 \u00a0 root \/var\/www\/html;<br \/>\u00a0 \u00a0 index index.html index.php index.htm;<br \/>\u00a0 \u00a0 access_log \/usr\/local\/nginx\/logs\/image.log;<br \/>}<\/p>\n<p>\u5982\u4e0b\u914d\u7f6e\uff1a\u591a\u57df\u540d\u4e2d\u7684\u67d0\u4e2a\u57df\u540d\u8bbf\u95ee\u65f6\u53d1\u751f\u8df3\u8f6c\uff0c\u5176\u4ed6\u57df\u540d\u8bbf\u95ee\u65f6\u4e0d\u8df3\u8f6c<br \/>server {<br \/>\u00a0 \u00a0listen 80;<br \/>\u00a0 \u00a0server_name www.wangshibo.com web01.wangshibo.com hehe.wangshibo.com wangshibo.com;<br \/>\u00a0 \u00a0if ($host = &#8216;hehe.wangshibo.com&#8217;) {<br \/>\u00a0 \u00a0 \u00a0 \u00a0rewrite ^\/(.*)$ http:\/\/www.huanqiu.com\/$1 permanent;<br \/>\u00a0 \u00a0}<br \/>\u00a0 \u00a0root \/var\/www\/html;<br \/>\u00a0 \u00a0index index.html index.php index.htm;<br \/>\u00a0 \u00a0access_log \/usr\/local\/nginx\/logs\/image.log;<br \/>}<\/p>\n<p>3\uff09\u5c06\u591a\u7ea7\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u8f6c\u6210\u4e00\u4e2a\u6587\u4ef6\uff0c\u589e\u5f3aseo\u6548\u679c<br \/>\u6bd4\u5982\u5c06\/wang-123-456-789.html\u6307\u5411wang\/123\/456\/wangshow_789.html<br \/>[root@test-huanqiu ~]# cat \/usr\/local\/nginx\/conf\/vhosts\/test.conf\u00a0<br \/>server {<br \/>\u00a0 \u00a0 \u00a0listen 80;<br \/>\u00a0 \u00a0 \u00a0server_name www.wangshibo.com;<br \/>\u00a0 \u00a0 \u00a0rewrite ^\/wang-([0-9]+)-([0-9]+)-([0-9]+)\\.html$ http:\/\/www.wangshibo.com\/wang\/$1\/$2\/wangshow_$3.html last;<br \/>\u00a0 \u00a0 \u00a0root \/var\/www\/html;<br \/>\u00a0 \u00a0 \u00a0index index.html index.php index.htm;<br \/>\u00a0 \u00a0 \u00a0access_log \/usr\/local\/nginx\/logs\/image.log;<\/p>\n<p>}<\/p>\n<p>\u8fd9\u6837\u8bbf\u95eehttp:\/\/www.wangshibo.com\/wang-123-456-789.html\u5c31\u4f1a\u8df3\u8f6c\u5230http:\/\/www.wangshibo.com\/wang\/123\/456\/wangshow_789.html<\/p>\n<p>4\uff09\u8bbf\u95ee\u7684\u76ee\u6807\u6587\u4ef6\u548c\u76ee\u5f55\u8d44\u6e90\u4e0d\u5b58\u5728\u7684\u65f6\u5019\u91cd\u5b9a\u5411\u8df3\u8f6c<br \/>\u5982\u4e0b\u914d\u7f6e\uff0c\u5f53\u8bbf\u95eehttp:\/\/www.wangshibo.com\/\u540e\u9762\u7684\u8bbf\u95ee\u8d44\u6e90\uff08\u6587\u4ef6\u6216\u76ee\u5f55\uff09\u4e0d\u5b58\u5728\u65f6\uff0c\u7edf\u7edf\u8df3\u8f6c\u5230http:\/\/www.wangshibo.com\/sorry.html\u9875\u9762<br \/>server {<br \/>\u00a0 \u00a0 listen 80;<br \/>\u00a0 \u00a0 server_name www.wangshibo.com;<br \/>\u00a0 \u00a0 if (!-e $request_filename) {<br \/>\u00a0 \u00a0 \u00a0 \u00a0\u00a0rewrite ^\/ http:\/\/www.wangshibo.com\/sorry.html ;<br \/>\u00a0 \u00a0 }<br \/>\u00a0 \u00a0 root \/var\/www\/html;<br \/>\u00a0 \u00a0 index index.html index.php index.htm;<br \/>\u00a0 \u00a0 access_log \/usr\/local\/nginx\/logs\/image.log;<br \/>}<\/p>\n<p>5\uff09\u5c06\u7ad9\u70b9\u6839\u76ee\u5f55\u4e0b\u67d0\u4e2a\u76ee\u5f55\u6307\u5411\u4e8c\u7ea7\u76ee\u5f55<br \/>\u4f8b\u5982\u5c06\/huanqiupc\/\u6307\u5411\/ops\/huanqiu\/\uff0c\u914d\u7f6e\u5982\u4e0b\uff1a<br \/>server {<br \/>\u00a0 \u00a0 listen 80;<br \/>\u00a0 \u00a0 server_name www.wangshibo.com;<br \/>\u00a0 \u00a0 rewrite ^\/([0-9a-z]+)pc\/(.*)$ http:\/\/www.wangshibo.com\/ops\/$1\/$2 last;<br \/>\u00a0 \u00a0 root \/var\/www\/html;<br \/>\u00a0 \u00a0 index index.html index.php index.htm;<br \/>\u00a0 \u00a0 access_log \/usr\/local\/nginx\/logs\/image.log;<br \/>}<\/p>\n<p>\u8fd9\u6837\uff0c\u8bbf\u95eehttp:\/\/www.wangshibo.com\/huanqiupc\u7684\u65f6\u5019\u5c31\u4f1a\u8df3\u8f6c\u5230http:\/\/www.wangshibo.com\/ops\/huanqiu\/<br \/>\u6ce8\u610f\uff1a\u4e0a\u9762\u7684\u914d\u7f6e\u4e2d\u7684last\u4fee\u6539\u4e3apermanent\u6216redirect\u90fd\u53ef\u4ee5<\/p>\n<p><strong>\u4ee5\u4e0a\u7684\u914d\u7f6e\u4e5f\u9002\u7528\u4e8e\uff1a\uff08\u524d\u63d0\u662f\u8fd9\u4e9b\u76ee\u5f55\u8981\u771f\u662f\u5b58\u5728\u4e8e\u7ad9\u70b9\u76ee\u5f55\/var\/www\/html\/\u4e2d\uff0c\u5e76\u4e14\u6743\u9650\u8981\u6b63\u786e\uff09<\/strong><br \/>\u5c06\/wangshibopc\/\u6307\u5411\/ops\/wangshibo\/<br \/>\u5c06\/guohuihuipc\/\u6307\u5411\/ops\/guohuihui\/<br \/>\u5c06\/hahapc\/\u6307\u5411\/ops\/haha\/<br \/>&#8230;&#8230;<\/p>\n<p>6\uff09\u5176\u4ed6\u7684rewrite\u8df3\u8f6c\u89c4\u5219\u7684\u4f8b\u5b50\uff1a<\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_616382\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">listen 80;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server_name www.wangshibo.com;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">root\u00a0<\/code><code class=\"bash plain\">\/var\/www\/html<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">index index.html index.htm;<\/code><\/div>\n<div class=\"line number6 index5 alt1\">\u00a0<\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^<\/code><code class=\"bash plain\">\/site\/resource\/<\/code><code class=\"bash plain\">(.*)$ https:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.wangshibo.com<\/code><code class=\"bash plain\">\/resource\/<\/code><code class=\"bash plain\">$1 last;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^<\/code><code class=\"bash plain\">\/active\/Ymf<\/code><code class=\"bash plain\">.html$ https:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.wangshibo.com<\/code><code class=\"bash plain\">\/project\/detail<\/code><code class=\"bash plain\">.html?project_id=1 last;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^<\/code><code class=\"bash plain\">\/active\/Ysyg<\/code><code class=\"bash plain\">.html$ https:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.wangshibo.com<\/code><code class=\"bash plain\">\/project\/detail<\/code><code class=\"bash plain\">.html?project_id=7 last;<\/code><\/div>\n<div class=\"line number10 index9 alt1\">\u00a0<\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash keyword\">if<\/code>\u00a0<code class=\"bash plain\">($host ~*\u00a0<\/code><code class=\"bash string\">\"^wangshibo.com$\"<\/code><code class=\"bash plain\">) {<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^\/(.*)$ https:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.wangshibo.com\/ permanent;<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number14 index13 alt1\">\u00a0<\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location \/ {<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite\u00a0<\/code><code class=\"bash plain\">\/abc<\/code>\u00a0<code class=\"bash plain\">http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.huanqiu.com\u00a0<\/code><code class=\"bash keyword\">break<\/code><code class=\"bash plain\">;\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u672c\u673a\u7ad9\u70b9\u76ee\u5f55\u4e0b\u5e76\u4e0d\u9700\u8981\u771f\u5b9e\u5b58\u5728abc\u8fd9\u4e2a\u76ee\u5f55\uff0c\u5bf9\u865a\u62df\u76ee\u5f55\u7684\u8bbf\u95ee\u90fd\u91cd\u5199\u5230http:\/\/www.huanqiu.com<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u5373\u8bbf\u95eehttp:\/\/www.wangshibo.com\/abc\uff0c\u8df3\u8f6c\u5230http:\/\/www.huanqiu.com<\/code><\/div>\n<div class=\"line number18 index17 alt1\">\u00a0<\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location\u00a0<\/code><code class=\"bash plain\">\/text<\/code>\u00a0<code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite \/ http:<\/code><code class=\"bash plain\">\/\/china<\/code><code class=\"bash plain\">.huanqiu.com\u00a0<\/code><code class=\"bash keyword\">break<\/code><code class=\"bash plain\">;\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u672c\u673a\u7ad9\u70b9\u76ee\u5f55\u4e0b\u9700\u8981\u771f\u5b9e\u5b58\u5728text\u76ee\u5f55\uff0c\u5bf9\u5176\u7684\u8bbf\u95ee\u90fd\u91cd\u5199\u5230http:\/\/china.huanqiu.com<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u5373\u8bbf\u95eehttp:\/\/www.wangshibo.com\/text\uff0c\u8df3\u8f6c\u5230http:\/\/china.huanqiu.com<\/code><\/div>\n<div class=\"line number22 index21 alt1\">\u00a0<\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>\u4e0b\u9762\u4e00\u4f8b\uff1a\u8bbf\u95eehttp:\/\/www.wangshibo.com\/g\/4HG45SkZ\u00a0\u5b9e\u9645\u8bbf\u95ee\u5730\u5740\u8df3\u8f6c\u4e3a\u00a0http:\/\/110.10.88.99:8081\/qun\/share\/view?code=4HG45SkZ<\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_3699\" class=\"syntaxhighlighter  csharp\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"csharp plain\">upstream\u00a0 g_server {<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">keepalive 64;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">server 110.10.88.99:8081 max_fails=2 fail_timeout=5 weight=100;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">}<\/code><\/div>\n<div class=\"line number5 index4 alt2\">\u00a0<\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">server {<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">listen\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 80;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">server_name\u00a0 www.wangshibo.com;<\/code><\/div>\n<div class=\"line number9 index8 alt2\">\u00a0<\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">rewrite ^\/bcloud.(swf|html|js)(.*)$ http:<\/code><code class=\"csharp comments\">\/\/hehe.wangshibo.com\/bcloud.$1$2 last;<\/code><\/div>\n<div class=\"line number11 index10 alt2\">\u00a0<\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">root\u00a0 \/home\/web\/www;<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">location ~ \\.apk$ {<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">max_ranges 0;<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">}<\/code><\/div>\n<div class=\"line number16 index15 alt1\">\u00a0<\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">location ^~ \/g {<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_redirect off;<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_set_header Host $host;<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"csharp preprocessor\">#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proxy_set_header Host $host:$remote_port;<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"csharp preprocessor\">#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 proxy_set_header REMOTE_PORT $remote_port;<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_set_header X-Real-IP $remote_addr;<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_set_header X-Forwarded-For $remote_addr;<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">client_max_body_size 1G;<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">client_body_buffer_size 256k;<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_connect_timeout 30;<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_send_timeout 30;<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_read_timeout 600;<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_buffer_size 16k;<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_buffers 4 32k;<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_temp_file_write_size 64k;<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_pass\u00a0 http:<\/code><code class=\"csharp comments\">\/\/g_server;<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp preprocessor\">#rewrite \"\/g\/(.*$)\"\u00a0\u00a0 www.wangshibo.com\/qun\/share\/view?code=$1\u00a0 break;<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">rewrite\u00a0<\/code><code class=\"csharp string\">\"\/g\/(.*$)\"<\/code>\u00a0\u00a0\u00a0<code class=\"csharp plain\">\/qun\/share\/view?code=$1\u00a0\u00a0<\/code><code class=\"csharp keyword\">break<\/code><code class=\"csharp plain\">;<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">}<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>\u53e6\u5916\u6ce8\u610f\uff1a<br \/>$1\u8868\u793a\u7b2c\u4e00\u4e2a\u53d8\u91cf\uff0c\u5373\u524d\u9762rewrite\u540e\u7b2c\u4e00\u4e2a\uff08\uff09\u5185\u8bbe\u7f6e\u7684\u53d8\u91cf<br \/>$2\u8868\u793a\u7b2c\u4e8c\u4e2a\u53d8\u91cf\uff0c\u5373\u524d\u9762rewrite\u540e\u7b2c\u4e8c\u4e2a\uff08\uff09\u5185\u8bbe\u7f6e\u7684\u53d8\u91cf<\/p>\n<p>\u518d\u770b\u4e00\u4f8b\uff1a<br \/>\u8bbf\u95eehttp:\/\/www.wangshibo.com\/thumb\/transcode\u00a0\u5b9e\u9645\u8bbf\u95ee\u5730\u5740\u4e3a\u00a0http:\/\/120.170.190.99:28080\/transcode\/thumb\/transcode<\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_159115\" class=\"syntaxhighlighter  csharp\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"csharp plain\">upstream\u00a0 thumb {<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">keepalive 64;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">server 120.170.190.99:28080 max_fails=2 fail_timeout=5 weight=100;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">}<\/code><\/div>\n<div class=\"line number5 index4 alt2\">\u00a0<\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"csharp plain\">server {<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">listen\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 80;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">server_name\u00a0 www.wangshibo.com ;<\/code><\/div>\n<div class=\"line number9 index8 alt2\">\u00a0<\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">root\u00a0\u00a0 \/home\/web\/www;<\/code><\/div>\n<div class=\"line number11 index10 alt2\">\u00a0<\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0<\/code><code class=\"csharp plain\">location ^~ \/thumb {<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_pass\u00a0 http:<\/code><code class=\"csharp comments\">\/\/thumb;<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_redirect off;<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_set_header Host $host;<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_set_header X-Real-IP $remote_addr;<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_set_header X-Forwarded_For $proxy_add_x_forwarded_for;<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">client_max_body_size 1G;<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">client_body_buffer_size 256k;<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_connect_timeout 30;<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_send_timeout 30;<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_read_timeout 60;<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_buffer_size 16k;<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_buffers 4 32k;<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">proxy_temp_file_write_size 64k;<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">rewrite\u00a0\u00a0<\/code><code class=\"csharp string\">\"^\/(.*)$\"<\/code>\u00a0\u00a0<code class=\"csharp plain\">\/transcode\/$1\u00a0<\/code><code class=\"csharp keyword\">break<\/code><code class=\"csharp plain\">;<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">}<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"csharp plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\u518d\u770b\u4e00\u4e2a\u8bbf\u95eenginx\u8df3\u8f6c\u540e\u7684url\u4e0d\u53d8\u7684\u4f8b\u5b50&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_440085\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<div class=\"line number38 index37 alt1\">38<\/div>\n<div class=\"line number39 index38 alt2\">39<\/div>\n<div class=\"line number40 index39 alt1\">40<\/div>\n<div class=\"line number41 index40 alt2\">41<\/div>\n<div class=\"line number42 index41 alt1\">42<\/div>\n<div class=\"line number43 index42 alt2\">43<\/div>\n<div class=\"line number44 index43 alt1\">44<\/div>\n<div class=\"line number45 index44 alt2\">45<\/div>\n<div class=\"line number46 index45 alt1\">46<\/div>\n<div class=\"line number47 index46 alt2\">47<\/div>\n<div class=\"line number48 index47 alt1\">48<\/div>\n<div class=\"line number49 index48 alt2\">49<\/div>\n<div class=\"line number50 index49 alt1\">50<\/div>\n<div class=\"line number51 index50 alt2\">51<\/div>\n<div class=\"line number52 index51 alt1\">52<\/div>\n<div class=\"line number53 index52 alt2\">53<\/div>\n<div class=\"line number54 index53 alt1\">54<\/div>\n<div class=\"line number55 index54 alt2\">55<\/div>\n<div class=\"line number56 index55 alt1\">56<\/div>\n<div class=\"line number57 index56 alt2\">57<\/div>\n<div class=\"line number58 index57 alt1\">58<\/div>\n<div class=\"line number59 index58 alt2\">59<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">\u9700\u8981\u7279\u522b\u6ce8\u610f\u7684\u662f\uff1a<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash plain\">proxy_pass \u53cd\u5411\u4ee3\u7406\uff0c\u53ef\u4ee5\u5b9e\u73b0\u53ea\u6539\u53d8\u8df3\u8f6c\u540e\u7684\u5185\u5bb9\uff0c\u800c\u8df3\u8f6c\u540e\u7684\u539furl\u4fdd\u6301\u4e0d\u53d8\uff01<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash plain\">rewrite \u91cd\u5199\u8df3\u8f6c\u540e\u4f1a\u8fdb\u884c\u91cd\u5b9a\u5411\uff0c\u5f88\u96be\u5b9e\u73b0\u8df3\u8f6c\u540e\u7684\u539furl\u4e0d\u53d8\u7684\u9700\u6c42\u3002<\/code><\/div>\n<div class=\"line number4 index3 alt1\">\u00a0<\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash plain\">\u770b\u770b\u4e4b\u524d\u8e29\u8fc7\u7684\u5751;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash plain\">\u8981\u6c42\u8bbf\u95eehttp:<\/code><code class=\"bash plain\">\/\/wx2<\/code><code class=\"bash plain\">.xqshijie.com<\/code><code class=\"bash plain\">\/apiwx2\/xqsj<\/code><code class=\"bash plain\">.php?r=houseGroup%2FgetToken\uff0c\u5185\u5bb9\u8df3\u8f6c\u5230http:<\/code><code class=\"bash plain\">\/\/m<\/code><code class=\"bash plain\">.xqshijie.com<\/code><code class=\"bash plain\">\/xqsj<\/code><code class=\"bash plain\">.php?r=houseGroup%2FgetToken\uff0c\u4f46\u662f\u8df3\u8f6c\u540e\u7684url\u4fdd\u6301\u4e0d\u53d8\uff01<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash plain\">\u8fd9\u662f\u6839\u636epath\u8def\u5f84\u8fdb\u884c\u53cd\u5411\u4ee3\u7406\u7684\u914d\u7f6e\uff0c\u5373\u8981\u6c42\u8bbf\u95eehttp:<\/code><code class=\"bash plain\">\/\/wx2<\/code><code class=\"bash plain\">.xqshijie.com<\/code><code class=\"bash plain\">\/apiwx2\/<\/code><code class=\"bash plain\">$1 \u8df3\u8f6c\u5230http:<\/code><code class=\"bash plain\">\/\/m<\/code><code class=\"bash plain\">.xqshijie.com\/$1\uff0c\u8df3\u8f6c\u540e\u7684url\u4e0d\u53d8\uff01<\/code><\/div>\n<div class=\"line number8 index7 alt1\">\u00a0<\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"bash plain\">\u914d\u7f6e\u5982\u4e0b\uff1a<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"bash plain\">[root@fangfull_web1 vhosts]<\/code><code class=\"bash comments\"># cat wx2.xqshijie.com.conf<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">listen\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 80;<\/code><\/div>\n<div class=\"line number13 index12 alt2\">\u00a0<\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server_name\u00a0 wx2.xqshijie.com;<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">root\u00a0\u00a0<\/code><code class=\"bash plain\">\/Data\/app\/xqsj_wx2\/dist<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">index index.html;<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"bash spaces\">\u00a0\u00a0<\/code>\u00a0<\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#if ($http_x_forwarded_for !~ ^(124.65.197.154|103.10.86.28|103.10.86.8)) {<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u00a0\u00a0 rewrite ^.*$\u00a0 \/maintence.php last;<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#}<\/code><\/div>\n<div class=\"line number21 index20 alt2\">\u00a0<\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location\u00a0<\/code><code class=\"bash plain\">\/apiwx2\/<\/code>\u00a0<code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">proxy_pass https:<\/code><code class=\"bash plain\">\/\/m<\/code><code class=\"bash plain\">.xqshijie.com\/;<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number25 index24 alt2\">\u00a0<\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">access_log\u00a0\u00a0<\/code><code class=\"bash plain\">\/var\/log\/betawx2<\/code><code class=\"bash plain\">.log\u00a0 main;<\/code><\/div>\n<div class=\"line number27 index26 alt2\">\u00a0<\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location \/ {<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">try_files $uri $uri\/ @router;<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">index\u00a0 index.html;<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#rewrite ^(.+)$ \/index.html last;<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location @router {<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^.*$\u00a0<\/code><code class=\"bash plain\">\/index<\/code><code class=\"bash plain\">.html last;<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number37 index36 alt2\">\u00a0<\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"bash plain\">\u6839\u636e\u4e0a\u9762\u914d\u7f6e\u540e\uff0c\u5c31\u53ef\u4ee5\u5b9e\u73b0\u8bbf\u95eehttp:<\/code><code class=\"bash plain\">\/\/wx2<\/code><code class=\"bash plain\">.xqshijie.com<\/code><code class=\"bash plain\">\/apiwx2\/xqsj<\/code><code class=\"bash plain\">.php?r=houseGroup%2FgetToken\uff0c\u5b9e\u9645\u663e\u793a\u7684\u662fhttps:<\/code><code class=\"bash plain\">\/\/m<\/code><code class=\"bash plain\">.xqshijie.com<\/code><code class=\"bash plain\">\/xqsj<\/code><code class=\"bash plain\">.php?r=houseGroup%2FgetToken\u7684\u5185\u5bb9\uff0c\u4f46\u662f\u8df3\u8f6c\u540e\u7684\u539f\u6765\u7684url\u4e0d\u53d8\uff01<\/code><\/div>\n<div class=\"line number39 index38 alt2\">\u00a0<\/div>\n<div class=\"line number40 index39 alt1\">\u00a0<\/div>\n<div class=\"line number41 index40 alt2\"><code class=\"bash plain\">\u5982\u679c\u91c7\u7528rewrite\u91cd\u5199\u89c4\u5219\uff0c\u5373\u5c06\uff1a<\/code><\/div>\n<div class=\"line number42 index41 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location\u00a0<\/code><code class=\"bash plain\">\/apiwx2\/<\/code>\u00a0<code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number43 index42 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">proxy_pass https:<\/code><code class=\"bash plain\">\/\/m<\/code><code class=\"bash plain\">.xqshijie.com\/;<\/code><\/div>\n<div class=\"line number44 index43 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number45 index44 alt2\"><code class=\"bash plain\">\u6539\u4e3a<\/code><\/div>\n<div class=\"line number46 index45 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location\u00a0<\/code><code class=\"bash plain\">\/apiwx2\/<\/code>\u00a0<code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number47 index46 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^<\/code><code class=\"bash plain\">\/apiwx2<\/code><code class=\"bash plain\">(.*)$ https:<\/code><code class=\"bash plain\">\/\/m<\/code><code class=\"bash plain\">.xqshijie.com.$1 last;<\/code><\/div>\n<div class=\"line number48 index47 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number49 index48 alt2\"><code class=\"bash plain\">\u90a3\u4e48\uff0c\u8bbf\u95eehttp:<\/code><code class=\"bash plain\">\/\/wx2<\/code><code class=\"bash plain\">.xqshijie.com<\/code><code class=\"bash plain\">\/apiwx2\/xqsj<\/code><code class=\"bash plain\">.php?r=houseGroup%2FgetToken\uff0c\u5b9e\u9645\u663e\u793a\u7684\u662fhttps:<\/code><code class=\"bash plain\">\/\/m<\/code><code class=\"bash plain\">.xqshijie.com<\/code><code class=\"bash plain\">\/xqsj<\/code><code class=\"bash plain\">.php?r=houseGroup%2FgetToken\u7684\u5185\u5bb9\uff0c\u4f46\u662f\u8df3\u8f6c\u540e\u7684url\u5df2\u7ecf\u53d8\u4e86\uff01<\/code><\/div>\n<div class=\"line number50 index49 alt1\">\u00a0<\/div>\n<div class=\"line number51 index50 alt2\">\u00a0<\/div>\n<div class=\"line number52 index51 alt1\"><code class=\"bash plain\">\u4e0a\u9762\u78b0\u5230\u8fc7\u7684\u5751\uff1a<\/code><\/div>\n<div class=\"line number53 index52 alt2\"><code class=\"bash plain\">\u7531\u4e8e\u8bbf\u95eehttp:<\/code><code class=\"bash plain\">\/\/m<\/code><code class=\"bash plain\">.xqshijie.com\u5c31\u4f1a\u81ea\u52a8\u8df3\u8f6c\u5230https:<\/code><code class=\"bash plain\">\/\/m<\/code><code class=\"bash plain\">.xqshijie.com\uff0c\u6240\u4ee5\u5982\u679c\u5c06\u4e0a\u9762\u7684\u914d\u7f6e\u6539\u4e3a\uff08\u5373\u5c06https:<\/code><code class=\"bash plain\">\/\/m<\/code><code class=\"bash plain\">.xqshijie.com\u6539\u4e3ahttp:<\/code><code class=\"bash plain\">\/\/m<\/code><code class=\"bash plain\">.xqshijie.com\uff09\uff1a<\/code><\/div>\n<div class=\"line number54 index53 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location\u00a0<\/code><code class=\"bash plain\">\/apiwx2\/<\/code>\u00a0<code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number55 index54 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">proxy_pass http:<\/code><code class=\"bash plain\">\/\/m<\/code><code class=\"bash plain\">.xqshijie.com\/;<\/code><\/div>\n<div class=\"line number56 index55 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number57 index56 alt2\"><code class=\"bash plain\">\u8fd9\u6837\uff0c\u8bbf\u95eehttp:<\/code><code class=\"bash plain\">\/\/wx2<\/code><code class=\"bash plain\">.xqshijie.com<\/code><code class=\"bash plain\">\/apiwx2\/xqsj<\/code><code class=\"bash plain\">.php?r=houseGroup%2FgetToken\uff0c\u5b9e\u9645\u663e\u793a\u7684\u662fhttps:<\/code><code class=\"bash plain\">\/\/m<\/code><code class=\"bash plain\">.xqshijie.com<\/code><code class=\"bash plain\">\/xqsj<\/code><code class=\"bash plain\">.php?r=houseGroup%2FgetToken\u7684\u5185\u5bb9\uff0c\u4f46\u662f\u8df3\u8f6c\u540e\u7684\u539f\u6765\u7684url\u5df2\u7ecf\u53d8\u4e86\uff01<\/code><\/div>\n<div class=\"line number58 index57 alt1\"><code class=\"bash plain\">\u539f\u56e0\u662f\u56e0\u4e3a\u8fd9\u91cc\u7ecf\u8fc7\u4e86\u4e24\u6b21\u8df3\u8f6c\uff0c\u5373rewrite-&gt;http-&gt;https\uff0c\u6240\u4ee5\u8df3\u8f6c\u540e\u7684url\u53d8\u4e86\u3002<\/code><\/div>\n<div class=\"line number59 index58 alt2\"><code class=\"bash plain\">\u89e3\u51b3\u529e\u6cd5\uff1a\u5c31\u662f\u76f4\u63a5rewrite\u8df3\u8f6c\u5230https\uff0c\u5373proxy_pass https:<\/code><code class=\"bash plain\">\/\/m<\/code><code class=\"bash plain\">.xqshijie.com\/;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\u4e0b\u9762\u7684\u8df3\u8f6c\u89c4\u5219\u8868\u793a&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\u8bbf\u95eehttp:\/\/www.wangshibo.com\/wangshibo\/ops\u5c31\u4f1a\u8df3\u8f6c\u5230http:\/\/www.wangshibo.com\/ops\/wangshibo<br \/>\u8bbf\u95eehttp:\/\/www.wangshibo.com\/wangshibo\/beijing\u5c31\u4f1a\u8df3\u8f6c\u5230http:\/\/www.wangshibo.com\/beijing\/wangshibo<br \/>&#8230;&#8230;<br \/>\u5373\u7531&#8221;wangshibo\/\u53d8\u91cf&#8221;&#8211;&gt;&#8221;\u53d8\u91cf\/wangshibo&#8221;<\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_198806\" class=\"syntaxhighlighter  csharp\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"csharp plain\">server {<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">listen 80;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">server_name www.wangshibo.com;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">rewrite ^\/wangshibo\/(.*)$\u00a0 http:<\/code><code class=\"csharp comments\">\/\/www.wangshibo.com\/$1\/wangshibo last;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">root \/<\/code><code class=\"csharp keyword\">var<\/code><code class=\"csharp plain\">\/www\/html;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">index index.html index.php index.htm;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"csharp spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"csharp plain\">access_log \/usr\/local\/nginx\/logs\/image.log;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"csharp plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>\u8bbf\u95eehttp:\/\/www.wangshibo.com\/ops\/web\u00a0\u8df3\u8f6c\u5230\u00a0http:\/\/www.wangshibo.com\/web\/ops\/web\/<\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_860959\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">listen 80;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server_name www.wangshibo.com;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^<\/code><code class=\"bash plain\">\/ops\/<\/code><code class=\"bash plain\">(.*)$\u00a0 http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.wangshibo.com\/$1<\/code><code class=\"bash plain\">\/ops\/<\/code><code class=\"bash plain\">$1\u00a0<\/code><code class=\"bash keyword\">break<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">root\u00a0<\/code><code class=\"bash plain\">\/var\/www\/html<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">index index.html index.php index.htm;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">access_log\u00a0<\/code><code class=\"bash plain\">\/usr\/local\/nginx\/logs\/image<\/code><code class=\"bash plain\">.log;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>\u8bbf\u95eehttp:\/\/www.wangshibo.com\/wang\/123\u00a0\u5b9e\u9645\u8bbf\u95ee\u5730\u5740\u8df3\u8f6c\u4e3a\u00a0http:\/\/www.hehe.com\/qun\/share\/view?code=123<\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_160041\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">listen 80;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server_name www.wangshibo.com;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^<\/code><code class=\"bash plain\">\/wang\/<\/code><code class=\"bash plain\">(.*)$\u00a0 http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.hehe.com<\/code><code class=\"bash plain\">\/qun\/share\/view<\/code><code class=\"bash plain\">?code=$1 last;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">root\u00a0<\/code><code class=\"bash plain\">\/var\/www\/html<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">index index.html index.php index.htm;<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">access_log\u00a0<\/code><code class=\"bash plain\">\/usr\/local\/nginx\/logs\/image<\/code><code class=\"bash plain\">.log;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>\u5176\u4ed6\u914d\u7f6e\u5b9e\u4f8b<\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_354576\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<div class=\"line number38 index37 alt1\">38<\/div>\n<div class=\"line number39 index38 alt2\">39<\/div>\n<div class=\"line number40 index39 alt1\">40<\/div>\n<div class=\"line number41 index40 alt2\">41<\/div>\n<div class=\"line number42 index41 alt1\">42<\/div>\n<div class=\"line number43 index42 alt2\">43<\/div>\n<div class=\"line number44 index43 alt1\">44<\/div>\n<div class=\"line number45 index44 alt2\">45<\/div>\n<div class=\"line number46 index45 alt1\">46<\/div>\n<div class=\"line number47 index46 alt2\">47<\/div>\n<div class=\"line number48 index47 alt1\">48<\/div>\n<div class=\"line number49 index48 alt2\">49<\/div>\n<div class=\"line number50 index49 alt1\">50<\/div>\n<div class=\"line number51 index50 alt2\">51<\/div>\n<div class=\"line number52 index51 alt1\">52<\/div>\n<div class=\"line number53 index52 alt2\">53<\/div>\n<div class=\"line number54 index53 alt1\">54<\/div>\n<div class=\"line number55 index54 alt2\">55<\/div>\n<div class=\"line number56 index55 alt1\">56<\/div>\n<div class=\"line number57 index56 alt2\">57<\/div>\n<div class=\"line number58 index57 alt1\">58<\/div>\n<div class=\"line number59 index58 alt2\">59<\/div>\n<div class=\"line number60 index59 alt1\">60<\/div>\n<div class=\"line number61 index60 alt2\">61<\/div>\n<div class=\"line number62 index61 alt1\">62<\/div>\n<div class=\"line number63 index62 alt2\">63<\/div>\n<div class=\"line number64 index63 alt1\">64<\/div>\n<div class=\"line number65 index64 alt2\">65<\/div>\n<div class=\"line number66 index65 alt1\">66<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">\u5982\u679cnginx\u5728\u7528\u6237\u4f7f\u7528IE\u6d4f\u89c8\u5668\u8bbf\u95ee\u60c5\u51b5\u4e0b,\u5219\u91cd\u5b9a\u5411\u5230<\/code><code class=\"bash plain\">\/nginx-ie<\/code><code class=\"bash plain\">\u76ee\u5f55\u4e0b<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash plain\">\u914d\u7f6e\u5982\u4e0b\uff1a<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash keyword\">if<\/code>\u00a0<code class=\"bash plain\">($http_user_agent ~ MSIE) {<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^(.*)$\u00a0<\/code><code class=\"bash plain\">\/nginx-ie\/<\/code><code class=\"bash plain\">$1\u00a0<\/code><code class=\"bash keyword\">break<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number6 index5 alt1\">\u00a0<\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash plain\">\u591a\u76ee\u5f55\u8f6c\u6210\u53c2\u6570<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash plain\">abc.domian.com<\/code><code class=\"bash plain\">\/sort\/2<\/code>\u00a0<code class=\"bash plain\">=&gt; abc.domian.com<\/code><code class=\"bash plain\">\/index<\/code><code class=\"bash plain\">.php?act=<\/code><code class=\"bash functions\">sort<\/code><code class=\"bash plain\">&amp;name=abc&amp;<\/code><code class=\"bash functions\">id<\/code><code class=\"bash plain\">=2<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"bash plain\">\u914d\u7f6e\u5982\u4e0b\uff1a<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"bash keyword\">if<\/code>\u00a0<code class=\"bash plain\">($host ~* (.*)\\.domain\\.com) {<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash functions\">set<\/code>\u00a0<code class=\"bash plain\">$sub_name $1;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^<\/code><code class=\"bash plain\">\/sort<\/code><code class=\"bash plain\">\\\/(\\d+)\\\/?$\u00a0<\/code><code class=\"bash plain\">\/index<\/code><code class=\"bash plain\">.php?act=<\/code><code class=\"bash functions\">sort<\/code><code class=\"bash plain\">&amp;cid=$sub_name&amp;<\/code><code class=\"bash functions\">id<\/code><code class=\"bash plain\">=$1 last;<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number14 index13 alt1\">\u00a0<\/div>\n<div class=\"line number15 index14 alt2\">\u00a0<\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"bash plain\">\u76ee\u5f55\u81ea\u52a8\u52a0<\/code><code class=\"bash string\">\"\/\"<\/code><code class=\"bash plain\">\uff0c\u524d\u63d0\u662f\u8bbf\u95ee\u76ee\u5f55\u5b58\u5728<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"bash plain\">\u914d\u7f6e\u5982\u4e0b\uff1a<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"bash keyword\">if<\/code>\u00a0<code class=\"bash plain\">(-d $request_filename){<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^\/(.*)([^\/])$ http:<\/code><code class=\"bash plain\">\/\/<\/code><code class=\"bash plain\">$host\/$1$2\/ permanent;<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number21 index20 alt2\">\u00a0<\/div>\n<div class=\"line number22 index21 alt1\">\u00a0<\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"bash plain\">\u4e09\u7ea7\u57df\u540d\u8df3\u8f6c<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"bash plain\">\u914d\u7f6e\u5982\u4e0b\uff1a<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"bash keyword\">if<\/code>\u00a0<code class=\"bash plain\">($http_host ~* \u201c^(.*)\\.i\\.beijing\\.com$\u201d) {<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"bash plain\">rewrite ^(.*) http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.wangshibo.com$1\/;<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"bash keyword\">break<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number29 index28 alt2\">\u00a0<\/div>\n<div class=\"line number30 index29 alt1\">\u00a0<\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"bash plain\">\u9488\u5bf9\u7ad9\u70b9\u6839\u76ee\u5f55\u4e0b\u7684\u67d0\u4e2a\u5b50\u76ee\u5f55\u4f5c\u955c\u5411<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"bash plain\">\u914d\u7f6e\u5982\u4e0b\uff1a\u5c31\u4f1a\u628ahttp:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.huanqiu.com\u7684\u5185\u5bb9\uff08\u5373\u9996\u9875\uff09\u955c\u50cf\u5230<\/code><code class=\"bash plain\">\/var\/www\/html<\/code><code class=\"bash plain\">\u4e0b\u7684ops\u76ee\u5f55\u4e0b\u4e86<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">listen 80;<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server_name www.wangshibo.com;<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">root\u00a0<\/code><code class=\"bash plain\">\/var\/www\/html<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location ^~\u00a0<\/code><code class=\"bash plain\">\/ops<\/code>\u00a0<code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^.+ http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.huanqiu.com\/ last;<\/code><\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash keyword\">break<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number40 index39 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number41 index40 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">index index.html index.php index.htm;<\/code><\/div>\n<div class=\"line number42 index41 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">access_log\u00a0<\/code><code class=\"bash plain\">\/usr\/local\/nginx\/logs\/image<\/code><code class=\"bash plain\">.log;<\/code><\/div>\n<div class=\"line number43 index42 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number44 index43 alt1\">\u00a0<\/div>\n<div class=\"line number45 index44 alt2\">\u00a0<\/div>\n<div class=\"line number46 index45 alt1\"><code class=\"bash plain\">\u57df\u540d\u955c\u50cf\uff08\u5176\u5b9e\u5c31\u662f\u57df\u540d\u8df3\u8f6c\uff09<\/code><\/div>\n<div class=\"line number47 index46 alt2\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number48 index47 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">listen 80;<\/code><\/div>\n<div class=\"line number49 index48 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server_name www.wangshibo.com;<\/code><\/div>\n<div class=\"line number50 index49 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">root\u00a0<\/code><code class=\"bash plain\">\/var\/www\/html<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number51 index50 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^\/(.*) http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.huanqiu.com\/$1 last;<\/code><\/div>\n<div class=\"line number52 index51 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">index index.html index.php index.htm;<\/code><\/div>\n<div class=\"line number53 index52 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">access_log\u00a0<\/code><code class=\"bash plain\">\/usr\/local\/nginx\/logs\/image<\/code><code class=\"bash plain\">.log;<\/code><\/div>\n<div class=\"line number54 index53 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number55 index54 alt2\">\u00a0<\/div>\n<div class=\"line number56 index55 alt1\"><code class=\"bash plain\">\u5176\u4ed6\uff1a<\/code><\/div>\n<div class=\"line number57 index56 alt2\"><code class=\"bash plain\">rewrite ^\/(space|network)-(.+)\\.html$ \/$1.php?rewrite=$2 last;<\/code><\/div>\n<div class=\"line number58 index57 alt1\"><code class=\"bash plain\">rewrite ^\/(space|network)\\.html$ \/$1.php last;<\/code><\/div>\n<div class=\"line number59 index58 alt2\"><code class=\"bash plain\">rewrite ^\/([0-9]+)$\u00a0<\/code><code class=\"bash plain\">\/space<\/code><code class=\"bash plain\">.php?uid=$1 last;<\/code><\/div>\n<div class=\"line number60 index59 alt1\">\u00a0<\/div>\n<div class=\"line number61 index60 alt2\"><code class=\"bash plain\">rewrite ^(.*)<\/code><code class=\"bash plain\">\/archiver\/<\/code><code class=\"bash plain\">((fid|tid)-[\\w\\-]+\\.html)$ $1<\/code><code class=\"bash plain\">\/archiver\/index<\/code><code class=\"bash plain\">.php?$2 last;<\/code><\/div>\n<div class=\"line number62 index61 alt1\"><code class=\"bash plain\">rewrite ^(.*)<\/code><code class=\"bash plain\">\/forum-<\/code><code class=\"bash plain\">([0-9]+)-([0-9]+)\\.html$ $1<\/code><code class=\"bash plain\">\/forumdisplay<\/code><code class=\"bash plain\">.php?fid=$2&amp;page=$3 last;<\/code><\/div>\n<div class=\"line number63 index62 alt2\"><code class=\"bash plain\">rewrite ^(.*)<\/code><code class=\"bash plain\">\/thread-<\/code><code class=\"bash plain\">([0-9]+)-([0-9]+)-([0-9]+)\\.html$ $1<\/code><code class=\"bash plain\">\/viewthread<\/code><code class=\"bash plain\">.php?tid=$2&amp;extra=page\\%3D$4&amp;page=$3 last;<\/code><\/div>\n<div class=\"line number64 index63 alt1\"><code class=\"bash plain\">rewrite ^(.*)<\/code><code class=\"bash plain\">\/profile-<\/code><code class=\"bash plain\">(username|uid)-(.+)\\.html$ $1<\/code><code class=\"bash plain\">\/viewpro<\/code><code class=\"bash plain\">.php?$2=$3 last;<\/code><\/div>\n<div class=\"line number65 index64 alt2\"><code class=\"bash plain\">rewrite ^(.*)<\/code><code class=\"bash plain\">\/space-<\/code><code class=\"bash plain\">(username|uid)-(.+)\\.html$ $1<\/code><code class=\"bash plain\">\/space<\/code><code class=\"bash plain\">.php?$2=$3 last;<\/code><\/div>\n<div class=\"line number66 index65 alt1\"><code class=\"bash plain\">rewrite ^(.*)<\/code><code class=\"bash plain\">\/tag-<\/code><code class=\"bash plain\">(.+)\\.html$ $1<\/code><code class=\"bash plain\">\/tag<\/code><code class=\"bash plain\">.php?name=$2 last;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>\u76ee\u5f55\u5bf9\u6362\uff1a\/1234\/xxx &#8212;&#8211;&gt;xxx?id=1234<br \/>\u914d\u7f6e\u5982\u4e0b\uff1a<br \/>[root@test-huanqiu ~]# vim \/usr\/local\/nginx\/conf\/vhosts\/test.conf<br \/>server {<br \/>\u00a0 \u00a0 listen 80;<br \/>\u00a0 \u00a0 server_name www.wangshibo.com;<br \/>\u00a0 \u00a0 root \/var\/www\/html;<br \/>\u00a0 \u00a0\u00a0rewrite ^\/(\\d+)\/(.+)\/ \/$2?id=$1 last;<br \/>\u00a0 \u00a0 index index.html index.php index.htm;<br \/>\u00a0 \u00a0 access_log \/usr\/local\/nginx\/logs\/image.log;<br \/>}<\/p>\n<p>[root@test-huanqiu ~]# cat \/var\/www\/html\/ops\/index.html\u00a0<br \/>nginx\u7684\u76ee\u5f55\u5bf9\u6362\u7684\u8df3\u8f6c\u6d4b\u8bd5<\/p>\n<p>\u5982\u4e0a\u914d\u7f6e\u540e\uff0c\u90a3\u4e48\uff1a<br \/>\u8bbf\u95eehttp:\/\/www.wangshibo.com\/?id=567567567567567 \u7684\u7ed3\u679c\u5c31\u662fhttp:\/\/www.wangshibo.com\/\u7684\u7ed3\u679c<br \/>\u8bbf\u95eehttp:\/\/www.wangshibo.com\/ops\/?id=wangshibo \u7684\u7ed3\u679c\u5c31\u662fhttp:\/\/www.wangshibo.com\/ops\u7684\u7ed3\u679c<br \/>\u8bbf\u95eehttp:\/\/www.wangshibo.com\/wang\/?id=123111 \u7684\u7ed3\u679c\u5c31\u662fhttp:\/\/www.wangshibo.com\/wang\u7684\u7ed3\u679c<br \/>&#8230;&#8230;.<\/p>\n<p><strong>2.\u53cd\u5411\u4ee3\u7406\uff08proxy_pass\uff09<\/strong><br \/><a href=\"http:\/\/www.cnblogs.com\/kevingrace\/p\/5839698.html\" target=\"_blank\" rel=\"noopener\">\u7b80\u5355\u6d4b\u8bd5nginx\u53cd\u5411\u4ee3\u7406\u548c\u8d1f\u8f7d\u5747\u8861\u529f\u80fd\u7684\u64cd\u4f5c\u8bb0\u5f55\uff081\uff09&#8212;&#8211;http\u4ee3\u7406<\/a><br \/><a href=\"http:\/\/www.cnblogs.com\/kevingrace\/p\/5865501.html\" target=\"_blank\" rel=\"noopener\">\u7b80\u5355\u6d4b\u8bd5nginx\u53cd\u5411\u4ee3\u7406\u548c\u8d1f\u8f7d\u5747\u8861\u529f\u80fd\u7684\u64cd\u4f5c\u8bb0\u5f55\uff082\uff09&#8212;&#8211;https\u4ee3\u7406<\/a><\/p>\n<p><strong>3.\u7f13\u5b58\u8bbe\u7f6e<\/strong><br \/><a href=\"http:\/\/www.cnblogs.com\/kevingrace\/p\/5882006.html\" target=\"_blank\" rel=\"noopener\">nginx\u53cd\u5411\u4ee3\u7406+\u7f13\u5b58\u5f00\u542f+url\u91cd\u5199+\u8d1f\u8f7d\u5747\u8861(\u5e26\u5065\u5eb7\u63a2\u6d4b)\u7684\u90e8\u7f72\u8bb0\u5f55<\/a><br \/><a href=\"http:\/\/www.cnblogs.com\/kevingrace\/p\/6198287.html\" target=\"_blank\" rel=\"noopener\">nginx\u7f13\u5b58\u914d\u7f6e\u7684\u64cd\u4f5c\u8bb0\u5f55\u68b3\u7406<\/a><\/p>\n<p><strong>4.\u9632\u76d7\u94fe\u3002<\/strong>\u5173\u4e8eNginx\u9632\u76d7\u94fe\u5177\u4f53\u8bbe\u7f6e\uff0c\u53ef\u53c2\u8003\uff1a<a href=\"http:\/\/www.cnblogs.com\/kevingrace\/p\/6168992.html\" target=\"_blank\" rel=\"noopener\">Nginx\u4e2d\u9632\u76d7\u94fe\uff08\u4e0b\u8f7d\u9632\u76d7\u94fe\u548c\u56fe\u7247\u9632\u76d7\u94fe\uff09\u7684\u64cd\u4f5c\u8bb0\u5f55<\/a><br \/>location ~* \\.(gif|jpg|swf)$ {<br \/>valid_referers none blocked start.igrow.cn sta.igrow.cn;<br \/>if ($invalid_referer) {<br \/>rewrite ^\/ http:\/\/$host\/logo.png;<br \/>}<br \/>}<\/p>\n<p>\u4e0b\u9762\u8bbe\u7f6e\u6587\u4ef6\u53cd\u76d7\u94fe\u5e76\u8bbe\u7f6e\u8fc7\u671f\u65f6\u95f4\uff1a<br \/>location ~*^.+\\.(jpg|jpeg|gif|png|swf|rar|zip|css|js)$ {<br \/>\u00a0 \u00a0 valid_referers none blocked *.wangshibo.com*.wangshibo.net localhost 218.197.67.14;<br \/>\u00a0 \u00a0 if ($invalid_referer) {<br \/>\u00a0 \u00a0 \u00a0 \u00a0rewrite ^\/ http:\/\/img.wangshibo.net\/leech.gif;<br \/>\u00a0 \u00a0 \u00a0 \u00a0return 412;<br \/>\u00a0 \u00a0 \u00a0 \u00a0break;<br \/>\u00a0 \u00a0 \u00a0 }<br \/>\u00a0 \u00a0access_log off;<br \/>\u00a0 \u00a0root \/opt\/lampp\/htdocs\/web;<br \/>\u00a0 \u00a0expires 3d;<br \/>\u00a0 \u00a0break;<br \/>}<\/p>\n<p>\u8fd9\u91cc\u7684return 412 \u662f\u81ea\u5b9a\u4e49\u7684http\u72b6\u6001\u7801\uff0c\u9ed8\u8ba4\u4e3a403\uff0c\u65b9\u4fbf\u627e\u51fa\u6b63\u786e\u7684\u76d7\u94fe\u7684\u8bf7\u6c42<br \/>\u201crewrite ^\/ http:\/\/img.wangshibo.net\/leech.gif;\u201d\u663e\u793a\u4e00\u5f20\u9632\u76d7\u94fe\u56fe\u7247<br \/>\u201caccess_log off;\u201d\u4e0d\u8bb0\u5f55\u8bbf\u95ee\u65e5\u5fd7\uff0c\u51cf\u8f7b\u538b\u529b<br \/>\u201cexpires 3d\u201d\u6240\u6709\u6587\u4ef63\u5929\u7684\u6d4f\u89c8\u5668\u7f13\u5b58<\/p>\n<p><strong>5.\u6839\u636e\u6587\u4ef6\u7c7b\u578b\u8bbe\u7f6e\u8fc7\u671f\u65f6\u95f4<\/strong><br \/>1\uff09expires\u8d77\u5230\u63a7\u5236\u9875\u9762\u7f13\u5b58\u7684\u4f5c\u7528\uff0c\u5408\u7406\u7684\u914d\u7f6eexpires\u53ef\u4ee5\u51cf\u5c11\u5f88\u591a\u670d\u52a1\u5668\u7684\u8bf7\u6c42\uff1b<br \/>2\uff09\u5bf9\u4e8e\u7ad9\u70b9\u4e2d\u4e0d\u7ecf\u5e38\u4fee\u6539\u7684\u9759\u6001\u5185\u5bb9\uff08\u5982\u56fe\u7247\uff0cJS\uff0cCSS\uff09\uff0c\u53ef\u4ee5\u5728\u670d\u52a1\u5668\u4e2d\u8bbe\u7f6eexpires\u8fc7\u671f\u65f6\u95f4\uff0c\u63a7\u5236\u6d4f\u89c8\u5668\u7f13\u5b58\uff0c\u8fbe\u5230\u6709\u6548\u51cf\u5c0f\u5e26\u5bbd\u6d41\u91cf\uff0c\u964d\u4f4e\u670d\u52a1\u5668\u538b\u529b\u7684\u76ee\u7684\u3002<br \/>3\uff09Expires\u662fWeb\u670d\u52a1\u5668\u54cd\u5e94\u6d88\u606f\u5934\u5b57\u6bb5\uff0c\u5728\u54cd\u5e94http\u8bf7\u6c42\u65f6\u544a\u8bc9\u6d4f\u89c8\u5668\u5728\u8fc7\u671f\u65f6\u95f4\u524d\u6d4f\u89c8\u5668\u53ef\u4ee5\u76f4\u63a5\u4ece\u6d4f\u89c8\u5668\u7f13\u5b58\u53d6\u6570\u636e\uff0c\u800c\u65e0\u9700\u518d\u6b21\u8bf7\u6c42\u3002<br \/>\u8981\u914d\u7f6eexpires\uff0c\u53ef\u4ee5\u5728http\u6bb5\u4e2d\u6216\u8005server\u6bb5\u4e2d\u6216\u8005location\u6bb5\u4e2d\u52a0\u5165\uff1b<br \/>\u5982\u4e0b\uff1a\u63a7\u5236\u56fe\u7247\u7b49\u8fc7\u671f\u65f6\u95f4\u4e3a30\u5929\uff0c\u5982\u679c\u56fe\u7247\u6587\u4ef6\u4e0d\u600e\u4e48\u66f4\u65b0\uff0c\u8fc7\u671f\u53ef\u4ee5\u8bbe\u5927\u4e00\u70b9\uff1b\u5982\u679c\u9891\u7e41\u66f4\u65b0\uff0c\u5219\u53ef\u4ee5\u8bbe\u7f6e\u5f97\u5c0f\u4e00\u70b9\uff0c\u5177\u4f53\u89c6\u60c5\u51b5\u800c\u5b9a<br \/>location ~ \\.(gif|jpg|jpeg|png|bmp|swf|ico)$ {<br \/>\u00a0 \u00a0 root \/var\/www\/img\/;<br \/>\u00a0 \u00a0 expires 30d;<br \/>}<\/p>\n<p>location ~ .*\\.(js|css)$ {\u00a0<br \/>\u00a0 \u00a0expires 10d;\u00a0<br \/>}<\/p>\n<p>location ~* \\.(js|css|jpg|jpeg|gif|png|swf)$ {<br \/>\u00a0 \u00a0if (-f $request_filename) {<br \/>\u00a0 \u00a0expires 1h;<br \/>\u00a0 \u00a0break;<br \/>\u00a0 \u00a0}<br \/>}<\/p>\n<p>location ~ \\.(wma|wmv|asf|mp3|mmf|zip|rar|swf|flv)$ {<br \/>\u00a0 \u00a0root \/var\/www\/upload\/;<br \/>\u00a0 \u00a0expires max;<br \/>}<\/p>\n<p>expires \u6307\u4ee4\u53ef\u4ee5\u63a7\u5236 HTTP \u5e94\u7b54\u4e2d\u7684\u201c Expires \u201d\u548c\u201c Cache-Control \u201d\u7684\u5934\u6807\uff08\u8d77\u5230\u63a7\u5236\u9875\u9762\u7f13\u5b58\u7684\u4f5c\u7528\uff09<br \/>\u8bed\u6cd5\uff1aexpires [time|epoch|max|off]<br \/>\u9ed8\u8ba4\u503c\uff1aoff<br \/>expires\u6307\u4ee4\u63a7\u5236HTTP\u5e94\u7b54\u4e2d\u7684\u201cExpires\u201d\u548c\u201cCache-Control\u201dHeader\u5934\u90e8\u4fe1\u606f\uff0c\u542f\u52a8\u63a7\u5236\u9875\u9762\u7f13\u5b58\u7684\u4f5c\u7528<br \/>time:\u53ef\u4ee5\u4f7f\u7528\u6b63\u6570\u6216\u8d1f\u6570\u3002\u201cExpires\u201d\u5934\u6807\u7684\u503c\u5c06\u901a\u8fc7\u5f53\u524d\u7cfb\u7edf\u65f6\u95f4\u52a0\u4e0a\u8bbe\u5b9atime\u503c\u6765\u8bbe\u5b9a\u3002<br \/>time\u503c\u8fd8\u63a7\u5236&#8221;Cache-Control&#8221;\u7684\u503c\uff1a<br \/>\u8d1f\u6570\u8868\u793ano-cache<br \/>\u6b63\u6570\u6216\u96f6\u8868\u793amax-age=time<br \/>epoch\uff1a\u6307\u5b9a\u201cExpires\u201d\u7684\u503c\u4e3a 1 January,1970,00:00:01 GMT<br \/>max:\u6307\u5b9a\u201cExpires\u201d\u7684\u503c\u4e3a31 December2037 23:59:59GMT,&#8221;Cache-Control&#8221;\u7684\u503c\u4e3a10\u5e74\u3002\uff08\u5373\u8bbe\u7f6e\u8fc7\u671f\u65f6\u95f4\u6700\u6700\u957f\uff09<br \/>-1\uff1a\u6307\u5b9a\u201cExpires\u201d\u7684\u503c\u4e3a\u5f53\u524d\u670d\u52a1\u5668\u65f6\u95f4-1s\uff0c\u5373\u6c38\u8fdc\u8fc7\u671f\u3002<br \/>off\uff1a\u4e0d\u4fee\u6539\u201cExpires\u201d\u548c&#8221;Cache-Control&#8221;\u7684\u503c<\/p>\n<p>expires\u4f7f\u7528\u4e86\u7279\u5b9a\u7684\u65f6\u95f4\uff0c\u5e76\u4e14\u8981\u6c42\u670d\u52a1\u5668\u548c\u5ba2\u6237\u7aef\u7684\u662f\u4e2d\u4e25\u683c\u540c\u6b65\u3002<br \/>\u800cCache-Control\u662f\u7528max-age\u6307\u4ee4\u6307\u5b9a\u7ec4\u4ef6\u88ab\u7f13\u5b58\u591a\u4e45\u3002<br \/>\u5bf9\u4e8e\u4e0d\u652f\u6301http1.1\u7684\u6d4f\u89c8\u5668\uff0c\u8fd8\u662f\u9700\u8981expires\u6765\u63a7\u5236\u3002\u6240\u4ee5\u6700\u597d\u80fd\u6307\u5b9a\u4e24\u4e2a\u54cd\u5e94\u5934\u3002\u4f46HTTP\u89c4\u8303\u89c4\u5b9amax-age\u6307\u4ee4\u5c06\u91cd\u5199expires\u5934\u3002<\/p>\n<p>\u5982\u4f55\u68c0\u6d4bnginx\u4e2d\u8bbe\u7f6e\u7684expires\u7f51\u9875\u8fc7\u671f\u65f6\u95f4\u662f\u5426\u751f\u6548\uff1f<br \/>\u65b9\u6cd5\uff1a<br \/>\u6253\u5f00webkaka\u7684\u7f51\u7ad9\u901f\u5ea6\u8bca\u65ad\u5de5\u5177(<a href=\"http:\/\/pagespeed.webkaka.com\/\" target=\"_blank\" rel=\"noopener\">http:\/\/pagespeed.webkaka.com\/<\/a>)\uff0c\u8f93\u5165\u4f60\u7684\u7f51\u9875\u5730\u5740\uff0c\u68c0\u6d4b\u540e\uff0c\u7acb\u5373\u53ef\u4ee5\u770b\u5230\u8bbe\u7f6e\u662f\u5426\u751f\u6548\u4e86\u3002\u5982\u4e0b\u56fe\u6240\u793a\uff1a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images2015.cnblogs.com\/blog\/907596\/201612\/907596-20161213104425683-676165257.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images2015.cnblogs.com\/blog\/907596\/201612\/907596-20161213104449761-594461829.png\" alt=\"\" \/><\/p>\n<p>\u4e0a\u56fe\u53ef\u4ee5\u770b\u5230\uff0c\u88ab\u68c0\u6d4b\u7f51\u9875\u7684js\u6587\u4ef6\u8fc7\u671f\u65f6\u95f4\u4e3a1\u5929\uff0812h\uff09\u3002<\/p>\n<p><strong>6.\u7981\u6b62\u8bbf\u95ee\u67d0\u4e2a\u6587\u4ef6\u6216\u76ee\u5f55<\/strong><br \/>1\uff09\u7981\u6b62\u8bbf\u95ee\u4ee5txt\u6216doc\u7ed3\u5c3e\u7684\u6587\u4ef6<br \/>location ~* \\.(txt|doc)${<br \/>root \/data\/www\/wwwroot\/linuxtone\/test;<br \/>deny all;<br \/>}<\/p>\n<p>2\uff09nginx\u7981\u6b62\u8bbf\u95ee\u6240\u6709.\u5f00\u5934\u7684\u9690\u85cf\u6587\u4ef6\u8bbe\u7f6e<br \/>location ~* \/.* {<br \/>deny all;<br \/>}<\/p>\n<p>3\uff09nginx\u7981\u6b62\u8bbf\u95ee\u76ee\u5f55<br \/>location ^~ \/path {<br \/>deny all;<br \/>}<\/p>\n<p>4\uff09\u7981\u6b62\u8bbf\u95ee\u6269\u5c55\u540d\u4e3abat\u7684\u6587\u4ef6<br \/>location ~* \/.bat {<br \/>deny all;<br \/>}<\/p>\n<p>5\uff09\u7981\u6b62\u8bbf\u95eeconfigs\u76ee\u5f55\uff0c\u4ee5\u53ca\u5176\u4e0b\u6240\u6709\u5b50\u76ee\u5f55\u6216\u6587\u4ef6<br \/>location ^~ \/configs\/ {<br \/>deny all;<br \/>}<br \/>\u6ce8\u610f\u4e0a\u8ff0configs\u540e\u9762\u7684\u659c\u6760\u4e0d\u80fd\u5c11\uff0c\u5426\u5219\u6240\u6709\u4ee5configs\u5f00\u5934\u7684\u76ee\u5f55\u6216\u6587\u4ef6\u90fd\u5c06\u7981\u6b62\u8bbf\u95ee\u3002<\/p>\n<p>6\uff09\u7981\u6b62\u8bbf\u95ee\u591a\u4e2a\u76ee\u5f55<br \/>location ~ ^\/(cron|templates)\/ {<br \/>deny all;<br \/>break;<br \/>}<\/p>\n<p>7\uff09\u7981\u6b62\u8bbf\u95ee\u4ee5\/data\u5f00\u5934\u7684\u6587\u4ef6<br \/>location ~ ^\/data {<br \/>deny all;<br \/>}<\/p>\n<p>8\uff09\u7981\u6b62\u8bbf\u95ee\u4ee5.sh,.flv,.mp3\u4e3a\u6587\u4ef6\u540e\u7f00\u540d\u7684\u6587\u4ef6<br \/>location ~ .*\\.(sh|flv|mp3)$ {<br \/>return 403;<br \/>}<\/p>\n<p>9\uff09\u6216\u8005\u4ee5=\u7b26\u53f7\u5f62\u5f0f<br \/>location = \/config\/ {\u00a0<br \/>return 404;\u00a0<br \/>}\u00a0<br \/>location =\/config.ini{\u00a0<br \/>return 404;\u00a0<br \/>}<\/p>\n<p>10\uff09\u7981\u6b62htaccess<br \/>location ~\/\\.ht {<br \/>deny all;<br \/>}<\/p>\n<p>return\u6307\u4ee4<br \/>\u8bed\u6cd5\uff1areturncode ;<br \/>\u4f7f\u7528\u73af\u5883\uff1aserver,location,if;<br \/>\u8be5\u6307\u4ee4\u7528\u4e8e\u7ed3\u675f\u89c4\u5219\u7684\u6267\u884c\u5e76\u8fd4\u56de\u72b6\u6001\u7801\u7ed9\u5ba2\u6237\u7aef\u3002<\/p>\n<p>\u4f8b\u5982\uff1a\u8bbf\u95ee\u7684URL\u4ee5&#8221;.sh&#8221;\u6216&#8221;.bash&#8221;\u7ed3\u5c3e\uff0c\u5219\u8fd4\u56de403\u72b6\u6001\u7801<br \/>location ~ .*\\.(sh|bash)?$ {<br \/>return 403;<br \/>}<\/p>\n<p><strong>7.\u7981\u6b62IP\u8bbf\u95ee \u53ea\u5141\u8bb8\u57df\u540d\u8bbf\u95ee<\/strong><br \/>\u5f53\u522b\u4eba\u901a\u8fc7ip\u6216\u8005\u672a\u77e5\u57df\u540d\u8bbf\u95ee\u4f60\u7684\u7f51\u7ad9\u7684\u65f6\u5019\uff0c\u4f60\u5e0c\u671b\u7981\u6b62\u663e\u793a\u4efb\u4f55\u6709\u6548\u5185\u5bb9\uff0c\u53ef\u4ee5\u7ed9\u4ed6\u8fd4\u56de500.<br \/>\u76ee\u524d\u56fd\u5185\u5f88\u591a\u673a\u623f\u90fd\u8981\u6c42\u7f51\u7ad9\u4e3b\u5173\u95ed\u7a7a\u4e3b\u673a\u5934\uff0c\u9632\u6b62\u672a\u5907\u6848\u7684\u57df\u540d\u6307\u5411\u8fc7\u6765\u9020\u6210\u9ebb\u70e6\u3002<br \/>\u4e3a\u4e86\u907f\u514d\u7f51\u7ad9\u906d\u53d7\u6076\u610fIP\u653b\u51fb\uff0c\u9700\u8981\u7981\u6b62IP\u8bbf\u95ee\uff0c\u53ea\u80fd\u4f7f\u7528\u57df\u540d\u8bbf\u95ee\u7ad9\u70b9\uff01<\/p>\n<p>listen\u884c\u52a0\u4e0adefault\uff08\u6216default_server\uff09\u53c2\u6570\uff0c\u8868\u793a\u8fd9\u4e2a\u662f\u9ed8\u8ba4\u865a\u62df\u4e3b\u673a\u3002<br \/>\u6240\u4ee5\uff0c\u7981\u6b62ip\u8bbf\u95ee\uff0c\u53ea\u80fd\u4f7f\u7528\u57df\u540d\u8bbf\u95ee\u7684\u6b63\u786e\u914d\u7f6e\u662f\uff1a<br \/>server {<br \/>\u00a0 \u00a0 \u00a0listen 80 default;<br \/>\u00a0 \u00a0 \u00a0server_name _;<br \/>\u00a0 \u00a0 \u00a0return 500;<br \/>}<\/p>\n<p>server {<br \/>\u00a0 \u00a0 listen 80;<br \/>\u00a0 \u00a0 server_name web01.wangshibo.cn;<br \/>\u00a0 \u00a0 root \/var\/www\/html;<br \/>\u00a0 \u00a0 index index.html index.php index.htm;<br \/>\u00a0 \u00a0 access_log \/usr\/local\/nginx\/logs\/image.log;<br \/>}<\/p>\n<p>\u6ce8\u610f\uff1a<br \/>\u5982\u679c\u5728\u4e0a\u9762\u7684server_name\u914d\u7f6e\u4e2d\u6307\u5b9a\u57df\u540d\u7684\u540c\u65f6\uff0c\u4e5f\u6307\u660e\u4e86ip\u8bbf\u95ee\uff0c\u6bd4\u5982server_name 103.110.186.17 web01.wangshibo.cn<br \/>\u90a3\u4e48\u5c3d\u7ba1\u4e0a\u9762\u5df2\u7ecf\u505a\u4e86\u8fd4\u56de500\u8bbe\u7f6e\uff0c\u4e5f\u7981\u6b62\u4e0d\u4e86ip\u8bbf\u95ee\uff01\u4e5f\u5c31\u662f\u8bf4\uff0c<strong>\u53ea\u8981server_name\u4e00\u884c\u6307\u660e\u4e86ip\u8bbf\u95ee\uff0c\u90a3\u4e48\u5c31\u7981\u6b62\u4e0d\u4e86\u4e86<\/strong>\u3002<\/p>\n<p>\u4ee5\u4e0a\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u5c06ip\u8bbf\u95ee\u7981\u7528\uff0c\u8fd9\u6837\u7684\u8bdd\uff0c\u4f7f\u7528ip\u8bbf\u95ee\u7684\u6d41\u91cf\u5c31\u4f1a\u4e22\u5931\u3002<br \/>\u5982\u679c\u60f3\u628a\u8fd9\u90e8\u5206\u6d41\u91cf\u6536\u96c6\u8d77\u6765\uff0c\u5bfc\u5165\u5230\u81ea\u5df1\u7684\u7f51\u7ad9\uff0c\u53ea\u8981\u505a\u4ee5\u4e0b\u8df3\u8f6c\u8bbe\u7f6e\u5c31\u53ef\u4ee5\uff1a<br \/>server {\u00a0<br \/>\u00a0 \u00a0 listen 80 default;\u00a0<br \/>\u00a0 \u00a0 rewrite ^(.*) http:\/\/www.wangshibo.com permanent;\u00a0<br \/>}<\/p>\n<p>server {<br \/>\u00a0 \u00a0 listen 80;<br \/>\u00a0 \u00a0 server_name web01.wangshibo.cn;<br \/>\u00a0 \u00a0 root \/var\/www\/html;<br \/>\u00a0 \u00a0 index index.html index.php index.htm;<br \/>\u00a0 \u00a0 access_log \/usr\/local\/nginx\/logs\/image.log;<br \/>}<\/p>\n<p>\u4e0b\u9762\u5217\u51fa\u5176\u4ed6\u7684\u4e00\u4e9b\u7ec6\u8282\u5bfc\u81f4\u7684\u4e0d\u540c\u6548\u679c\uff1a<br \/><strong>1\uff09\u5c06ip\u548c\u57df\u540d\u8bbf\u95ee\u7edf\u7edf\u7981\u6b62\uff0c\u8fd4\u56de403\uff08\u6216\u8005\u914d\u7f6ereturn 500\uff09\u9519\u8bef\u9875<\/strong><br \/>server {<br \/>listen 80 default;<br \/>server_name _;<br \/>return 403;<\/p>\n<p>root \/var\/www\/html;<br \/>index index.html index.php index.htm;<br \/>access_log \/usr\/local\/nginx\/logs\/image.log;<br \/>}<\/p>\n<p>2\uff09\u4e0b\u9762\u7684\u914d\u7f6e\uff1a<br \/>\u6307\u660e\u4e86\u53ea\u80fd\u4f7f\u7528\u57df\u540d\uff0c\u5373http:\/\/web01.wangshibo.cn\u8bbf\u95ee\u914d\u7f6e\u4e2d\u7684\u7ad9\u70b9\uff08\/var\/www\/html\uff09<br \/>\u4e0d\u80fd\u4f7f\u7528ip\uff0c\u5373http:\/\/103.110.186.17\u8bbf\u95ee\u914d\u7f6e\u4e2d\u7684\u7ad9\u70b9\u3002\u4f46\u662f\u53ef\u4ee5\u4f7f\u7528ip\u65b9\u5f0f\u8bbf\u95eenginx\u9ed8\u8ba4\u7684\u6839\u76ee\u5f55\u4e0b\u7684\u5185\u5bb9\uff08\u6bd4\u5982\/usr\/local\/nginx\/html\uff09<br \/>server {<br \/>listen 80 ;\u00a0<br \/>server_name web01.wangshibo.cn;<\/p>\n<p>root \/var\/www\/html;<br \/>index index.html index.php index.htm;<br \/>access_log \/usr\/local\/nginx\/logs\/image.log;<br \/>}<\/p>\n<p>\u4e0b\u9762\u7684\u914d\u7f6e\uff0c\u6307\u660e\u4e86\u4f7f\u7528\u57df\u540d\u6216ip\u90fd\u53ef\u4ee5\u8bbf\u95ee\u914d\u7f6e\u4e2d\u7684\u7ad9\u70b9\u3002\uff08\u4f7f\u7528ip\u8bbf\u95ee\u53ea\u9650\u4e8e\u53ea\u6709\u4e00\u4e2avhost\u865a\u62df\u4e3b\u673a\u914d\u7f6e\u7684\u60c5\u51b5\uff0c\u5982\u679c\u662f\u591a\u4e2a\uff0c\u90a3\u4e48\u6307\u660eip\u8bbf\u95ee\u5c31\u4f1a\u6df7\u6dc6\uff09<br \/>server {<br \/>listen 80 ;\u00a0<br \/>server_name 103.110.186.17 web01.wangshibo.cn;<\/p>\n<p>root \/var\/www\/html;<br \/>index index.html index.php index.htm;<br \/>access_log \/usr\/local\/nginx\/logs\/image.log;<br \/>}<\/p>\n<p>3\uff09\u4e0b\u9762\u4e24\u4e2a\u7684\u914d\u7f6e\u540e\uff0c\u90fd\u80fd\u4f7f\u7528\u57df\u540d\u6216ip\u8bbf\u95ee\u914d\u7f6e\u4e2d\u7684\u7ad9\u70b9\u3002<br \/>server {<br \/>listen 80 default;\u00a0<br \/>server_name web01.wangshibo.cn;<\/p>\n<p>root \/var\/www\/html;<br \/>index index.html index.php index.htm;<br \/>access_log \/usr\/local\/nginx\/logs\/image.log;<br \/>}<\/p>\n<p>server {<br \/>listen 80 default;\u00a0<br \/>server_name 103.110.186.17 web01.wangshibo.cn; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<\/p>\n<p>root \/var\/www\/html;<br \/>index index.html index.php index.htm;<br \/>access_log \/usr\/local\/nginx\/logs\/image.log;<br \/>}<\/p>\n<p><strong>======================================================================<\/strong><br \/><strong>nginx\u914d\u7f6e\u53ea\u80fd\u901a\u8fc7\u57df\u540d\u7981\u6b62ip\u8bbf\u95ee<\/strong><\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_950853\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<div class=\"line number38 index37 alt1\">38<\/div>\n<div class=\"line number39 index38 alt2\">39<\/div>\n<div class=\"line number40 index39 alt1\">40<\/div>\n<div class=\"line number41 index40 alt2\">41<\/div>\n<div class=\"line number42 index41 alt1\">42<\/div>\n<div class=\"line number43 index42 alt2\">43<\/div>\n<div class=\"line number44 index43 alt1\">44<\/div>\n<div class=\"line number45 index44 alt2\">45<\/div>\n<div class=\"line number46 index45 alt1\">46<\/div>\n<div class=\"line number47 index46 alt2\">47<\/div>\n<div class=\"line number48 index47 alt1\">48<\/div>\n<div class=\"line number49 index48 alt2\">49<\/div>\n<div class=\"line number50 index49 alt1\">50<\/div>\n<div class=\"line number51 index50 alt2\">51<\/div>\n<div class=\"line number52 index51 alt1\">52<\/div>\n<div class=\"line number53 index52 alt2\">53<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">\u4e3a\u4ec0\u4e48\u8981\u7981\u6b62ip\u8bbf\u95ee\u9875\u9762\u5462\uff0c\u8fd9\u6837\u505a\u662f\u4e3a\u4e86\u907f\u514d\u5176\u4ed6\u4eba\u628a\u672a\u5907\u6848\u7684\u57df\u540d\u89e3\u6790\u5230\u81ea\u5df1\u7684\u670d\u52a1\u5668IP\uff0c\u800c\u5bfc\u81f4\u670d\u52a1\u5668\u88ab\u65ad\u7f51\uff0c<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash plain\">\u53ef\u4ee5\u901a\u8fc7\u7981\u6b62\u4f7f\u7528ip\u8bbf\u95ee\u7684\u65b9\u6cd5\uff0c\u9632\u6b62\u6b64\u7c7b\u4e8b\u60c5\u7684\u53d1\u751f\u3002<\/code><\/div>\n<div class=\"line number3 index2 alt2\">\u00a0<\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash plain\">Nginx\u7684\u9ed8\u8ba4\u865a\u62df\u4e3b\u673a\u5728\u7528\u6237\u901a\u8fc7IP\u8bbf\u95ee\uff0c\u6216\u8005\u901a\u8fc7\u672a\u8bbe\u7f6e\u7684\u57df\u540d\u8bbf\u95ee(\u6bd4\u5982\u6709\u4eba\u628a\u4ed6\u81ea\u5df1\u7684\u57df\u540d\u6307\u5411\u4e86\u4f60\u7684ip)\u7684\u65f6\u5019<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash plain\">\u751f\u6548\u6700\u5173\u952e\u7684\u4e00\u70b9\u662f\uff0c\u5728server\u7684\u8bbe\u7f6e\u91cc\u9762\u6dfb\u52a0\u8fd9\u4e00\u884c\uff1a<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash plain\">listen 80 default;<\/code><\/div>\n<div class=\"line number7 index6 alt2\">\u00a0<\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash plain\">\u540e\u9762\u7684default\u53c2\u6570\u8868\u793a\u8fd9\u4e2a\u662f\u9ed8\u8ba4\u865a\u62df\u4e3b\u673a\u3002\u8fd9\u4e2a\u8bbe\u7f6e\u975e\u5e38\u6709\u7528\u3002<\/code><\/div>\n<div class=\"line number9 index8 alt2\">\u00a0<\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"bash plain\">\u6bd4\u5982\u522b\u4eba\u901a\u8fc7ip\u6216\u8005\u672a\u77e5\u57df\u540d\u8bbf\u95ee\u4f60\u7684\u7f51\u7ad9\u7684\u65f6\u5019\uff0c\u4f60\u5e0c\u671b\u7981\u6b62\u663e\u793a\u4efb\u4f55\u6709\u6548\u5185\u5bb9\uff0c\u53ef\u4ee5\u7ed9\u4ed6\u8fd4\u56de500\u3002<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash plain\">\u7f51\u7ad9\u4e3b\u5173\u95ed\u7a7a\u4e3b\u673a\u5934\uff0c\u9632\u6b62\u672a\u5907\u6848\u7684\u57df\u540d\u6307\u5411\u8fc7\u6765\u9020\u6210\u9ebb\u70e6\u3002\u5c31\u53ef\u4ee5\u8fd9\u6837\u8bbe\u7f6e\uff1a<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"bash plain\">listen 80 default;<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"bash keyword\">return<\/code>\u00a0<code class=\"bash plain\">500;<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number16 index15 alt1\">\u00a0<\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"bash plain\">\u4e5f\u53ef\u4ee5\u628a\u8fd9\u4e9b\u6d41\u91cf\u6536\u96c6\u8d77\u6765\uff0c\u5bfc\u5165\u5230\u81ea\u5df1\u7684\u7f51\u7ad9\uff0c\u53ea\u8981\u505a\u4ee5\u4e0b\u8df3\u8f6c\u8bbe\u7f6e\u5c31\u53ef\u4ee5\uff1a<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"bash plain\">listen 80 default;<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"bash plain\">rewrite ^(.*) http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.xxx.com permanent;<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number22 index21 alt1\">\u00a0<\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"bash plain\">-----------------\u7279\u522b\u6ce8\u610f-------------------<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"bash plain\">\u6309\u7167\u5982\u4e0a\u8bbe\u7f6e\u540e\uff0c\u786e\u5b9e\u4e0d\u80fd\u901a\u8fc7IP\u8bbf\u95ee\u670d\u52a1\u5668\u4e86\uff0c\u4f46\u662f\u5728\u5e94\u8be5\u7528\u4e2d\u51fa\u73b0\u5f53server_name\u540e\u8ddf\u591a\u4e2a\u57df\u540d\u65f6\uff0c<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"bash plain\">\u5176\u4e2d\u4e00\u4e2a\u57df\u540d\u600e\u4e48\u90fd\u65e0\u6cd5\u8bbf\u95ee\uff1a<\/code><\/div>\n<div class=\"line number26 index25 alt1\">\u00a0<\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"bash plain\">\u8bbe\u7f6e\u5982\u4e0b\uff1a<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"bash plain\">\u6ca1\u66f4\u6539\u4e4b\u524d\uff0c\u901a\u8fc7server_name \u4e2d\u7684www.xxx.com kevin.com\u5747\u53ef\u8bbf\u95ee\u670d\u52a1\u5668\uff0c\u52a0\u5165\u7981\u6b62IP\u8bbf\u95ee\u7684\u8bbe\u7f6e\u540e\uff0c\u901a\u8fc7kevin.com\u65e0\u6cd5\u8bbf\u95ee\u670d\u52a1\u5668\u4e86\uff0cwww.xxx.com\u53ef\u4ee5\u8bbf\u95ee<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"bash plain\">\u7528 nginx -t \u68c0\u6d4b\u914d\u7f6e\u6587\u4ef6\u4f1a\u63d0\u793awarning\uff1a<\/code><\/div>\n<div class=\"line number30 index29 alt1\">\u00a0<\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"bash plain\">\u6700\u540e\u901a\u8fc7\u5728listen 80 default;\u540e\u518d\u52a0server_name _;\u89e3\u51b3\uff0c\u5f62\u5f0f\u5982\u4e0b\uff1a<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"bash comments\">#\u7981\u6b62IP\u8bbf\u95ee\uff08\u5982\u679cvhosts\u4e0b\u9762\u6709\u5f88\u591a\u57df\u540d\u7684conf\u914d\u7f6e\uff0c\u90a3\u4e48\u53ea\u9700\u8981\u521b\u5efa\u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\uff0c\u6bd4\u5982deny.ip.conf\uff0c\u8f93\u5165\u4e0b\u9762\u4e94\u884c\u5185\u5bb9\uff0c\u8fd9\u6837\u5c31\u5168\u5c40\u7981\u6b62\u4e86ip\u8bbf\u95ee\uff0c\u53ea\u80fd\u4f7f\u7528\u57df\u540d\u8bbf\u95ee\u4e86\uff01\uff09<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"bash plain\">server{<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"bash plain\">listen 80 default;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">\/\/<\/code><code class=\"bash plain\">\u5982\u679c\u662f\u7981\u6b62ip\u76848080\u7aef\u53e3\u8bbf\u95ee,\u5219\u5c06\u6b64\u5904\u768480\u4fee\u6539\u4e3a8080<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"bash plain\">server_name _;<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"bash keyword\">return<\/code>\u00a0<code class=\"bash plain\">500;<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number38 index37 alt1\">\u00a0<\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"bash plain\">\u6216\u8005<\/code><\/div>\n<div class=\"line number40 index39 alt1\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number41 index40 alt2\"><code class=\"bash plain\">listen 80 dufault;<\/code><\/div>\n<div class=\"line number42 index41 alt1\"><code class=\"bash plain\">server_name _;<\/code><\/div>\n<div class=\"line number43 index42 alt2\"><code class=\"bash plain\">rewrite ^(.*) http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.xxx.com permanent;<\/code><\/div>\n<div class=\"line number44 index43 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number45 index44 alt2\">\u00a0<\/div>\n<div class=\"line number46 index45 alt1\"><code class=\"bash plain\">\u8fd9\u6837\uff0c\u901a\u8fc7xxx.com\u5c31\u80fd\u8bbf\u95ee\u670d\u52a1\u5668\u4e86\uff0c\u95ee\u9898\u89e3\u51b3\u4e86\u3002<\/code><\/div>\n<div class=\"line number47 index46 alt2\"><code class=\"bash plain\">=====================================================================<\/code><\/div>\n<div class=\"line number48 index47 alt1\"><code class=\"bash plain\">\u4e5f\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u8bbe\u7f6e\uff1a\u5373\u5728server\u6bb5\u91cc\u63d2\u5165\u5982\u4e0b\u5185\u5bb9\u5373\u53ef<\/code><\/div>\n<div class=\"line number49 index48 alt2\">\u00a0<\/div>\n<div class=\"line number50 index49 alt1\"><code class=\"bash keyword\">if<\/code>\u00a0<code class=\"bash plain\">($host !=\u00a0<\/code><code class=\"bash string\">'www.kevin.com'<\/code>\u00a0<code class=\"bash plain\">) {<\/code><\/div>\n<div class=\"line number51 index50 alt2\"><code class=\"bash keyword\">return<\/code>\u00a0<code class=\"bash plain\">403;<\/code><\/div>\n<div class=\"line number52 index51 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number53 index52 alt2\"><code class=\"bash plain\">=====================================================================<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>8.\u6d41\u91cf\u9650\u5236<\/strong><br \/>\u5bf9\u4e8e\u63d0\u4f9b\u4e0b\u8f7d\u7684\u7f51\u7ad9\uff0c\u80af\u5b9a\u662f\u8981\u8fdb\u884c\u6d41\u91cf\u63a7\u5236\u7684\uff0c\u4f8b\u5982BBS\u3001\u89c6\u9891\u670d\u52a1\uff0c\u8fd8\u662f\u5176\u5b83\u4e13\u95e8\u63d0\u4f9b\u4e0b\u8f7d\u7684\u7f51\u7ad9\u3002\u5728nginx\u4e2d\u6211\u4eec\u5b8c\u5168\u53ef\u4ee5\u505a\u5230\u9650\u6d41\uff0c\u7531Nginx\u6a21\u5757\u4e2d\u7684Core\u6a21\u5757\u63d0\u4f9b\u4e86limit_rate\u3001limit_rate_after\u547d\u4ee4\uff0c\u6211\u4eec\u53ea\u9700\u8981\u8c03\u7528\u547d\u4ee4\u5b9e\u73b0\u6d41\u91cf\u9650\u5236\u5c31\u884c\u3002<br \/>\u5b9e\u73b0\u6d41\u91cf\u9650\u5236\u7531\u4e24\u4e2a\u6307\u4ee4limit_rate\u548climit_rate_after\u5171\u540c\u5b8c\u6210\uff1a<br \/>limit_rate<br \/>\u8bed\u6cd5: limit_rate rate;<br \/>\u9ed8\u8ba4\u503c: limit_rate 0;<br \/>\u4f5c\u7528\u57df: http, server, location,\u00a0location\u4e2d\u7684if\u5b57\u6bb5<br \/>\u547d\u4ee4\u6982\u8ff0\uff1a\u9650\u5236\u5411\u5ba2\u6237\u7aef\u4f20\u9001\u54cd\u5e94\u7684\u901f\u7387\u9650\u5236\u3002\u53c2\u6570 rate \u7684\u5355\u4f4d\u662f\u5b57\u8282\/\u79d2\uff0c\u8bbe\u7f6e\u4e3a 0 \u5c06\u5173\u95ed\u9650\u901f\u3002 nginx \u6309\u8fde\u63a5\u9650\u901f\uff0c\u9700\u8981\u660e\u767d\u7684\u4e00\u70b9\u662f\u8be5\u9650\u5236\u53ea\u662f\u9488\u5bf9\u4e00\u4e2a\u8fde\u63a5\u7684\u8bbe\u5b9a\uff0c\u6240\u4ee5\u5982\u679c\u67d0\u4e2a\u5ba2\u6237\u7aef\u540c\u65f6\u5f00\u542f\u4e86\u4e24\u4e2a\u8fde\u63a5\uff0c\u90a3\u4e48\u5ba2\u6237\u7aef\u7684\u6574\u4f53\u901f\u7387\u662f\u8fd9\u6761\u6307\u4ee4\u8bbe\u7f6e\u503c\u76842\u500d\u3002<\/p>\n<p>limit_rate_after<br \/>\u8bed\u6cd5: limit_rate_after size;<br \/>\u9ed8\u8ba4\u503c: limit_rate_after 0;<br \/>\u4f5c\u7528\u57df\uff1ahttp, server, location,location\u4e2d\u7684if\u5b57\u6bb5<br \/>\u8bbe\u7f6e\u4e0d\u9650\u901f\u4f20\u8f93\u7684\u54cd\u5e94\u5927\u5c0f\u3002\u5f53\u4f20\u8f93\u91cf\u5927\u4e8e\u6b64\u503c\u65f6\uff0c\u8d85\u51fa\u90e8\u5206\u5c06\u9650\u901f\u4f20\u9001\u3002<\/p>\n<p>\u793a\u4f8b\u8bf4\u660e\uff1a<br \/>server {<br \/>\u00a0 \u00a0 \u00a0 \u00a0listen 80;<br \/>\u00a0 \u00a0 \u00a0 \u00a0server_name ops.wangshibo.com;<br \/>\u00a0 \u00a0 \u00a0 \u00a0location \/ops\/{<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 root \/home\/www\/html;<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 limit_rate_after 5m;<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 limit_rate 20k;<br \/>\u00a0 \u00a0 \u00a0 }<br \/>}<\/p>\n<p>\u6d4b\u8bd5\uff1a<br \/>[root@test-huanqiu ~]# wget http:\/\/ops.wangshibo.com\/ops\/seven.mp4<\/p>\n<p>\u4fee\u6539\u914d\u7f6e\u4e4b\u524d\uff0c\u901f\u7387\u6ca1\u6709\u9650\u5236\uff1a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images2015.cnblogs.com\/blog\/907596\/201612\/907596-20161212154405776-1774295491.png\" alt=\"\" \/><\/p>\n<p>\u4fee\u6539\u914d\u7f6e\u4e4b\u540e\uff0c\u53ef\u89c1\u7531\u4e8e\u4f20\u8f93\u91cf\u5927\u4e8e5m\uff0c\u8d85\u51fa\u90e8\u5206\u7684\u4f20\u8f93\u901f\u7387\u5df2\u7ecf\u88ab\u9650\u5236\u572820k\/s\uff1a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images2015.cnblogs.com\/blog\/907596\/201612\/907596-20161212154542683-221057961.png\" alt=\"\" \/><\/p>\n<p>\u53ef\u4ee5\u53d1\u73b0\u914d\u7f6e\u4e4b\u540e\uff0c\u521a\u5f00\u59cb\u7684\u65f6\u5019\u4f20\u8f93\u901f\u5ea6\u5f88\u9ad8\uff0c\u56e0\u4e3a\uff0c\u4f20\u8f93\u91cf\u5927\u4e8e\u8bbe\u5b9a\u503c\u7684\u90e8\u5206\u624d\u4f1a\u53d7\u5230\u9650\u5236\u3002\u8fd9\u5c31\u8bf4\u660e\uff0c\u6211\u4eec\u4e24\u4e2a\u547d\u4ee4\u90fd\u53d1\u6325\u4e86\u4f5c\u7528\uff01<\/p>\n<p><strong>9.\u5e76\u53d1\u8fde\u63a5\u6570\u9650\u5236<\/strong><br \/>\u8fd9\u4e2a\u914d\u7f6e\u662f\u57fa\u4e8engx_http_limit_zone_module\u6a21\u5757\u7684,\u8981\u7b80\u5355\u5b8c\u6210\u5e76\u53d1\u9650\u5236\uff0c\u6211\u4eec\u8981\u6d89\u53ca\u5230limit_conn_zone\u548climit_conn \u8fd9\u4e24\u4e2a\u6307\u4ee4\uff1a<br \/>limit_conn_zone<br \/>\u8bed\u6cd5\uff1alimit_conn_zone zone_name $variable the_size<br \/>\u9ed8\u8ba4\u503c\uff1ano<br \/>\u4f5c\u7528\u57df\uff1ahttp<br \/>\u672c\u6307\u4ee4\u5b9a\u4e49\u4e86\u4e00\u4e2a\u6570\u636e\u533a\uff0c\u91cc\u9762\u8bb0\u5f55\u4f1a\u8bdd\u72b6\u6001\u4fe1\u606f\u3002 variable \u5b9a\u4e49\u5224\u65ad\u4f1a\u8bdd\u7684\u53d8\u91cf\uff1bthe_size \u5b9a\u4e49\u8bb0\u5f55\u533a\u7684\u603b\u5bb9\u91cf\u3002<\/p>\n<p>limit_conn<br \/>\u8bed\u6cd5\uff1alimit_conn zone_name the_size<br \/>\u9ed8\u8ba4\u503c\uff1ano<br \/>\u4f5c\u7528\u57df\uff1ahttp, server, location<br \/>\u6307\u5b9a\u4e00\u4e2a\u4f1a\u8bdd\u6700\u5927\u7684\u5e76\u53d1\u8fde\u63a5\u6570\u3002 \u5f53\u8d85\u8fc7\u6307\u5b9a\u7684\u6700\u53d1\u5e76\u53d1\u8fde\u63a5\u6570\u65f6\uff0c\u670d\u52a1\u5668\u5c06\u8fd4\u56de &#8220;Service unavailable&#8221; (503)\u3002<\/p>\n<p>\u793a\u4f8b\u8bf4\u660e\uff1a<br \/>http {<br \/>\u00a0 \u00a0 \u00a0 \u00a0limit_conn_zone $binary_remote_addr zone=one:10m;<br \/>\u00a0 \u00a0 \u00a0 \u00a0&#8230;&#8230;.<br \/>\u00a0 \u00a0 \u00a0 \u00a0&#8230;&#8230;.<br \/>\u00a0 \u00a0 \u00a0 \u00a0server {<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0listen 80;<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0server_name ops.wangshibo.com;<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0location \/ops\/ {<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0limit_conn one 1;<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0}<br \/>\u793a\u4f8b\u89e3\u91ca\uff1a<br \/>1\uff09\u5b9a\u4e49\u4e00\u4e2a\u53eb\u201cone\u201d\u7684\u8bb0\u5f55\u533a\uff0c\u603b\u5bb9\u91cf\u4e3a 10M\uff0c\u4ee5\u53d8\u91cf$binary_remote_addr\u4f5c\u4e3a\u4f1a\u8bdd\u7684\u5224\u65ad\u57fa\u51c6\uff08\u5373\u4e00\u4e2a\u5730\u5740\u4e00\u4e2a\u4f1a\u8bdd\uff09\u3002\u00a0<br \/>\u9650\u5236\/ops\/\u76ee\u5f55\u4e0b\uff0c\u4e00\u4e2a\u4f1a\u8bdd\u53ea\u80fd\u8fdb\u884c\u4e00\u4e2a\u8fde\u63a5\uff1b\u7b80\u5355\u6765\u8bf4\uff0c\u5c31\u662f\u9650\u5236\/ops\/\u76ee\u5f55\u4e0b\uff0c\u4e00\u4e2aIP\u53ea\u80fd\u53d1\u8d77\u4e00\u4e2a\u8fde\u63a5\uff0c\u591a\u8fc7\u4e00\u4e2a\uff0c\u4e00\u5f8b\u62a5\u9519503\u3002<br \/>2\uff09\u8fd9\u91cc\u4f7f\u7528\u7684\u662f$binary_remote_addr\u800c\u4e0d\u662f $remote_addr\u3002$remote_addr\u7684\u957f\u5ea6\u4e3a7\u81f315 bytes\uff0c\u4f1a\u8bdd\u4fe1\u606f\u7684\u957f\u5ea6\u4e3a32\u621664bytes\uff1b\u800c $binary_remote_addr\u7684\u957f\u5ea6\u4e3a4bytes\uff0c\u4f1a\u8bdd\u4fe1\u606f\u7684\u957f\u5ea6\u4e3a32bytes\uff1b$binary_remote_addr\u662f\u9650\u5236\u540c\u4e00\u5ba2\u6237\u7aefip\u5730\u5740\uff1b\u5f53 zone \u7684\u5927\u5c0f\u4e3a 1M \u7684\u65f6\u5019\uff0c\u5927\u7ea6\u53ef\u4ee5\u8bb0\u5f55 32000 \u4e2a\u4f1a\u8bdd\u4fe1\u606f\uff08\u4e00\u4e2a\u4f1a\u8bdd\u5360\u7528 32 bytes\uff09\u3002<\/p>\n<p>\u4e0b\u9762\u5206\u4eab\u4e00\u4e2a\u9650\u5236\u6d41\u91cf\u548c\u5e76\u53d1\u9001\u7684\u914d\u7f6e\uff1a<br \/>\u73b0\u8c61\u63cf\u8ff0\uff1a<br \/>\u4e2d\u95f4\u4e00\u6bb5\u65f6\u95f4\uff0c\u7f51\u7ad9\u8bbf\u95ee\u6709\u70b9\u6162\uff0c\u521d\u6b65\u6000\u7591\u662f\u673a\u623f\u4ea4\u6362\u673a\u95ee\u9898\uff08\u4e4b\u524d\u51fa\u73b0\u8fc7\u7f51\u7ad9\u8bbf\u95ee\u5f88\u6162\uff0c\u70ed\u63d2\u62d4\u7f51\u5361\/\u91cd\u542f\u7f51\u5361\u5c31\u597d\u4e86\uff09<br \/>\u6700\u540e\u67e5\u770b\uff0c\u53d1\u73b0\u673a\u623f\u6d41\u91cf\u5f88\u5927\uff01\u4e3b\u8981\u662f\u8bba\u575b\u6d41\u91cf\u5927\uff0c\u4e3b\u7ad9\u6d41\u91cf\u5f88\u5c0f\uff0c\u5e94\u8be5\u662f\u8bba\u575b\u4eba\u6570\u8bbf\u95ee\u4e00\u591a\uff0c\u5c31\u628a\u5e26\u5bbd\u5360\u6ee1\u4e86\u3002<\/p>\n<p>\u89e3\u51b3\u529e\u6cd5\uff1a<br \/>\u5728\u8bba\u575b\u670d\u52a1\u5668\u4e0a\u4fee\u6539\uff1a<br \/>1\uff09\u9996\u5148\u9650\u5236\u5e76\u53d1\u6570<br \/>[root@server_web ~]# vim \/etc\/sysconfig\/iptables<br \/>&#8230;..<br \/>-A INPUT -p tcp &#8211;dport 80 -m limit &#8211;limit 6\/s -j ACCEPT<br \/>[root@server_web ~]# \/etc\/init.d\/iptables restart<\/p>\n<p>\u4e0a\u9762\u5c06\u6bcf\u4e2a\u7528\u6237\u9650\u5236\u5728\u6bcf\u79d26\u4e2a\u8bf7\u6c42\uff0c\u4f46\u6548\u679c\u4e0d\u660e\u663e\u3002<\/p>\n<p>2\uff09\u8bbe\u7f6enginx\u7684\u6d41\u91cf\u8bf7\u6c42<br \/>[root@server_web ~]# vim \/usr\/local\/nginx\/conf\/nginx.conf<br \/>http{<br \/>\u00a0 \u00a0 \u00a0limit_conn_zone $binary_remote_addr zone=perip:10m;\u00a0<br \/>\u00a0 \u00a0 # limit_req_zone $binary_remote_addr zone=one2:10m rate=5r\/s;<br \/>\u00a0 \u00a0 # limit_req zone=one2 burst=5;<br \/>\u00a0 \u00a0 &#8230;&#8230;&#8230;.<br \/>\u00a0 \u00a0 &#8230;&#8230;&#8230;.<br \/>}<\/p>\n<p>[root@server_web ~]# vim \/usr\/local\/nginx\/conf\/vhost\/forum.conf<br \/>\u00a0 \u00a0 \u00a0 server {<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 listen 80;<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 server_name forum.wangshibo.com;<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 root \/var\/www\/html;<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 limit_conn perip 10;\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0\u00a0 \/\/\u8fd9\u91cc\u8c03\u7528\u4e0a\u9762\u7684perip\uff0c\u9700\u8981\u5199\u5728server\u91cc\u9762\uff1b\u5373\u6bcf\u4e2aip\u6700\u591a\u670910\u4e2a\u5e76\u53d1\u8fde\u63a5<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 limit_rate 10k; \u00a0\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0\u00a0\/\/\u9650\u5236\u6bcf\u4e2a\u8fde\u63a5\u7684\u5e26\u5bbd\uff0c\u53ef\u4ee5\u5355\u72ec\u5199\u8fd9\u6761\uff0c\u4e0e\u8fde\u63a5\u6570\u65e0\u5173\uff1b<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0}<br \/>}<\/p>\n<p>[root@server_web ~]# \/usr\/local\/nginx\/sbin\/nginx -s reload<\/p>\n<p><strong>======================Nginx\u4e0b\u7684\u9650\u6d41\u914d\u7f6e=====================<\/strong><br \/><a href=\"http:\/\/nginx.org\/en\/docs\/http\/ngx_http_limit_req_module.html\" target=\"_blank\" rel=\"noopener\">limit_req_zone<\/a>\u00a0 \u00a0 \u00a0\u00a0\u7528\u6765\u9650\u5236\u5355\u4f4d\u65f6\u95f4\u5185\u7684\u8bf7\u6c42\u6570\uff0c\u5373\u901f\u7387\u9650\u5236,\u91c7\u7528\u7684\u6f0f\u6876\u7b97\u6cd5 &#8220;leaky bucket&#8221;\u00a0 \u00a0 \u00a0#\u70b9\u51fb\u524d\u9762\u8d85\u94fe\u63a5\u53ef\u67e5\u770b\u5bf9\u5e94\u6a21\u5757\u5b98\u65b9\u4ecb\u7ecd<br \/><a href=\"http:\/\/nginx.org\/en\/docs\/http\/ngx_http_limit_conn_module.html\" target=\"_blank\" rel=\"noopener\">limit_req_conn<\/a>\u00a0 \u00a0 \u00a0\u00a0\u7528\u6765\u9650\u5236\u540c\u4e00\u65f6\u95f4\u8fde\u63a5\u6570\uff0c\u5373\u5e76\u53d1\u9650\u5236<\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_851265\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<div class=\"line number38 index37 alt1\">38<\/div>\n<div class=\"line number39 index38 alt2\">39<\/div>\n<div class=\"line number40 index39 alt1\">40<\/div>\n<div class=\"line number41 index40 alt2\">41<\/div>\n<div class=\"line number42 index41 alt1\">42<\/div>\n<div class=\"line number43 index42 alt2\">43<\/div>\n<div class=\"line number44 index43 alt1\">44<\/div>\n<div class=\"line number45 index44 alt2\">45<\/div>\n<div class=\"line number46 index45 alt1\">46<\/div>\n<div class=\"line number47 index46 alt2\">47<\/div>\n<div class=\"line number48 index47 alt1\">48<\/div>\n<div class=\"line number49 index48 alt2\">49<\/div>\n<div class=\"line number50 index49 alt1\">50<\/div>\n<div class=\"line number51 index50 alt2\">51<\/div>\n<div class=\"line number52 index51 alt1\">52<\/div>\n<div class=\"line number53 index52 alt2\">53<\/div>\n<div class=\"line number54 index53 alt1\">54<\/div>\n<div class=\"line number55 index54 alt2\">55<\/div>\n<div class=\"line number56 index55 alt1\">56<\/div>\n<div class=\"line number57 index56 alt2\">57<\/div>\n<div class=\"line number58 index57 alt1\">58<\/div>\n<div class=\"line number59 index58 alt2\">59<\/div>\n<div class=\"line number60 index59 alt1\">60<\/div>\n<div class=\"line number61 index60 alt2\">61<\/div>\n<div class=\"line number62 index61 alt1\">62<\/div>\n<div class=\"line number63 index62 alt2\">63<\/div>\n<div class=\"line number64 index63 alt1\">64<\/div>\n<div class=\"line number65 index64 alt2\">65<\/div>\n<div class=\"line number66 index65 alt1\">66<\/div>\n<div class=\"line number67 index66 alt2\">67<\/div>\n<div class=\"line number68 index67 alt1\">68<\/div>\n<div class=\"line number69 index68 alt2\">69<\/div>\n<div class=\"line number70 index69 alt1\">70<\/div>\n<div class=\"line number71 index70 alt2\">71<\/div>\n<div class=\"line number72 index71 alt1\">72<\/div>\n<div class=\"line number73 index72 alt2\">73<\/div>\n<div class=\"line number74 index73 alt1\">74<\/div>\n<div class=\"line number75 index74 alt2\">75<\/div>\n<div class=\"line number76 index75 alt1\">76<\/div>\n<div class=\"line number77 index76 alt2\">77<\/div>\n<div class=\"line number78 index77 alt1\">78<\/div>\n<div class=\"line number79 index78 alt2\">79<\/div>\n<div class=\"line number80 index79 alt1\">80<\/div>\n<div class=\"line number81 index80 alt2\">81<\/div>\n<div class=\"line number82 index81 alt1\">82<\/div>\n<div class=\"line number83 index82 alt2\">83<\/div>\n<div class=\"line number84 index83 alt1\">84<\/div>\n<div class=\"line number85 index84 alt2\">85<\/div>\n<div class=\"line number86 index85 alt1\">86<\/div>\n<div class=\"line number87 index86 alt2\">87<\/div>\n<div class=\"line number88 index87 alt1\">88<\/div>\n<div class=\"line number89 index88 alt2\">89<\/div>\n<div class=\"line number90 index89 alt1\">90<\/div>\n<div class=\"line number91 index90 alt2\">91<\/div>\n<div class=\"line number92 index91 alt1\">92<\/div>\n<div class=\"line number93 index92 alt2\">93<\/div>\n<div class=\"line number94 index93 alt1\">94<\/div>\n<div class=\"line number95 index94 alt2\">95<\/div>\n<div class=\"line number96 index95 alt1\">96<\/div>\n<div class=\"line number97 index96 alt2\">97<\/div>\n<div class=\"line number98 index97 alt1\">98<\/div>\n<div class=\"line number99 index98 alt2\">99<\/div>\n<div class=\"line number100 index99 alt1\">100<\/div>\n<div class=\"line number101 index100 alt2\">101<\/div>\n<div class=\"line number102 index101 alt1\">102<\/div>\n<div class=\"line number103 index102 alt2\">103<\/div>\n<div class=\"line number104 index103 alt1\">104<\/div>\n<div class=\"line number105 index104 alt2\">105<\/div>\n<div class=\"line number106 index105 alt1\">106<\/div>\n<div class=\"line number107 index106 alt2\">107<\/div>\n<div class=\"line number108 index107 alt1\">108<\/div>\n<div class=\"line number109 index108 alt2\">109<\/div>\n<div class=\"line number110 index109 alt1\">110<\/div>\n<div class=\"line number111 index110 alt2\">111<\/div>\n<div class=\"line number112 index111 alt1\">112<\/div>\n<div class=\"line number113 index112 alt2\">113<\/div>\n<div class=\"line number114 index113 alt1\">114<\/div>\n<div class=\"line number115 index114 alt2\">115<\/div>\n<div class=\"line number116 index115 alt1\">116<\/div>\n<div class=\"line number117 index116 alt2\">117<\/div>\n<div class=\"line number118 index117 alt1\">118<\/div>\n<div class=\"line number119 index118 alt2\">119<\/div>\n<div class=\"line number120 index119 alt1\">120<\/div>\n<div class=\"line number121 index120 alt2\">121<\/div>\n<div class=\"line number122 index121 alt1\">122<\/div>\n<div class=\"line number123 index122 alt2\">123<\/div>\n<div class=\"line number124 index123 alt1\">124<\/div>\n<div class=\"line number125 index124 alt2\">125<\/div>\n<div class=\"line number126 index125 alt1\">126<\/div>\n<div class=\"line number127 index126 alt2\">127<\/div>\n<div class=\"line number128 index127 alt1\">128<\/div>\n<div class=\"line number129 index128 alt2\">129<\/div>\n<div class=\"line number130 index129 alt1\">130<\/div>\n<div class=\"line number131 index130 alt2\">131<\/div>\n<div class=\"line number132 index131 alt1\">132<\/div>\n<div class=\"line number133 index132 alt2\">133<\/div>\n<div class=\"line number134 index133 alt1\">134<\/div>\n<div class=\"line number135 index134 alt2\">135<\/div>\n<div class=\"line number136 index135 alt1\">136<\/div>\n<div class=\"line number137 index136 alt2\">137<\/div>\n<div class=\"line number138 index137 alt1\">138<\/div>\n<div class=\"line number139 index138 alt2\">139<\/div>\n<div class=\"line number140 index139 alt1\">140<\/div>\n<div class=\"line number141 index140 alt2\">141<\/div>\n<div class=\"line number142 index141 alt1\">142<\/div>\n<div class=\"line number143 index142 alt2\">143<\/div>\n<div class=\"line number144 index143 alt1\">144<\/div>\n<div class=\"line number145 index144 alt2\">145<\/div>\n<div class=\"line number146 index145 alt1\">146<\/div>\n<div class=\"line number147 index146 alt2\">147<\/div>\n<div class=\"line number148 index147 alt1\">148<\/div>\n<div class=\"line number149 index148 alt2\">149<\/div>\n<div class=\"line number150 index149 alt1\">150<\/div>\n<div class=\"line number151 index150 alt2\">151<\/div>\n<div class=\"line number152 index151 alt1\">152<\/div>\n<div class=\"line number153 index152 alt2\">153<\/div>\n<div class=\"line number154 index153 alt1\">154<\/div>\n<div class=\"line number155 index154 alt2\">155<\/div>\n<div class=\"line number156 index155 alt1\">156<\/div>\n<div class=\"line number157 index156 alt2\">157<\/div>\n<div class=\"line number158 index157 alt1\">158<\/div>\n<div class=\"line number159 index158 alt2\">159<\/div>\n<div class=\"line number160 index159 alt1\">160<\/div>\n<div class=\"line number161 index160 alt2\">161<\/div>\n<div class=\"line number162 index161 alt1\">162<\/div>\n<div class=\"line number163 index162 alt2\">163<\/div>\n<div class=\"line number164 index163 alt1\">164<\/div>\n<div class=\"line number165 index164 alt2\">165<\/div>\n<div class=\"line number166 index165 alt1\">166<\/div>\n<div class=\"line number167 index166 alt2\">167<\/div>\n<div class=\"line number168 index167 alt1\">168<\/div>\n<div class=\"line number169 index168 alt2\">169<\/div>\n<div class=\"line number170 index169 alt1\">170<\/div>\n<div class=\"line number171 index170 alt2\">171<\/div>\n<div class=\"line number172 index171 alt1\">172<\/div>\n<div class=\"line number173 index172 alt2\">173<\/div>\n<div class=\"line number174 index173 alt1\">174<\/div>\n<div class=\"line number175 index174 alt2\">175<\/div>\n<div class=\"line number176 index175 alt1\">176<\/div>\n<div class=\"line number177 index176 alt2\">177<\/div>\n<div class=\"line number178 index177 alt1\">178<\/div>\n<div class=\"line number179 index178 alt2\">179<\/div>\n<div class=\"line number180 index179 alt1\">180<\/div>\n<div class=\"line number181 index180 alt2\">181<\/div>\n<div class=\"line number182 index181 alt1\">182<\/div>\n<div class=\"line number183 index182 alt2\">183<\/div>\n<div class=\"line number184 index183 alt1\">184<\/div>\n<div class=\"line number185 index184 alt2\">185<\/div>\n<div class=\"line number186 index185 alt1\">186<\/div>\n<div class=\"line number187 index186 alt2\">187<\/div>\n<div class=\"line number188 index187 alt1\">188<\/div>\n<div class=\"line number189 index188 alt2\">189<\/div>\n<div class=\"line number190 index189 alt1\">190<\/div>\n<div class=\"line number191 index190 alt2\">191<\/div>\n<div class=\"line number192 index191 alt1\">192<\/div>\n<div class=\"line number193 index192 alt2\">193<\/div>\n<div class=\"line number194 index193 alt1\">194<\/div>\n<div class=\"line number195 index194 alt2\">195<\/div>\n<div class=\"line number196 index195 alt1\">196<\/div>\n<div class=\"line number197 index196 alt2\">197<\/div>\n<div class=\"line number198 index197 alt1\">198<\/div>\n<div class=\"line number199 index198 alt2\">199<\/div>\n<div class=\"line number200 index199 alt1\">200<\/div>\n<div class=\"line number201 index200 alt2\">201<\/div>\n<div class=\"line number202 index201 alt1\">202<\/div>\n<div class=\"line number203 index202 alt2\">203<\/div>\n<div class=\"line number204 index203 alt1\">204<\/div>\n<div class=\"line number205 index204 alt2\">205<\/div>\n<div class=\"line number206 index205 alt1\">206<\/div>\n<div class=\"line number207 index206 alt2\">207<\/div>\n<div class=\"line number208 index207 alt1\">208<\/div>\n<div class=\"line number209 index208 alt2\">209<\/div>\n<div class=\"line number210 index209 alt1\">210<\/div>\n<div class=\"line number211 index210 alt2\">211<\/div>\n<div class=\"line number212 index211 alt1\">212<\/div>\n<div class=\"line number213 index212 alt2\">213<\/div>\n<div class=\"line number214 index213 alt1\">214<\/div>\n<div class=\"line number215 index214 alt2\">215<\/div>\n<div class=\"line number216 index215 alt1\">216<\/div>\n<div class=\"line number217 index216 alt2\">217<\/div>\n<div class=\"line number218 index217 alt1\">218<\/div>\n<div class=\"line number219 index218 alt2\">219<\/div>\n<div class=\"line number220 index219 alt1\">220<\/div>\n<div class=\"line number221 index220 alt2\">221<\/div>\n<div class=\"line number222 index221 alt1\">222<\/div>\n<div class=\"line number223 index222 alt2\">223<\/div>\n<div class=\"line number224 index223 alt1\">224<\/div>\n<div class=\"line number225 index224 alt2\">225<\/div>\n<div class=\"line number226 index225 alt1\">226<\/div>\n<div class=\"line number227 index226 alt2\">227<\/div>\n<div class=\"line number228 index227 alt1\">228<\/div>\n<div class=\"line number229 index228 alt2\">229<\/div>\n<div class=\"line number230 index229 alt1\">230<\/div>\n<div class=\"line number231 index230 alt2\">231<\/div>\n<div class=\"line number232 index231 alt1\">232<\/div>\n<div class=\"line number233 index232 alt2\">233<\/div>\n<div class=\"line number234 index233 alt1\">234<\/div>\n<div class=\"line number235 index234 alt2\">235<\/div>\n<div class=\"line number236 index235 alt1\">236<\/div>\n<div class=\"line number237 index236 alt2\">237<\/div>\n<div class=\"line number238 index237 alt1\">238<\/div>\n<div class=\"line number239 index238 alt2\">239<\/div>\n<div class=\"line number240 index239 alt1\">240<\/div>\n<div class=\"line number241 index240 alt2\">241<\/div>\n<div class=\"line number242 index241 alt1\">242<\/div>\n<div class=\"line number243 index242 alt2\">243<\/div>\n<div class=\"line number244 index243 alt1\">244<\/div>\n<div class=\"line number245 index244 alt2\">245<\/div>\n<div class=\"line number246 index245 alt1\">246<\/div>\n<div class=\"line number247 index246 alt2\">247<\/div>\n<div class=\"line number248 index247 alt1\">248<\/div>\n<div class=\"line number249 index248 alt2\">249<\/div>\n<div class=\"line number250 index249 alt1\">250<\/div>\n<div class=\"line number251 index250 alt2\">251<\/div>\n<div class=\"line number252 index251 alt1\">252<\/div>\n<div class=\"line number253 index252 alt2\">253<\/div>\n<div class=\"line number254 index253 alt1\">254<\/div>\n<div class=\"line number255 index254 alt2\">255<\/div>\n<div class=\"line number256 index255 alt1\">256<\/div>\n<div class=\"line number257 index256 alt2\">257<\/div>\n<div class=\"line number258 index257 alt1\">258<\/div>\n<div class=\"line number259 index258 alt2\">259<\/div>\n<div class=\"line number260 index259 alt1\">260<\/div>\n<div class=\"line number261 index260 alt2\">261<\/div>\n<div class=\"line number262 index261 alt1\">262<\/div>\n<div class=\"line number263 index262 alt2\">263<\/div>\n<div class=\"line number264 index263 alt1\">264<\/div>\n<div class=\"line number265 index264 alt2\">265<\/div>\n<div class=\"line number266 index265 alt1\">266<\/div>\n<div class=\"line number267 index266 alt2\">267<\/div>\n<div class=\"line number268 index267 alt1\">268<\/div>\n<div class=\"line number269 index268 alt2\">269<\/div>\n<div class=\"line number270 index269 alt1\">270<\/div>\n<div class=\"line number271 index270 alt2\">271<\/div>\n<div class=\"line number272 index271 alt1\">272<\/div>\n<div class=\"line number273 index272 alt2\">273<\/div>\n<div class=\"line number274 index273 alt1\">274<\/div>\n<div class=\"line number275 index274 alt2\">275<\/div>\n<div class=\"line number276 index275 alt1\">276<\/div>\n<div class=\"line number277 index276 alt2\">277<\/div>\n<div class=\"line number278 index277 alt1\">278<\/div>\n<div class=\"line number279 index278 alt2\">279<\/div>\n<div class=\"line number280 index279 alt1\">280<\/div>\n<div class=\"line number281 index280 alt2\">281<\/div>\n<div class=\"line number282 index281 alt1\">282<\/div>\n<div class=\"line number283 index282 alt2\">283<\/div>\n<div class=\"line number284 index283 alt1\">284<\/div>\n<div class=\"line number285 index284 alt2\">285<\/div>\n<div class=\"line number286 index285 alt1\">286<\/div>\n<div class=\"line number287 index286 alt2\">287<\/div>\n<div class=\"line number288 index287 alt1\">288<\/div>\n<div class=\"line number289 index288 alt2\">289<\/div>\n<div class=\"line number290 index289 alt1\">290<\/div>\n<div class=\"line number291 index290 alt2\">291<\/div>\n<div class=\"line number292 index291 alt1\">292<\/div>\n<div class=\"line number293 index292 alt2\">293<\/div>\n<div class=\"line number294 index293 alt1\">294<\/div>\n<div class=\"line number295 index294 alt2\">295<\/div>\n<div class=\"line number296 index295 alt1\">296<\/div>\n<div class=\"line number297 index296 alt2\">297<\/div>\n<div class=\"line number298 index297 alt1\">298<\/div>\n<div class=\"line number299 index298 alt2\">299<\/div>\n<div class=\"line number300 index299 alt1\">300<\/div>\n<div class=\"line number301 index300 alt2\">301<\/div>\n<div class=\"line number302 index301 alt1\">302<\/div>\n<div class=\"line number303 index302 alt2\">303<\/div>\n<div class=\"line number304 index303 alt1\">304<\/div>\n<div class=\"line number305 index304 alt2\">305<\/div>\n<div class=\"line number306 index305 alt1\">306<\/div>\n<div class=\"line number307 index306 alt2\">307<\/div>\n<div class=\"line number308 index307 alt1\">308<\/div>\n<div class=\"line number309 index308 alt2\">309<\/div>\n<div class=\"line number310 index309 alt1\">310<\/div>\n<div class=\"line number311 index310 alt2\">311<\/div>\n<div class=\"line number312 index311 alt1\">312<\/div>\n<div class=\"line number313 index312 alt2\">313<\/div>\n<div class=\"line number314 index313 alt1\">314<\/div>\n<div class=\"line number315 index314 alt2\">315<\/div>\n<div class=\"line number316 index315 alt1\">316<\/div>\n<div class=\"line number317 index316 alt2\">317<\/div>\n<div class=\"line number318 index317 alt1\">318<\/div>\n<div class=\"line number319 index318 alt2\">319<\/div>\n<div class=\"line number320 index319 alt1\">320<\/div>\n<div class=\"line number321 index320 alt2\">321<\/div>\n<div class=\"line number322 index321 alt1\">322<\/div>\n<div class=\"line number323 index322 alt2\">323<\/div>\n<div class=\"line number324 index323 alt1\">324<\/div>\n<div class=\"line number325 index324 alt2\">325<\/div>\n<div class=\"line number326 index325 alt1\">326<\/div>\n<div class=\"line number327 index326 alt2\">327<\/div>\n<div class=\"line number328 index327 alt1\">328<\/div>\n<div class=\"line number329 index328 alt2\">329<\/div>\n<div class=\"line number330 index329 alt1\">330<\/div>\n<div class=\"line number331 index330 alt2\">331<\/div>\n<div class=\"line number332 index331 alt1\">332<\/div>\n<div class=\"line number333 index332 alt2\">333<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">\u5176\u4e2dlimit_req_conn\u6a21\u5757\u53ef\u4ee5\u6839\u636e\u6e90IP\u9650\u5236\u5355\u7528\u6237\u5e76\u53d1\u8bbf\u95ee\u7684\u8fde\u63a5\u6570\u6216\u8fde\u63a5\u5230\u8be5\u670d\u52a1\u7684\u603b\u5e76\u53d1\u8fde\u63a5\u6570<\/code><\/div>\n<div class=\"line number2 index1 alt1\">\u00a0<\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash plain\">\u4ec0\u4e48\u662f\u6f0f\u6876\u7b97\u6cd5\uff1f<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash plain\">\u6211\u4eec\u5047\u8bbe\u7cfb\u7edf\u662f\u4e00\u4e2a\u6f0f\u6876\uff0c\u5f53\u8bf7\u6c42\u5230\u8fbe\u65f6\uff0c\u5c31\u662f\u5f80\u6f0f\u6876\u91cc<\/code><code class=\"bash string\">\"\u52a0\u6c34\"<\/code><code class=\"bash plain\">\uff0c\u800c\u5f53\u8bf7\u6c42\u88ab\u5904\u7406\u6389\uff0c\u5c31\u662f\u6c34\u4ece\u6f0f\u6876\u7684\u5e95\u90e8\u6f0f\u51fa\u3002\u6c34\u6f0f\u51fa\u7684\u901f\u5ea6\u662f\u56fa\u5b9a\u7684\uff0c\u5f53<\/code><code class=\"bash string\">\"\u52a0\u6c34\"<\/code><code class=\"bash plain\">\u592a\u5feb\uff0c<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash plain\">\u6876\u5c31\u4f1a\u6ea2\u51fa\uff0c\u4e5f\u5c31\u662f<\/code><code class=\"bash string\">\"\u62d2\u7edd\u8bf7\u6c42\"<\/code><code class=\"bash plain\">\u3002\u4ece\u800c\u4f7f\u5f97\u6876\u91cc\u7684\u6c34\u7684\u4f53\u79ef\u4e0d\u53ef\u80fd\u8d85\u51fa\u6876\u7684\u5bb9\u91cf\u3002\u200b\u4e3b\u8981\u76ee\u7684\u662f\u63a7\u5236\u6570\u636e\u6ce8\u5165\u5230\u7f51\u7edc\u7684\u901f\u7387\uff0c\u5e73\u6ed1\u7f51\u7edc\u4e0a\u7684\u7a81\u53d1\u6d41\u91cf\u3002\u6f0f\u6876\u7b97<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash plain\">\u6cd5\u63d0\u4f9b\u4e86\u4e00\u79cd\u673a\u5236\uff0c\u901a\u8fc7\u5b83\uff0c\u7a81\u53d1\u6d41\u91cf\u53ef\u4ee5\u88ab\u6574\u5f62\u4ee5\u4fbf\u4e3a\u7f51\u7edc\u63d0\u4f9b\u4e00\u4e2a\u7a33\u5b9a\u7684\u6d41\u91cf\u3002<\/code><\/div>\n<div class=\"line number7 index6 alt2\">\u00a0<\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash plain\">\u793a\u4f8b\u4e00\uff1a<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"bash plain\">http {<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"bash plain\">limit_conn_log_level error;<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash plain\">limit_conn_status 503;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash plain\">limit_conn_zone $binary_remote_addr zone=one:10m;<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"bash plain\">limit_conn_zone $server_name zone=perserver:10m;<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"bash plain\">limit_req_zone $binary_remote_addr zone=allips:100m\u00a0\u00a0 rate=10r<\/code><code class=\"bash plain\">\/s<\/code><code class=\"bash plain\">;\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u5176\u4e2d$binary_remote_addr\u6709\u65f6\u9700\u8981\u6839\u636e\u81ea\u5df1\u5df2\u6709\u7684log_format\u53d8\u91cf\u914d\u7f6e\u8fdb\u884c\u66ff\u6362<\/code><\/div>\n<div class=\"line number15 index14 alt2\">\u00a0<\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"bash plain\">........<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"bash plain\">limit_conn\u00a0 one\u00a0 100;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"bash plain\">limit_conn perserver 1000;<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"bash plain\">limit_req\u00a0\u00a0 zone=allips\u00a0 burst=5\u00a0 nodelay;<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"bash plain\">.......<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number24 index23 alt1\">\u00a0<\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"bash plain\">\u53c2\u6570\u89e3\u91ca\uff1a<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"bash plain\">Zone=one\u6216allips \u8868\u793a\u8bbe\u7f6e\u4e86\u540d\u4e3a<\/code><code class=\"bash string\">\"one\"<\/code><code class=\"bash plain\">\u6216<\/code><code class=\"bash string\">\"allips\"<\/code><code class=\"bash plain\">\u7684\u5b58\u50a8\u533a\uff0c\u5927\u5c0f\u4e3a10\u5146\u5b57\u8282<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"bash plain\">rate=10r<\/code><code class=\"bash plain\">\/s<\/code>\u00a0<code class=\"bash plain\">\u610f\u601d\u662f\u5141\u8bb81\u79d2\u949f\u4e0d\u8d85\u8fc710\u4e2a\u8bf7\u6c42<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"bash plain\">burst=5 \u8868\u793a\u6700\u5927\u5ef6\u8fdf\u8bf7\u6c42\u6570\u91cf\u4e0d\u5927\u4e8e5\u3002\u00a0 \u5982\u679c\u592a\u8fc7\u591a\u7684\u8bf7\u6c42\u88ab\u9650\u5236\u5ef6\u8fdf\u662f\u4e0d\u9700\u8981\u7684 \uff0c\u8fd9\u65f6\u9700\u8981\u4f7f\u7528nodelay\u53c2\u6570\uff0c\u670d\u52a1\u5668\u4f1a\u7acb\u523b\u8fd4\u56de503\u72b6\u6001\u7801\u3002<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"bash plain\">limit_conn\u00a0 one\u00a0 100\u8868\u793a\u6700\u5927\u5e76\u53d1\u8fde\u63a5\u6570100<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"bash plain\">limit_conn perserver 1000\u8868\u793a\u8be5\u670d\u52a1\u63d0\u4f9b\u7684\u603b\u8fde\u63a5\u6570\u4e0d\u5f97\u8d85\u8fc71000,\u8d85\u8fc7\u8bf7\u6c42\u7684\u4f1a\u88ab\u62d2\u7edd<\/code><\/div>\n<div class=\"line number31 index30 alt2\">\u00a0<\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"bash plain\">\u793a\u4f8b\u4e8c\uff1a\u00a0\u00a0<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"bash plain\">http {<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"bash plain\">limit_req_zone $binary_remote_addr zone=one:100m\u00a0\u00a0 rate=10r<\/code><code class=\"bash plain\">\/m<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number35 index34 alt2\">\u00a0<\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"bash plain\">.......<\/code><\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"bash plain\">limit_req\u00a0\u00a0 zone=one\u00a0 burst=1\u00a0 nodelay;<\/code><\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"bash plain\">......<\/code><\/div>\n<div class=\"line number40 index39 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number41 index40 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number42 index41 alt1\">\u00a0<\/div>\n<div class=\"line number43 index42 alt2\"><code class=\"bash plain\">\u89e3\u91ca\uff1a<\/code><\/div>\n<div class=\"line number44 index43 alt1\"><code class=\"bash plain\">rate=10r<\/code><code class=\"bash plain\">\/m<\/code><\/div>\n<div class=\"line number45 index44 alt2\"><code class=\"bash plain\">\u610f\u601d\u662f\u5141\u8bb81\u79d2\u949f\u4e0d\u8d85\u8fc71\u4e2a\u8bf7\u6c42\uff0c\u6700\u5927\u5ef6\u8fdf\u8bf7\u6c42\u6570\u91cf\u4e0d\u5927\u4e8e5\u3002<\/code><\/div>\n<div class=\"line number46 index45 alt1\"><code class=\"bash plain\">\u5982\u679c\u8bf7\u6c42\u4e0d\u9700\u8981\u88ab\u5ef6\u8fdf\uff0c\u6dfb\u52a0nodelay\u53c2\u6570\uff0c\u670d\u52a1\u5668\u4f1a\u7acb\u523b\u8fd4\u56de503\u72b6\u6001\u7801\u3002\u5982\u679c\u6ca1\u6709\u8be5\u5b57\u6bb5\u4f1a\u9020\u6210\u5927\u91cf\u7684tcp\u8fde\u63a5\u8bf7\u6c42\u7b49\u5f85\u3002<\/code><\/div>\n<div class=\"line number47 index46 alt2\">\u00a0<\/div>\n<div class=\"line number48 index47 alt1\"><code class=\"bash plain\">http{<\/code><\/div>\n<div class=\"line number49 index48 alt2\"><code class=\"bash plain\">limit_zone one\u00a0 $binary_remote_addr\u00a0 10m;<\/code><\/div>\n<div class=\"line number50 index49 alt1\"><code class=\"bash plain\">server<\/code><\/div>\n<div class=\"line number51 index50 alt2\"><code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number52 index51 alt1\"><code class=\"bash plain\">......<\/code><\/div>\n<div class=\"line number53 index52 alt2\"><code class=\"bash plain\">limit_conn\u00a0 one\u00a0 1;<\/code><\/div>\n<div class=\"line number54 index53 alt1\"><code class=\"bash plain\">......<\/code><\/div>\n<div class=\"line number55 index54 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number56 index55 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number57 index56 alt2\">\u00a0<\/div>\n<div class=\"line number58 index57 alt1\"><code class=\"bash plain\">\u8fd9\u91cc\u7684 one \u662f\u58f0\u660e\u4e00\u4e2a limit_zone \u7684\u540d\u5b57\uff0c$binary_remote_addr\u662f\u66ff\u4ee3 $remore_addr \u7684\u53d8\u91cf\uff0c10m\u662f\u4f1a\u8bdd\u72b6\u6001\u50a8\u5b58\u7684\u7a7a\u95f4\u3002<\/code><\/div>\n<div class=\"line number59 index58 alt2\"><code class=\"bash plain\">limit_conn one 1 ,\u9650\u5236\u5ba2\u6237\u7aef\u5e76\u53d1\u8fde\u63a5\u6570\u91cf\u4e3a1\uff0callow only one connection per an IP address at a\u00a0<\/code><code class=\"bash functions\">time<\/code><code class=\"bash plain\">\uff08\u6bcf\u6b21\uff09\u3002<\/code><\/div>\n<div class=\"line number60 index59 alt1\">\u00a0<\/div>\n<div class=\"line number61 index60 alt2\"><code class=\"bash plain\">\u6309\u7167\u5b57\u9762\u7684\u7406\u89e3\uff0clit_req_zone\u7684\u529f\u80fd\u662f\u901a\u8fc7\u6f0f\u6876\u539f\u7406\u6765\u9650\u5236\u7528\u6237\u7684\u8fde\u63a5\u9891\u7387\uff0c(\u8fd9\u4e2a\u6a21\u5757\u5141\u8bb8\u4f60\u53bb\u9650\u5236\u5355\u4e2a\u5730\u5740\u6307\u5b9a\u4f1a\u8bdd\u6216\u7279\u6b8a\u9700\u8981\u7684\u8bf7\u6c42\u6570 )<\/code><\/div>\n<div class=\"line number62 index61 alt1\"><code class=\"bash plain\">\u800c limit_zone \u529f\u80fd\u662f\u9650\u5236\u4e00\u4e2a\u5ba2\u6237\u7aef\u7684\u5e76\u53d1\u8fde\u63a5\u6570\u3002(\u8fd9\u4e2a\u6a21\u5757\u53ef\u4ee5\u9650\u5236\u5355\u4e2a\u5730\u5740\u7684\u6307\u5b9a\u4f1a\u8bdd\u6216\u8005\u7279\u6b8a\u60c5\u51b5\u7684\u5e76\u53d1\u8fde\u63a5\u6570)<\/code><\/div>\n<div class=\"line number63 index62 alt2\"><code class=\"bash plain\">\u4e00\u4e2a\u662f\u9650\u5236\u5e76\u53d1\u8fde\u63a5\u4e00\u4e2a\u662f\u9650\u5236\u8fde\u63a5\u9891\u7387\uff0c\u8868\u9762\u4e0a\u4f3c\u4e4e\u770b\u4e0d\u51fa\u6765\u6709\u4ec0\u4e48\u533a\u522b\uff0c\u90a3\u5c31\u770b\u770b\u5b9e\u9645\u7684\u6548\u679c\u5427~~~<\/code><\/div>\n<div class=\"line number64 index63 alt1\"><code class=\"bash plain\">\u5728\u6211\u7684\u6d4b\u8bd5\u673a\u4e0a\u9762\u52a0\u4e0a\u8fd9\u4e24\u4e2a\u53c2\u6570\u4e0b\u9762\u662f\u6211\u7684\u90e8\u5206\u914d\u7f6e\u6587\u4ef6<\/code><\/div>\n<div class=\"line number65 index64 alt2\">\u00a0<\/div>\n<div class=\"line number66 index65 alt1\"><code class=\"bash plain\">http{<\/code><\/div>\n<div class=\"line number67 index66 alt2\"><code class=\"bash plain\">limit_zone one\u00a0 $binary_remote_addr\u00a0 10m;<\/code><\/div>\n<div class=\"line number68 index67 alt1\"><code class=\"bash comments\">#limit_req_zone\u00a0 $binary_remote_addr\u00a0 zone=req_one:10m rate=1r\/s;<\/code><\/div>\n<div class=\"line number69 index68 alt2\"><code class=\"bash plain\">server<\/code><\/div>\n<div class=\"line number70 index69 alt1\"><code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number71 index70 alt2\"><code class=\"bash plain\">......<\/code><\/div>\n<div class=\"line number72 index71 alt1\"><code class=\"bash plain\">limit_conn\u00a0\u00a0 one\u00a0 1;<\/code><\/div>\n<div class=\"line number73 index72 alt2\"><code class=\"bash comments\">#limit_req\u00a0\u00a0 zone=req_one\u00a0 burst=120;<\/code><\/div>\n<div class=\"line number74 index73 alt1\"><code class=\"bash plain\">......<\/code><\/div>\n<div class=\"line number75 index74 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number76 index75 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number77 index76 alt2\">\u00a0<\/div>\n<div class=\"line number78 index77 alt1\"><code class=\"bash plain\">\u89e3\u91ca\u4e00\u4e0b limit_zone one\u00a0 $binary_remote_addr\u00a0 10m;<\/code><\/div>\n<div class=\"line number79 index78 alt2\"><code class=\"bash plain\">\u8fd9\u91cc\u7684 one \u662f\u58f0\u660e\u4e00\u4e2a limit_zone \u7684\u540d\u5b57\uff0c$binary_remote_addr\u662f\u66ff\u4ee3 $remore_addr \u7684\u53d8\u91cf\uff0c10m\u662f\u4f1a\u8bdd\u72b6\u6001\u50a8\u5b58\u7684\u7a7a\u95f4<\/code><\/div>\n<div class=\"line number80 index79 alt1\"><code class=\"bash plain\">limit_conn one 1 ,\u9650\u5236\u5ba2\u6237\u7aef\u5e76\u53d1\u8fde\u63a5\u6570\u91cf\u4e3a1<\/code><\/div>\n<div class=\"line number81 index80 alt2\">\u00a0<\/div>\n<div class=\"line number82 index81 alt1\"><code class=\"bash plain\">============================================================================<\/code><\/div>\n<div class=\"line number83 index82 alt2\"><code class=\"bash plain\">limit_zone\u4e24\u79cd\u5de5\u4f5c\u60c5\u51b5<\/code><\/div>\n<div class=\"line number84 index83 alt1\">\u00a0<\/div>\n<div class=\"line number85 index84 alt2\"><code class=\"bash plain\">a)limit_reqzone=one burst=10 \uff1b<\/code><\/div>\n<div class=\"line number86 index85 alt1\"><code class=\"bash plain\">\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u662f\u8fd9\u6837\u914d\u7f6e\u7684\uff0c\u8fd9\u6837\u6bcf\u4e2a\u8bf7\u6c42\u5c31\u4f1a\u6709\u4e00\u4e2adelay\u65f6\u95f4\uff0c<\/code><\/div>\n<div class=\"line number87 index86 alt2\"><code class=\"bash plain\">limit_req_zone$binary_remote_addr zone=one:100m rate=10r<\/code><code class=\"bash plain\">\/m<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number88 index87 alt1\"><code class=\"bash plain\">\u5c31\u662f\u6bcf\u5206\u949f\u670910\u4e2a\u4ee4\u724c\u4f9b\u7528\u6237\u4f7f\u7528\uff0c\u6309\u7167a\u7684\u914d\u7f6e\u60c5\u51b5\uff0c\u5c31\u4f1a\u6709\u4e00\u4e2adelay\uff0c\u6bcf\u4e2a\u8bf7\u6c42\u65f6\u95f4\u5c31\u662f60<\/code><code class=\"bash plain\">\/10<\/code><code class=\"bash plain\">,\u90a3\u6bcf\u4e2a\u8bf7\u6c42\u65f6\u95f4\u5c31\u662f6s\u3002<\/code><\/div>\n<div class=\"line number89 index88 alt2\">\u00a0<\/div>\n<div class=\"line number90 index89 alt1\"><code class=\"bash plain\">b)limit_reqzone=one burst=10 nodelay\uff1b<\/code><\/div>\n<div class=\"line number91 index90 alt2\"><code class=\"bash plain\">- \u6dfb\u52a0nodelay\u914d\u7f6e\uff0c\u8fd9\u6837\u5c31\u662f\u6839\u636e\u4f60\u7684\u7f51\u7edc\u72b6\u51b5\u8bbf\u95ee\uff0c\u4e00\u5206\u949f\u8bbf\u95ee\u591f10\u6b21\u540e\uff0c\u670d\u52a1\u5668\u76f4\u63a5\u8fd4\u56de503\u3002<\/code><\/div>\n<div class=\"line number92 index91 alt1\"><code class=\"bash plain\">- limit_req_zone$binary_remote_addr zone=one:100m rate=10r<\/code><code class=\"bash plain\">\/m<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number93 index92 alt2\"><code class=\"bash plain\">\u5c31\u662f\u6bcf\u5206\u949f\u670910\u4e2a\u4ee4\u724c\u4f9b\u7528\u6237\u4f7f\u7528\uff0c\u6309\u7167b\u7684\u914d\u7f6e\u60c5\u51b5\uff0c\u5c31\u4f1a\u6839\u636e\u7f51\u7edc\u60c5\u51b5\u8bbf\u95eeurl\uff0c\u5982\u679c\u4e00\u5206\u949f\u8d85\u8fc710\u4e2a\u4ee4\u724c\uff0c\u670d\u52a1\u5668\u8fd4\u56de503\uff0c<\/code><\/div>\n<div class=\"line number94 index93 alt1\"><code class=\"bash plain\">\u7b49\u5f85\u4e0b\u4e00\u4e2a\u4e00\u5206\u949f\u9886\u53d6\u8bbf\u95ee\u4ee4\u724c\u3002<\/code><\/div>\n<div class=\"line number95 index94 alt2\">\u00a0<\/div>\n<div class=\"line number96 index95 alt1\"><code class=\"bash plain\">rate=10r<\/code><code class=\"bash plain\">\/m<\/code>\u00a0<code class=\"bash plain\">\u7684\u610f\u601d\u662f\u6bcf\u4e2a\u5730\u5740\u6bcf\u5206\u949f\u53ea\u80fd\u8bf7\u6c4210\u6b21\uff0c\u4e5f\u5c31\u662f\u8bf4\u6839\u636e\u6f0f\u6876\u539f\u7406burst=1 \u4e00\u5171\u67091\u5757\u4ee4\u724c\uff0c\u5e76\u4e14\u6bcf\u5206\u949f\u53ea\u65b0\u589e10\u5757<\/code><\/div>\n<div class=\"line number97 index96 alt2\"><code class=\"bash plain\">\u4ee4\u724c\uff0c1\u5757\u4ee4\u724c\u53d1\u5b8c\u540e\u591a\u51fa\u6765\u7684\u90a3\u4e9b\u8bf7\u6c42\u5c31\u4f1a\u8fd4\u56de503\u3002<\/code><\/div>\n<div class=\"line number98 index97 alt1\">\u00a0<\/div>\n<div class=\"line number99 index98 alt2\"><code class=\"bash plain\">\u52a0\u4e0anodelay\u4e4b\u540e\u8d85\u8fc7 burst\u5927\u5c0f\u7684\u8bf7\u6c42\u5c31\u4f1a\u76f4\u63a5\u8fd4\u56de503\uff0c\u5982\u679c\u6ca1\u6709\u8be5\u5b57\u6bb5\u4f1a\u9020\u6210\u5927\u91cf\u7684tcp\u8fde\u63a5\u8bf7\u6c42\u7b49\u5f85\u3002<\/code><\/div>\n<div class=\"line number100 index99 alt1\">\u00a0<\/div>\n<div class=\"line number101 index100 alt2\"><code class=\"bash plain\">\u4f8b\u5982\uff1a<\/code><\/div>\n<div class=\"line number102 index101 alt1\"><code class=\"bash plain\">http{<\/code><\/div>\n<div class=\"line number103 index102 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">...<\/code><\/div>\n<div class=\"line number104 index103 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u5b9a\u4e49\u4e00\u4e2a\u540d\u4e3aallips\u7684limit_req_zone\u7528\u6765\u5b58\u50a8session\uff0c\u5927\u5c0f\u662f10M\u5185\u5b58\uff0c<\/code><\/div>\n<div class=\"line number105 index104 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u4ee5$binary_remote_addr \u4e3akey,\u9650\u5236\u5e73\u5747\u6bcf\u79d2\u7684\u8bf7\u6c42\u4e3a20\u4e2a\uff0c<\/code><\/div>\n<div class=\"line number106 index105 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#1M\u80fd\u5b58\u50a816000\u4e2a\u72b6\u6001\uff0crete\u7684\u503c\u5fc5\u987b\u4e3a\u6574\u6570\uff0c<\/code><\/div>\n<div class=\"line number107 index106 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u5982\u679c\u9650\u5236\u4e24\u79d2\u949f\u4e00\u4e2a\u8bf7\u6c42\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u621030r\/m<\/code><\/div>\n<div class=\"line number108 index107 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">limit_req_zone $binary_remote_addr zone=allips:10m rate=20r<\/code><code class=\"bash plain\">\/s<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number109 index108 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">...<\/code><\/div>\n<div class=\"line number110 index109 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server{<\/code><\/div>\n<div class=\"line number111 index110 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">...<\/code><\/div>\n<div class=\"line number112 index111 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">location {<\/code><\/div>\n<div class=\"line number113 index112 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">...<\/code><\/div>\n<div class=\"line number114 index113 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u9650\u5236\u6bcfip\u6bcf\u79d2\u4e0d\u8d85\u8fc720\u4e2a\u8bf7\u6c42\uff0c\u6f0f\u6876\u6570burst\u4e3a5<\/code><\/div>\n<div class=\"line number115 index114 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#brust\u7684\u610f\u601d\u5c31\u662f\uff0c\u5982\u679c\u7b2c1\u79d2\u30012,3,4\u79d2\u8bf7\u6c42\u4e3a19\u4e2a\uff0c<\/code><\/div>\n<div class=\"line number116 index115 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u7b2c5\u79d2\u7684\u8bf7\u6c42\u4e3a25\u4e2a\u662f\u88ab\u5141\u8bb8\u7684\u3002<\/code><\/div>\n<div class=\"line number117 index116 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u4f46\u662f\u5982\u679c\u4f60\u7b2c1\u79d2\u5c3125\u4e2a\u8bf7\u6c42\uff0c\u7b2c2\u79d2\u8d85\u8fc720\u7684\u8bf7\u6c42\u8fd4\u56de503\u9519\u8bef\u3002<\/code><\/div>\n<div class=\"line number118 index117 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#nodelay\uff0c\u5982\u679c\u4e0d\u8bbe\u7f6e\u8be5\u9009\u9879\uff0c\u4e25\u683c\u4f7f\u7528\u5e73\u5747\u901f\u7387\u9650\u5236\u8bf7\u6c42\u6570\uff0c<\/code><\/div>\n<div class=\"line number119 index118 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u7b2c1\u79d225\u4e2a\u8bf7\u6c42\u65f6\uff0c5\u4e2a\u8bf7\u6c42\u653e\u5230\u7b2c2\u79d2\u6267\u884c\uff0c<\/code><\/div>\n<div class=\"line number120 index119 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u8bbe\u7f6enodelay\uff0c25\u4e2a\u8bf7\u6c42\u5c06\u5728\u7b2c1\u79d2\u6267\u884c\u3002<\/code><\/div>\n<div class=\"line number121 index120 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">limit_req zone=allips burst=5 nodelay;<\/code><\/div>\n<div class=\"line number122 index121 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">...<\/code><\/div>\n<div class=\"line number123 index122 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number124 index123 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">...<\/code><\/div>\n<div class=\"line number125 index124 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number126 index125 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">...<\/code><\/div>\n<div class=\"line number127 index126 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number128 index127 alt1\">\u00a0<\/div>\n<div class=\"line number129 index128 alt2\"><code class=\"bash plain\">\u9650\u5236\u4e0b\u8f7d\u901f\u5ea6\uff1a<\/code><\/div>\n<div class=\"line number130 index129 alt1\"><code class=\"bash plain\">location\u00a0<\/code><code class=\"bash plain\">\/download<\/code>\u00a0<code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number131 index130 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">limit_rate 128k;<\/code><\/div>\n<div class=\"line number132 index131 alt1\"><code class=\"bash spaces\">\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number133 index132 alt2\">\u00a0<\/div>\n<div class=\"line number134 index133 alt1\"><code class=\"bash comments\">#\u5982\u679c\u60f3\u8bbe\u7f6e\u7528\u6237\u4e0b\u8f7d\u6587\u4ef6\u7684\u524d10m\u5927\u5c0f\u65f6\u4e0d\u9650\u901f\uff0c\u5927\u4e8e10m\u540e\u518d\u4ee5128kb\/s\u9650\u901f\u53ef\u4ee5\u589e\u52a0\u4ee5\u4e0b\u914d\u5185\u5bb9\uff0c\u4fee\u6539nginx.conf\u6587\u4ef6<\/code><\/div>\n<div class=\"line number135 index134 alt2\"><code class=\"bash plain\">location\u00a0<\/code><code class=\"bash plain\">\/download<\/code>\u00a0<code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number136 index135 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">limit_rate_after 10m;<\/code><\/div>\n<div class=\"line number137 index136 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">limit_rate 128k;<\/code><\/div>\n<div class=\"line number138 index137 alt1\"><code class=\"bash spaces\">\u00a0<\/code><code class=\"bash plain\">}\u00a0<\/code><\/div>\n<div class=\"line number139 index138 alt2\">\u00a0<\/div>\n<div class=\"line number140 index139 alt1\"><code class=\"bash plain\">====================================================================<\/code><\/div>\n<div class=\"line number141 index140 alt2\"><code class=\"bash plain\">nginx\u6d41\u91cf\u9650\u5236\u7684\u4f7f\u7528\u573a\u666f<\/code><\/div>\n<div class=\"line number142 index141 alt1\"><code class=\"bash plain\">\u5927\u5bb6\u90fd\u77e5\u9053\u670d\u52a1\u5668\u8d44\u6e90\u6709\u9650\u7684\uff0c\u4f46\u662f\u5ba2\u6237\u7aef\u6765\u7684\u8bf7\u6c42\u662f\u65e0\u9650\u7684(\u4e0d\u6392\u9664\u6076\u610f\u653b\u51fb)\uff0c \u4e3a\u4e86\u4fdd\u8bc1\u5927\u90e8\u5206\u7684\u8bf7\u6c42\u80fd\u591f\u6b63\u5e38\u54cd\u5e94\uff0c\u4e0d\u5f97\u4e0d\u653e\u5f03\u4e00\u4e9b\u5ba2\u6237\u7aef\u6765\u7684\u8bf7\u6c42\uff0c<\/code><\/div>\n<div class=\"line number143 index142 alt2\"><code class=\"bash plain\">\u6240\u4ee5\u6211\u4eec\u4f1a\u91c7\u7528Nginx\u7684\u9650\u6d41\u64cd\u4f5c\uff0c \u8fd9\u79cd\u64cd\u4f5c\u53ef\u4ee5\u5f88\u5927\u7a0b\u5ea6\u4e0a\u7f13\u89e3\u670d\u52a1\u5668\u7684\u538b\u529b\uff0c \u4f7f\u5176\u4ed6\u6b63\u5e38\u7684\u8bf7\u6c42\u80fd\u591f\u5f97\u5230\u6b63\u5e38\u54cd\u5e94\u3002<\/code><\/div>\n<div class=\"line number144 index143 alt1\"><code class=\"bash plain\">\u5982\u4f55\u4f7f\u7528Nginx\u5b9e\u73b0\u57fa\u672c\u7684\u9650\u6d41\uff0c\u6bd4\u5982\u5355\u4e2aIP\u9650\u5236\u6bcf\u79d2\u8bbf\u95ee50\u6b21\u3002\u901a\u8fc7Nginx\u9650\u6d41\u6a21\u5757\uff0c\u6211\u4eec\u53ef\u4ee5\u8bbe\u7f6e\u4e00\u65e6\u5e76\u53d1\u8fde\u63a5\u6570\u8d85\u8fc7\u6211\u4eec\u7684\u8bbe\u7f6e\uff0c\u5c06\u8fd4\u56de503\u9519\u8bef\u7ed9\u5ba2\u6237\u7aef\u3002<\/code><\/div>\n<div class=\"line number145 index144 alt2\"><code class=\"bash plain\">\u8fd9\u6837\u53ef\u4ee5\u975e\u5e38\u6709\u6548\u7684\u9632\u6b62CC\u653b\u51fb\u3002\u518d\u914d\u5408 iptables\u9632\u706b\u5899\uff0c\u57fa\u672c\u4e0aCC\u653b\u51fb\u5c31\u53ef\u4ee5\u65e0\u89c6\u4e86\u3002<\/code><\/div>\n<div class=\"line number146 index145 alt1\">\u00a0<\/div>\n<div class=\"line number147 index146 alt2\"><code class=\"bash plain\">\u914d\u7f6e\u5b9e\u4f8b\uff1a<\/code><\/div>\n<div class=\"line number148 index147 alt1\"><code class=\"bash comments\">#\u7edf\u4e00\u5728http\u57df\u4e2d\u8fdb\u884c\u914d\u7f6e<\/code><\/div>\n<div class=\"line number149 index148 alt2\"><code class=\"bash comments\">#\u9650\u5236\u8bf7\u6c42<\/code><\/div>\n<div class=\"line number150 index149 alt1\"><code class=\"bash plain\">limit_req_zone $binary_remote_addr $uri zone=api_read:20m rate=50r<\/code><code class=\"bash plain\">\/s<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number151 index150 alt2\"><code class=\"bash comments\">#\u6309ip\u914d\u7f6e\u4e00\u4e2a\u8fde\u63a5 zone<\/code><\/div>\n<div class=\"line number152 index151 alt1\"><code class=\"bash plain\">limit_conn_zone $binary_remote_addr zone=perip_conn:10m;<\/code><\/div>\n<div class=\"line number153 index152 alt2\"><code class=\"bash comments\">#\u6309server\u914d\u7f6e\u4e00\u4e2a\u8fde\u63a5 zone<\/code><\/div>\n<div class=\"line number154 index153 alt1\"><code class=\"bash plain\">limit_conn_zone $server_name zone=perserver_conn:100m;<\/code><\/div>\n<div class=\"line number155 index154 alt2\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number156 index155 alt1\"><code class=\"bash spaces\">\u00a0\u00a0<\/code><code class=\"bash plain\">listen\u00a0 80;<\/code><\/div>\n<div class=\"line number157 index156 alt2\"><code class=\"bash spaces\">\u00a0\u00a0<\/code><code class=\"bash plain\">server_name report.52itstyle.com;<\/code><\/div>\n<div class=\"line number158 index157 alt1\"><code class=\"bash spaces\">\u00a0\u00a0<\/code><code class=\"bash plain\">index login.jsp;<\/code><\/div>\n<div class=\"line number159 index158 alt2\"><code class=\"bash spaces\">\u00a0\u00a0<\/code><code class=\"bash plain\">location \/ {<\/code><\/div>\n<div class=\"line number160 index159 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u8bf7\u6c42\u9650\u6d41\u6392\u961f\u901a\u8fc7 burst\u9ed8\u8ba4\u662f0<\/code><\/div>\n<div class=\"line number161 index160 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">limit_req zone=api_read burst=5;<\/code><\/div>\n<div class=\"line number162 index161 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u8fde\u63a5\u6570\u9650\u5236,\u6bcf\u4e2aIP\u5e76\u53d1\u8bf7\u6c42\u4e3a2<\/code><\/div>\n<div class=\"line number163 index162 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">limit_conn perip_conn 2;<\/code><\/div>\n<div class=\"line number164 index163 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u670d\u52a1\u6240\u9650\u5236\u7684\u8fde\u63a5\u6570(\u5373\u9650\u5236\u4e86\u8be5server\u5e76\u53d1\u8fde\u63a5\u6570\u91cf)<\/code><\/div>\n<div class=\"line number165 index164 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">limit_conn perserver_conn 1000;<\/code><\/div>\n<div class=\"line number166 index165 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u8fde\u63a5\u9650\u901f<\/code><\/div>\n<div class=\"line number167 index166 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">limit_rate 100k;<\/code><\/div>\n<div class=\"line number168 index167 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">proxy_pass\u00a0 http:<\/code><code class=\"bash plain\">\/\/report<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number169 index168 alt2\"><code class=\"bash spaces\">\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number170 index169 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number171 index170 alt2\"><code class=\"bash plain\">upstream report {<\/code><\/div>\n<div class=\"line number172 index171 alt1\"><code class=\"bash spaces\">\u00a0\u00a0<\/code><code class=\"bash plain\">fair;<\/code><\/div>\n<div class=\"line number173 index172 alt2\"><code class=\"bash spaces\">\u00a0\u00a0<\/code><code class=\"bash plain\">server 192.168.10.12:8882 weight=1 max_fails=2 fail_timeout=30s;<\/code><\/div>\n<div class=\"line number174 index173 alt1\"><code class=\"bash spaces\">\u00a0\u00a0<\/code><code class=\"bash plain\">server 192.168.10.12:8881 weight=1 max_fails=2 fail_timeout=30s;<\/code><\/div>\n<div class=\"line number175 index174 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number176 index175 alt1\">\u00a0<\/div>\n<div class=\"line number177 index176 alt2\"><code class=\"bash plain\">\u914d\u7f6e503\u9519\u8bef<\/code><\/div>\n<div class=\"line number178 index177 alt1\"><code class=\"bash plain\">\u9ed8\u8ba4\u60c5\u51b5\uff0c\u8d85\u51fa\u9650\u5236\u989d\u5ea6\uff0c\u5c06\u4f1a\u62a5503\u9519\u8bef\uff0c\u63d0\u793a\uff1a<\/code><\/div>\n<div class=\"line number179 index178 alt2\"><code class=\"bash plain\">503 Service Temporarily Unavailable<\/code><\/div>\n<div class=\"line number180 index179 alt1\"><code class=\"bash plain\">The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. Sorry\u00a0<\/code><code class=\"bash keyword\">for<\/code>\u00a0<code class=\"bash plain\">the inconvenience.<\/code><\/div>\n<div class=\"line number181 index180 alt2\"><code class=\"bash plain\">Please report this message and include the following information to us.<\/code><\/div>\n<div class=\"line number182 index181 alt1\"><code class=\"bash plain\">Thank you very much!<\/code><\/div>\n<div class=\"line number183 index182 alt2\">\u00a0<\/div>\n<div class=\"line number184 index183 alt1\"><code class=\"bash plain\">\u8fd9\u6837\u663e\u793a\u6ca1\u6bdb\u75c5\uff0c\u4f46\u662f\u4e0d\u591f\u53cb\u597d\uff0c\u8fd9\u91cc\u6211\u4eec\u81ea\u5b9a\u4e49503\u9519\u8bef\u3002<\/code><\/div>\n<div class=\"line number185 index184 alt2\"><code class=\"bash plain\">error_page 500 502 503 504\u00a0<\/code><code class=\"bash plain\">\/50x<\/code><code class=\"bash plain\">.html;<\/code><\/div>\n<div class=\"line number186 index185 alt1\"><code class=\"bash plain\">location =\u00a0<\/code><code class=\"bash plain\">\/50x<\/code><code class=\"bash plain\">.html {<\/code><\/div>\n<div class=\"line number187 index186 alt2\"><code class=\"bash spaces\">\u00a0<\/code><code class=\"bash plain\">root html;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\">#\u81ea\u5b9a\u4e4950X\u9519\u8bef<\/code><\/div>\n<div class=\"line number188 index187 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number189 index188 alt2\">\u00a0<\/div>\n<div class=\"line number190 index189 alt1\"><code class=\"bash plain\">\u914d\u7f6e\u8bf4\u660e<\/code><\/div>\n<div class=\"line number191 index190 alt2\"><code class=\"bash plain\">limit_conn_zone<\/code><\/div>\n<div class=\"line number192 index191 alt1\"><code class=\"bash plain\">\u662f\u9488\u5bf9\u6bcf\u4e2aIP\u5b9a\u4e49\u4e00\u4e2a\u5b58\u50a8session\u72b6\u6001\u7684\u5bb9\u5668\u3002\u8fd9\u4e2a\u793a\u4f8b\u4e2d\u5b9a\u4e49\u4e86\u4e00\u4e2a100m\u7684\u5bb9\u5668\uff0c\u6309\u716732bytes<\/code><code class=\"bash plain\">\/session<\/code><code class=\"bash plain\">\uff0c\u53ef\u4ee5\u5904\u74063200000\u4e2asession\u3002<\/code><\/div>\n<div class=\"line number193 index192 alt2\">\u00a0<\/div>\n<div class=\"line number194 index193 alt1\"><code class=\"bash plain\">limit_rate 300k;<\/code><\/div>\n<div class=\"line number195 index194 alt2\"><code class=\"bash plain\">\u5bf9\u6bcf\u4e2a\u8fde\u63a5\u9650\u901f300k. \u6ce8\u610f\uff0c\u8fd9\u91cc\u662f\u5bf9\u8fde\u63a5\u9650\u901f\uff0c\u800c\u4e0d\u662f\u5bf9IP\u9650\u901f\u3002\u5982\u679c\u4e00\u4e2aIP\u5141\u8bb8\u4e24\u4e2a\u5e76\u53d1\u8fde\u63a5\uff0c\u90a3\u4e48\u8fd9\u4e2aIP\u5c31\u662f\u9650\u901flimit_rate\u00d72\u3002<\/code><\/div>\n<div class=\"line number196 index195 alt1\">\u00a0<\/div>\n<div class=\"line number197 index196 alt2\"><code class=\"bash plain\">burst=5\uff1b<\/code><\/div>\n<div class=\"line number198 index197 alt1\"><code class=\"bash plain\">\u8fd9\u76f8\u5f53\u4e8e\u5728\u68c0\u67e5\u7ad9req\u65c1\u8fb9\u653e5\u4e2a\u5ea7\u4f4d\u3002\u5982\u679c\u67d0\u4e2a\u8bf7\u6c42\u5f53\u65f6\u8d85\u8fc7\u901f\u5ea6\u9650\u5236\u88ab\u62e6\u4e86\uff0c\u8bf7\u4ed6\u5728\u7a7a\u5ea7\u4f4d\u4e0a\u5750\u7740\uff0c\u7b49\u6392\u961f\uff0c\u5982\u679c\u68c0\u67e5\u7ad9\u7a7a\u4e86\uff0c\u5c31\u53ef\u4ee5\u901a\u8fc7\u3002<\/code><\/div>\n<div class=\"line number199 index198 alt2\"><code class=\"bash plain\">\u5982\u679c\u8fde\u5ea7\u4f4d\u90fd\u5750\u6ee1\u4e86\uff0c\u90a3\u5c31\u62b1\u6b49\u4e86\uff0c\u8bf7\u6c42\u76f4\u63a5\u9000\u56de\uff0c\u5ba2\u6237\u7aef\u5f97\u5230\u4e00\u4e2a\u670d\u52a1\u5668\u5fd9\u7684\u54cd\u5e94\u3002\u6240\u4ee5\u8bf4burst\u8ddfrequest_rate\u4e00\u70b9\u5173\u7cfb\u90fd\u6ca1\u6709\uff0c\u8bbe\u621010000\uff0c<\/code><\/div>\n<div class=\"line number200 index199 alt1\"><code class=\"bash plain\">\u5c31\u662f1\u4e07\u4e2a\u8bf7\u6c42\u53ef\u4ee5\u7b49\u7740\u6392\u961f\uff0c\u800c\u68c0\u67e5\u7ad9\u8fd8\u662f1\u79d2\u949f\u653e\u884c5\u4e2a\u8bf7\u6c42\uff08\u9f9f\u901f\uff09\u3002\u800c\u4e14\u4e5f\u4e0d\u80fd\u4e00\u76f4\u6392\u961f\uff0c\u6240\u4ee5nginx\u8fd8\u8bbe\u4e86\u8d85\u65f6\uff0c\u6392\u961f\u8d85\u8fc7\u4e00\u5b9a\u65f6\u95f4\uff0c<\/code><\/div>\n<div class=\"line number201 index200 alt2\"><code class=\"bash plain\">\u4e5f\u662f\u76f4\u63a5\u9000\u56de\uff0c\u8fd4\u56de\u670d\u52a1\u5668\u5fd9\u7684\u54cd\u5e94\u3002<\/code><\/div>\n<div class=\"line number202 index201 alt1\">\u00a0<\/div>\n<div class=\"line number203 index202 alt2\"><code class=\"bash plain\">\u4ee5\u4e0a\u914d\u7f6eNginx\u9700\u8981\u914d\u7f6e\u4ee5\u4e0b\u6a21\u5757\uff1a<\/code><\/div>\n<div class=\"line number204 index203 alt1\"><code class=\"bash plain\">ngx_http_limit_conn_module (static)<\/code><\/div>\n<div class=\"line number205 index204 alt2\"><code class=\"bash plain\">ngx_http_limit_req_module (static)<\/code><\/div>\n<div class=\"line number206 index205 alt1\">\u00a0<\/div>\n<div class=\"line number207 index206 alt2\"><code class=\"bash plain\">\u6267\u884c\u547d\u4ee4<\/code><code class=\"bash string\">\"nginx -V\"<\/code><code class=\"bash plain\">\u5c31\u53ef\u4ee5\u68c0\u67e5\u5230\u662f\u5426\u6709\u5b89\u88c5\u3002<\/code><\/div>\n<div class=\"line number208 index207 alt1\">\u00a0<\/div>\n<div class=\"line number209 index208 alt2\"><code class=\"bash plain\">===================================================================<\/code><\/div>\n<div class=\"line number210 index209 alt1\"><code class=\"bash plain\">\u7535\u5546\u5e73\u53f0\u8425\u9500\u65f6\u5019\uff0c\u7ecf\u5e38\u4f1a\u78b0\u5230\u7684\u5927\u6d41\u91cf\u95ee\u9898\uff0c\u9664\u4e86\u505a\u6d41\u91cf\u5206\u6d41\u5904\u7406\uff0c\u53ef\u80fd\u8fd8\u8981\u505a\u7528\u6237\u9ed1\u767d\u540d\u5355\u3001\u4fe1\u8a89\u5206\u6790\uff0c\u8fdb\u800c\u6839\u636e\u7528\u6237ip\u4fe1\u8a89\u6743\u91cd\u505a\u76f8\u5e94\u7684\u6d41\u91cf\u62e6\u622a\u3001\u9650\u5236\u6d41\u91cf\u3002<\/code><\/div>\n<div class=\"line number211 index210 alt2\"><code class=\"bash plain\">Nginx\u81ea\u8eab\u6709\u7684\u8bf7\u6c42\u9650\u5236\u6a21\u5757ngx_http_limit_req_module\u3001\u6d41\u91cf\u9650\u5236\u6a21\u5757ngx_stream_limit_conn_module\u57fa\u4e8e\u4ee4\u724c\u6876\u7b97\u6cd5\uff0c\u53ef\u4ee5\u65b9\u4fbf\u7684\u63a7\u5236\u4ee4\u724c\u901f\u7387\uff0c\u81ea\u5b9a\u4e49<\/code><\/div>\n<div class=\"line number212 index211 alt1\"><code class=\"bash plain\">\u8c03\u8282\u9650\u6d41\uff0c\u5b9e\u73b0\u57fa\u672c\u7684\u9650\u6d41\u63a7\u5236\u3002<\/code><\/div>\n<div class=\"line number213 index212 alt2\">\u00a0<\/div>\n<div class=\"line number214 index213 alt1\"><code class=\"bash plain\">\u5bf9\u4e8e\u63d0\u4f9b\u4e0b\u8f7d\u7684\u7f51\u7ad9\uff0c\u80af\u5b9a\u662f\u8981\u8fdb\u884c\u6d41\u91cf\u63a7\u5236\u7684\uff0c\u4f8b\u5982\u8f6f\u4ef6\u4e0b\u8f7d\u7ad9\u3001\u89c6\u9891\u670d\u52a1\u7b49\u3002\u5b83\u4e5f\u53ef\u4ee5\u51cf\u5c11\u4e00\u4e9b\u722c\u866b\u7a0b\u5e8f\u6216\u8005DDOS\u7684\u653b\u51fb\u3002<\/code><\/div>\n<div class=\"line number215 index214 alt2\">\u00a0<\/div>\n<div class=\"line number216 index215 alt1\"><code class=\"bash plain\">limit_zone\u6307\u4ee4\u53ef\u4ee5\u7528limit_conn_zone\u66ff\u6362<\/code><\/div>\n<div class=\"line number217 index216 alt2\">\u00a0<\/div>\n<div class=\"line number218 index217 alt1\"><code class=\"bash plain\">\u5982\u4f55Nginx\u9650\u5236\u540c\u4e00\u4e2aip\u7684\u8fde\u63a5\u6570\uff0c\u9650\u5236\u5e76\u53d1\u6570\u76ee\uff1f<\/code><\/div>\n<div class=\"line number219 index218 alt2\">\u00a0<\/div>\n<div class=\"line number220 index219 alt1\"><code class=\"bash plain\">\u9650\u6d41<\/code><\/div>\n<div class=\"line number221 index220 alt2\"><code class=\"bash plain\">1) \u6dfb\u52a0limit_zone\u548climit_req_zone<\/code><\/div>\n<div class=\"line number222 index221 alt1\"><code class=\"bash plain\">\u8fd9\u4e2a\u53d8\u91cf\u53ea\u80fd\u5728http\u533a\u57df\u4f7f\u7528 :<\/code><\/div>\n<div class=\"line number223 index222 alt2\"><code class=\"bash plain\">http {<\/code><\/div>\n<div class=\"line number224 index223 alt1\"><code class=\"bash plain\">limit_zone one $binary_remote_addr 20m;<\/code><\/div>\n<div class=\"line number225 index224 alt2\"><code class=\"bash plain\">limit_req_zone $binary_remote_addr zone=req_one:20m rate=12r<\/code><code class=\"bash plain\">\/s<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number226 index225 alt1\"><code class=\"bash plain\">......<\/code><\/div>\n<div class=\"line number227 index226 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number228 index227 alt1\">\u00a0<\/div>\n<div class=\"line number229 index228 alt2\"><code class=\"bash plain\">2) \u6dfb\u52a0limit_conn \u548climit_req<\/code><\/div>\n<div class=\"line number230 index229 alt1\"><code class=\"bash plain\">\u8fd9\u4e2a\u53d8\u91cf\u53ef\u4ee5\u5728http, server, location\u4f7f\u7528\u3002\u5982\u679c\u9650\u5236nginx\u4e0a\u7684\u6240\u6709\u670d\u52a1\uff0c\u5c31\u6dfb\u52a0\u5230http\u91cc\u9762\uff1b\u5982\u679c\u9650\u5236\u90e8\u5206\u670d\u52a1\uff0c\u5c31\u6dfb\u52a0\u5230\u76f8\u5e94\u7684server\u6216\u8005location\u91cc\u3002<\/code><\/div>\n<div class=\"line number231 index230 alt2\"><code class=\"bash plain\">http {<\/code><\/div>\n<div class=\"line number232 index231 alt1\"><code class=\"bash plain\">limit_zone one $binary_remote_addr 20m;<\/code><\/div>\n<div class=\"line number233 index232 alt2\"><code class=\"bash plain\">limit_req_zone $binary_remote_addr zone=req_one:20m rate=12r<\/code><code class=\"bash plain\">\/s<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number234 index233 alt1\"><code class=\"bash plain\">limit_conn one 10;<\/code><\/div>\n<div class=\"line number235 index234 alt2\"><code class=\"bash plain\">limit_req zone=req_one burst=120;<\/code><\/div>\n<div class=\"line number236 index235 alt1\"><code class=\"bash plain\">......<\/code><\/div>\n<div class=\"line number237 index236 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number238 index237 alt1\">\u00a0<\/div>\n<div class=\"line number239 index238 alt2\"><code class=\"bash plain\">\u53c2\u6570\u8be6\u89e3(\u6570\u503c\u6309\u5177\u4f53\u9700\u8981\u548c\u670d\u52a1\u5668\u627f\u8f7d\u80fd\u529b\u8bbe\u7f6e):<\/code><\/div>\n<div class=\"line number240 index239 alt1\"><code class=\"bash plain\">limit_zone\uff0c\u662f\u9488\u5bf9\u6bcf\u4e2a\u53d8\u91cf(\u8fd9\u91cc\u6307IP\uff0c\u5373$binary_remote_addr)\u5b9a\u4e49\u4e00\u4e2a\u5b58\u50a8session\u72b6\u6001\u7684\u5bb9\u5668\u3002\u8fd9\u4e2a\u793a\u4f8b\u4e2d\u5b9a\u4e49\u4e86\u4e00\u4e2a20m\u7684\u5bb9\u5668\uff0c\u6309\u716732bytes<\/code><code class=\"bash plain\">\/session<\/code><code class=\"bash plain\">\uff0c\u53ef\u4ee5\u5904\u7406640000\u4e2asession\u3002<\/code><\/div>\n<div class=\"line number241 index240 alt2\"><code class=\"bash plain\">limit_req_zone \u4e0elimit_zone\u7c7b\u4f3c\u3002rate\u662f\u8bf7\u6c42\u9891\u7387. \u6bcf\u79d2\u5141\u8bb812\u4e2a\u8bf7\u6c42\u3002<\/code><\/div>\n<div class=\"line number242 index241 alt1\"><code class=\"bash plain\">limit_conn one 10 : \u8868\u793a\u4e00\u4e2aIP\u80fd\u53d1\u8d7710\u4e2a\u5e76\u53d1\u8fde\u63a5\u6570<\/code><\/div>\n<div class=\"line number243 index242 alt2\"><code class=\"bash plain\">limit_req: \u4e0elimit_req_zone\u5bf9\u5e94\u3002burst\u8868\u793a\u7f13\u5b58\u4f4f\u7684\u8bf7\u6c42\u6570\u3002<\/code><\/div>\n<div class=\"line number244 index243 alt1\">\u00a0<\/div>\n<div class=\"line number245 index244 alt2\"><code class=\"bash plain\">\u914d\u7f6e\u8303\u4f8b\uff1a<\/code><\/div>\n<div class=\"line number246 index245 alt1\"><code class=\"bash plain\">http<\/code><\/div>\n<div class=\"line number247 index246 alt2\"><code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number248 index247 alt1\"><code class=\"bash plain\">limit_zone one $binary_remote_addr 20m;<\/code><\/div>\n<div class=\"line number249 index248 alt2\"><code class=\"bash plain\">limit_req_zone $binary_remote_addr zone=req_one:20m rate=12r<\/code><code class=\"bash plain\">\/s<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number250 index249 alt1\"><code class=\"bash plain\">limit_conn one 10;<\/code><\/div>\n<div class=\"line number251 index250 alt2\"><code class=\"bash plain\">limit_req zone=req_one burst=120;<\/code><\/div>\n<div class=\"line number252 index251 alt1\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number253 index252 alt2\"><code class=\"bash plain\">listen 80;<\/code><\/div>\n<div class=\"line number254 index253 alt1\"><code class=\"bash plain\">server_name status.<\/code><code class=\"bash functions\">test<\/code><code class=\"bash plain\">.kevin.com ;<\/code><\/div>\n<div class=\"line number255 index254 alt2\"><code class=\"bash plain\">location \/ {<\/code><\/div>\n<div class=\"line number256 index255 alt1\"><code class=\"bash plain\">stub_status on;<\/code><\/div>\n<div class=\"line number257 index256 alt2\"><code class=\"bash plain\">access_log off;<\/code><\/div>\n<div class=\"line number258 index257 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number259 index258 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number260 index259 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number261 index260 alt2\">\u00a0<\/div>\n<div class=\"line number262 index261 alt1\"><code class=\"bash plain\">++++++++++++++++++++++++++++++++++++++++++++++++++++++<\/code><\/div>\n<div class=\"line number263 index262 alt2\"><code class=\"bash plain\">nginx\u767d\u540d\u5355\u8bbe\u7f6e<\/code><\/div>\n<div class=\"line number264 index263 alt1\"><code class=\"bash plain\">\u4ee5\u4e0a\u914d\u7f6e\u4f1a\u5bf9\u6240\u6709\u7684ip\u90fd\u8fdb\u884c\u9650\u5236\uff0c\u6709\u4e9b\u65f6\u5019\u6211\u4eec\u4e0d\u5e0c\u671b\u5bf9\u641c\u7d22\u5f15\u64ce\u7684\u8718\u86db\u6216\u8005\u67d0\u4e9b\u81ea\u5df1\u7684\u4ee3\u7406\u673a\u8fc7\u6765\u7684\u8bf7\u6c42\u8fdb\u884c\u9650\u5236\uff0c<\/code><\/div>\n<div class=\"line number265 index264 alt2\"><code class=\"bash plain\">\u5bf9\u4e8e\u7279\u5b9a\u7684\u767d\u540d\u5355ip\u6211\u4eec\u53ef\u4ee5\u501f\u52a9geo\u6307\u4ee4\u5b9e\u73b0\u3002<\/code><\/div>\n<div class=\"line number266 index265 alt1\">\u00a0<\/div>\n<div class=\"line number267 index266 alt2\"><code class=\"bash plain\">\u5148\u5728nginx\u7684\u8bf7\u6c42\u65e5\u5fd7\u8fdb\u884c\u7edf\u8ba1\uff0c\u67e5\u770b\u90a3\u4e2aip\u7684\u8bbf\u95ee\u91cf\u6bd4\u8f83\u5927\uff0c\u8fd0\u884c:<\/code><\/div>\n<div class=\"line number268 index267 alt1\"><code class=\"bash comments\"># cat access.log | grep \"03\/Jun\" |awk '{print $1}'|sort |uniq -c|sort -nrk 1|head -n 10<\/code><\/div>\n<div class=\"line number269 index268 alt2\"><code class=\"bash comments\">#\u5217\u51fa\u8bbf\u95ee\u65e5\u5fd7\u91cc\u9762\u57286\u67083\u53f7\u8fd9\u5929\u524d10\u4e2a\u8bbf\u95ee\u91cf\u6700\u5927\u7684ip.<\/code><\/div>\n<div class=\"line number270 index269 alt1\">\u00a0<\/div>\n<div class=\"line number271 index270 alt2\"><code class=\"bash plain\">\u63a5\u4e0b\u6765\u5c31\u53ef\u4ee5\u5bf9\u8fd9\u4e9bIP\u8fdb\u884c\u5206\u6790\u4e86\u3002\u770b\u54ea\u4e9b\u9700\u8981\u8fdb\u884c\u767d\u540d\u5355\u8bbe\u7f6e\u3002<\/code><\/div>\n<div class=\"line number272 index271 alt1\"><code class=\"bash plain\">http{<\/code><\/div>\n<div class=\"line number273 index272 alt2\"><code class=\"bash plain\">geo $limited {\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash comments\"># the variable created is $limited<\/code><\/div>\n<div class=\"line number274 index273 alt1\"><code class=\"bash plain\">default 1;<\/code><\/div>\n<div class=\"line number275 index274 alt2\"><code class=\"bash plain\">127.0.0.1<\/code><code class=\"bash plain\">\/32<\/code>\u00a0<code class=\"bash plain\">0;<\/code><\/div>\n<div class=\"line number276 index275 alt1\"><code class=\"bash plain\">10.12.212.63 0;<\/code><\/div>\n<div class=\"line number277 index276 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number278 index277 alt1\"><code class=\"bash plain\">map $limited $limit {<\/code><\/div>\n<div class=\"line number279 index278 alt2\"><code class=\"bash plain\">1 $binary_remote_addr;<\/code><\/div>\n<div class=\"line number280 index279 alt1\"><code class=\"bash plain\">0\u00a0<\/code><code class=\"bash string\">\"\"<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number281 index280 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number282 index281 alt1\"><code class=\"bash plain\">limit_zone one $binary_remote_addr 20m;<\/code><\/div>\n<div class=\"line number283 index282 alt2\"><code class=\"bash plain\">limit_req_zone $limit zone=req_one:20m rate=20r<\/code><code class=\"bash plain\">\/s<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number284 index283 alt1\"><code class=\"bash plain\">limit_conn one 10;<\/code><\/div>\n<div class=\"line number285 index284 alt2\"><code class=\"bash plain\">limit_req zone=req_one burst=120;<\/code><\/div>\n<div class=\"line number286 index285 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number287 index286 alt2\">\u00a0<\/div>\n<div class=\"line number288 index287 alt1\"><code class=\"bash plain\">\u4e0a\u9762\u4e24\u4e2a\u9700\u8981\u7528\u5230map\u548cgeo\u6a21\u5757\uff0c\u8fd9\u662fnginx\u81ea\u5e26\u7684\u6a21\u5757\uff0c\u6709\u7684\u8fd0\u7ef4\u559c\u6b22\u628a\u4ed6\u4eec\u5173\u95ed\uff0c\u81ea\u5df1.<\/code><code class=\"bash plain\">\/sbin\/nginx<\/code>\u00a0<code class=\"bash plain\">-V \u7559\u610f\u4e00\u4e0b\u3002<\/code><\/div>\n<div class=\"line number289 index288 alt2\"><code class=\"bash plain\">\u628a\u914d\u7f6e\u7684--whithout-XXX-module \u53bb\u6389\u91cd\u65b0\u7f16\u8bd1\u4e00\u4e0b\u5c31\u53ef\u4ee5\u4e86\u3002 \u4e0a\u9762\u8fd9\u6bb5\u914d\u7f6e\u7684\u610f\u601d\u662f\uff1a<\/code><\/div>\n<div class=\"line number290 index289 alt1\"><code class=\"bash plain\">a\uff09geo\u6307\u4ee4\u5b9a\u4e49\u4e86\u4e00\u4e2a\u767d\u540d\u5355limited\u53d8\u91cf\uff0c\u9ed8\u8ba4\u503c\u4e3a1\uff0c\u5982\u679c\u5ba2\u6237\u7aefip\u5728\u4e0a\u9762\u7684\u8303\u56f4\u5185\uff0climited\u53d8\u91cf\uff0c\u9ed8\u8ba4\u503c\u4e3a1\uff0c\u5982\u679c\u5ba2\u6237\u7aefip\u5728\u4e0a\u9762\u7684\u8303\u56f4\u5185\uff0c<\/code><\/div>\n<div class=\"line number291 index290 alt2\"><code class=\"bash plain\">limited\u7684\u503c\u4e3a0<\/code><\/div>\n<div class=\"line number292 index291 alt1\"><code class=\"bash plain\">b\uff09\u4f7f\u7528map\u6307\u4ee4\u6620\u5c04\u641c\u7d22\u5f15\u64ce\u5ba2\u6237\u7aef\u7684ip\u4e3a\u7a7a\u4e32\uff0c\u5982\u679c\u4e0d\u662f\u641c\u7d22\u5f15\u64ce\u5c31\u663e\u793a\u672c\u8eab\u771f\u5b9e\u7684ip\uff0c\u8fd9\u6837\u641c\u7d22\u5f15\u64ceip\u5c31\u4e0d\u80fd\u5b58\u5230limit_req_zone\u5185\u5b58session\u4e2d\uff0c<\/code><\/div>\n<div class=\"line number293 index292 alt2\"><code class=\"bash plain\">\u6240\u4ee5\u4e0d\u4f1a\u9650\u5236\u641c\u7d22\u5f15\u64ce\u7684ip\u8bbf\u95ee<\/code><\/div>\n<div class=\"line number294 index293 alt1\">\u00a0<\/div>\n<div class=\"line number295 index294 alt2\"><code class=\"bash plain\">+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<\/code><\/div>\n<div class=\"line number296 index295 alt1\"><code class=\"bash plain\">\u83b7\u53d6\u5ba2\u6237\u7aef\u7684\u771f\u5b9eIP\uff1f<\/code><\/div>\n<div class=\"line number297 index296 alt2\">\u00a0<\/div>\n<div class=\"line number298 index297 alt1\"><code class=\"bash plain\">\u987a\u5e26\u4e00\u63d0\uff0c\u4e3a\u4e86\u83b7\u53d6\u5ba2\u6237\u7aef\u7684\u771f\u5b9eIP\u3002\u8be5\u6a21\u5757\u9700\u8981\u5b89\u88c5read_ip\u6a21\u5757\uff0c\u8fd0\u7ef4\u5e94\u8be5\u9ed8\u8ba4\u6709\u5b89\u88c5\u3002\u6ca1\u6709\u7684\u8bdd\u4e5f\u53ef\u81ea\u884c\u5b89\u88c5\uff1a<\/code><\/div>\n<div class=\"line number299 index298 alt2\"><code class=\"bash plain\">\u914d\u7f6e\u65b9\u5f0f\u76f8\u5f53\u7b80\u5355\uff0c\u91cd\u65b0\u7f16\u8bd1Nginx \u52a0\u4e0a --with-http_realip_module \u53c2\u6570\uff0c\u5982\uff1a<\/code><\/div>\n<div class=\"line number300 index299 alt1\"><code class=\"bash comments\"># .\/configure --prefix=\/opt\/nginx --with-http_stub_status_module --with-pcre=..\/pcre-6.6 --with-http_realip_module<\/code><\/div>\n<div class=\"line number301 index300 alt2\"><code class=\"bash comments\"># make<\/code><\/div>\n<div class=\"line number302 index301 alt1\"><code class=\"bash comments\"># make install<\/code><\/div>\n<div class=\"line number303 index302 alt2\">\u00a0<\/div>\n<div class=\"line number304 index303 alt1\"><code class=\"bash plain\">\u5728server\u4e2d\u589e\u52a0:<\/code><\/div>\n<div class=\"line number305 index304 alt2\"><code class=\"bash plain\">set_real_ip_from 192.168.1.0<\/code><code class=\"bash plain\">\/24<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number306 index305 alt1\"><code class=\"bash plain\">set_real_ip_from 192.168.2.1;<\/code><\/div>\n<div class=\"line number307 index306 alt2\"><code class=\"bash plain\">real_ip_header [X-Real-IP|X-Forwarded-For];<\/code><\/div>\n<div class=\"line number308 index307 alt1\">\u00a0<\/div>\n<div class=\"line number309 index308 alt2\"><code class=\"bash plain\">\u9700\u8981\u8bf4\u660e\u7684\u5730\u65b9\u5c31\u662f\u8bbe\u7f6eIP\u6e90\u7684\u65f6\u5019\u53ef\u4ee5\u8bbe\u7f6e\u5355\u4e2aIP\uff0c\u4e5f\u53ef\u4ee5\u8bbe\u7f6eIP\u6bb5\uff0c\u53e6\u5916\u662f\u4f7f\u7528X-Real-IP\u8fd8\u662fX-Forwarded-For\uff0c\u53d6\u51b3\u4e8e\u524d\u9762\u7684\u670d\u52a1\u5668\u6709\u54ea\u4e2a\u5934\u3002<\/code><\/div>\n<div class=\"line number310 index309 alt1\"><code class=\"bash plain\">set_real_ip_from \u8bbe\u7f6e\u7684IP\u7aef\u53ef\u4ee5\u8ba9\u8fd0\u7ef4\u67e5\u770b\u65e5\u5fd7\uff0c\u770b\u4e0b\u4f60\u7684\u8bf7\u6c42\u662f\u6765\u81ea\u54ea\u4e9bip\u6bb5\u3002<\/code><\/div>\n<div class=\"line number311 index310 alt2\"><code class=\"bash plain\">\u91cd\u65b0\u52a0\u8f7d\u4e00\u4e0b\u670d\u52a1\uff0c\u5dee\u4e0d\u591a\u5c31OK\u4e86\u3002<\/code><\/div>\n<div class=\"line number312 index311 alt1\"><code class=\"bash plain\">\u518d\u67e5\u770b\u65e5\u5fd7\u7684\u8bdd\uff0c\u5e94\u8be5\u53ef\u4ee5\u770b\u5230\u5ba2\u6237\u7aef\u7684\u771f\u5b9eIP\u4e86\u3002<\/code><\/div>\n<div class=\"line number313 index312 alt2\">\u00a0<\/div>\n<div class=\"line number314 index313 alt1\"><code class=\"bash plain\">\u6ce8\u610f\uff1a\u5982\u679c\u672a\u5b89\u88c5\u8be5\u6a21\u5757\u7684\u8bdd\u4f60\u7684\u83b7\u53d6\u5230\u7684IP\u7aef\u53ef\u80fd\u662f\u6765\u81ea\u524d\u7aef\u4ee3\u7406\uff08\u5982squid\uff09\u7684IP\uff0c\u7ed3\u679c\u5c31\u662f\u591a\u4e2a\u7528\u6237\u88ab\u5f53\u6210\u5355\u4e2a\u7528\u6237\u5bf9\u5f85\uff0c\u5bfc\u81f4\u5e94\u7528\u4e0d\u80fd\u54cd\u5e94\u3002<\/code><\/div>\n<div class=\"line number315 index314 alt2\">\u00a0<\/div>\n<div class=\"line number316 index315 alt1\"><code class=\"bash plain\">------\u81ea\u6d4b: \u6709\u6761\u4ef6\u7684\u81ea\u5df1\u53ef\u4ee5\u7528ab\u6216\u8005webben\u81ea\u6d4b\u4e00\u4e0b--------<\/code><\/div>\n<div class=\"line number317 index316 alt2\"><code class=\"bash plain\">\u672a\u5b89\u88c5\u524d\u538b\u6d4b\u7684\u8bdd\uff0c\u56e0\u4e3a\u6709\u5927\u91cf\u8bf7\u6c42\uff0c\u6240\u4ee5access.log\u4f1a\u6709\u5927\u91cf\u65e5\u5fd7\uff0c\u800cerror.log\u65e5\u5fd7\u6ca1\u6709\u53d8\u5316\u3002<\/code><\/div>\n<div class=\"line number318 index317 alt1\"><code class=\"bash plain\">[root@kevin ~]<\/code><code class=\"bash comments\"># webbench -c 30 -t 30 http:\/\/test.kevin.com<\/code><\/div>\n<div class=\"line number319 index318 alt2\"><code class=\"bash plain\">Webbench - Simple Web Benchmark 1.5<\/code><\/div>\n<div class=\"line number320 index319 alt1\"><code class=\"bash plain\">Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.<\/code><\/div>\n<div class=\"line number321 index320 alt2\"><code class=\"bash plain\">Benchmarking: GET http:<\/code><code class=\"bash plain\">\/\/test<\/code><code class=\"bash plain\">.kevin.com<\/code><\/div>\n<div class=\"line number322 index321 alt1\"><code class=\"bash plain\">30 clients, running 30 sec.<\/code><\/div>\n<div class=\"line number323 index322 alt2\"><code class=\"bash plain\">Speed=193468 pages<\/code><code class=\"bash plain\">\/min<\/code><code class=\"bash plain\">, 1254317 bytes<\/code><code class=\"bash plain\">\/sec<\/code><code class=\"bash plain\">.<\/code><\/div>\n<div class=\"line number324 index323 alt1\"><code class=\"bash plain\">Requests: 96734 susceed, 0 failed.<\/code><\/div>\n<div class=\"line number325 index324 alt2\">\u00a0<\/div>\n<div class=\"line number326 index325 alt1\"><code class=\"bash plain\">\u5b89\u88c5\u540e\u4f1a\u53d1\u73b0\u5f88\u591a\u8d85\u51fa\u7684\u8bf7\u6c42\u4f1a\u8fd4\u56de503,\u6240\u4ee5access.log\u65e5\u5fd7\u53d8\u5316\u4e0d\u5feb\uff0cerror.log\u6709\u5927\u91cf\u8bb0\u5f55,\u63d0\u793alimit_reque\u7f13\u4f4f\u4e86\u591a\u5c11\u8bf7\u6c42\u3002<\/code><\/div>\n<div class=\"line number327 index326 alt2\"><code class=\"bash plain\">kevin ~ webbench -c 30 -t 30 http:<\/code><code class=\"bash plain\">\/\/test<\/code><code class=\"bash plain\">.kevin.com<\/code><\/div>\n<div class=\"line number328 index327 alt1\"><code class=\"bash plain\">Webbench - Simple Web Benchmark 1.5<\/code><\/div>\n<div class=\"line number329 index328 alt2\"><code class=\"bash plain\">Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.<\/code><\/div>\n<div class=\"line number330 index329 alt1\"><code class=\"bash plain\">Benchmarking: GET http:<\/code><code class=\"bash plain\">\/\/test<\/code><code class=\"bash plain\">.kevin.com<\/code><\/div>\n<div class=\"line number331 index330 alt2\"><code class=\"bash plain\">30 clients, running 30 sec.<\/code><\/div>\n<div class=\"line number332 index331 alt1\"><code class=\"bash plain\">Speed=120 pages<\/code><code class=\"bash plain\">\/min<\/code><code class=\"bash plain\">, 778 bytes<\/code><code class=\"bash plain\">\/sec<\/code><code class=\"bash plain\">.<\/code><\/div>\n<div class=\"line number333 index332 alt2\"><code class=\"bash plain\">Requests: 60 susceed, 0 failed.<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>10.nginx\u7684\u8bbf\u95ee\u63a7\u5236\u53caDDOS\u9884\u9632<\/strong><br \/>1\uff09\u8bbf\u95ee\u63a7\u5236\u914d\u7f6e<br \/>\u57fa\u4e8e\u5404\u79cd\u539f\u56e0\uff0cNingx\u6709\u65f6\u8981\u8fdb\u884c\u8bbf\u95ee\u63a7\u5236\u3002<br \/>\u6bd4\u5982\u8bf4\uff0c\u4e00\u822c\u7f51\u7ad9\u7684\u540e\u53f0\u90fd\u4e0d\u80fd\u8ba9\u5916\u90e8\u8bbf\u95ee\uff0c\u6240\u4ee5\u8981\u6dfb\u52a0 IP \u9650\u5236\uff0c\u901a\u5e38\u53ea\u5141\u8bb8\u516c\u53f8\u7684IP\u8bbf\u95ee\u3002<br \/>\u8bbf\u95ee\u63a7\u5236\u5c31\u662f\u6307\u53ea\u6709\u7b26\u5408\u6761\u4ef6\u7684IP\u624d\u80fd\u8bbf\u95ee\u5230\u8fd9\u4e2a\u7f51\u7ad9\u7684\u67d0\u4e2a\u533a\u57df\u3002<br \/>\u6d89\u53ca\u6a21\u5757\uff1angx_http_access_module<br \/>\u6a21\u5757\u6982\u8ff0\uff1a\u5141\u8bb8\u9650\u5236\u67d0\u4e9b IP \u5730\u5740\u7684\u5ba2\u6237\u7aef\u8bbf\u95ee\u3002<br \/>\u5bf9\u5e94\u6307\u4ee4\uff1a<br \/>allow<br \/>\u8bed\u6cd5: allow address | CIDR | unix: | all;<br \/>\u9ed8\u8ba4\u503c: \u2014<br \/>\u4f5c\u7528\u57df: http, server, location, limit_except<br \/>\u5141\u8bb8\u67d0\u4e2a IP \u6216\u8005\u67d0\u4e2a IP \u6bb5\u8bbf\u95ee\u3002\u5982\u679c\u6307\u5b9a unix\uff0c\u90a3\u5c06\u5141\u8bb8 socket \u7684\u8bbf\u95ee\u3002\u6ce8\u610f\uff1aunix \u5728 1.5.1 \u4e2d\u65b0\u52a0\u5165\u7684\u529f\u80fd\uff0c\u5982\u679c\u4f60\u7684\u7248\u672c\u6bd4\u8fd9\u4e2a\u4f4e\uff0c\u8bf7\u4e0d\u8981\u4f7f\u7528\u8fd9\u4e2a\u65b9\u6cd5\u3002<\/p>\n<p>deny<br \/>\u8bed\u6cd5: deny address | CIDR | unix: | all;<br \/>\u9ed8\u8ba4\u503c: \u2014<br \/>\u4f5c\u7528\u57df: http, server, location, limit_except<br \/>\u7981\u6b62\u67d0\u4e2a IP \u6216\u8005\u4e00\u4e2a IP \u6bb5\u8bbf\u95ee\u3002\u5982\u679c\u6307\u5b9a unix\uff0c\u90a3\u5c06\u7981\u6b62 socket \u7684\u8bbf\u95ee\u3002\u6ce8\u610f\uff1aunix \u5728 1.5.1 \u4e2d\u65b0\u52a0\u5165\u7684\u529f\u80fd\uff0c\u5982\u679c\u4f60\u7684\u7248\u672c\u6bd4\u8fd9\u4e2a\u4f4e\uff0c\u8bf7\u4e0d\u8981\u4f7f\u7528\u8fd9\u4e2a\u65b9\u6cd5\u3002<\/p>\n<p>\u793a\u4f8b\u8bf4\u660e\uff1a<br \/>server {<br \/>\u00a0 \u00a0 \u00a0 listen 80;<br \/>\u00a0 \u00a0 \u00a0server_name forum.wangshibo.com;<br \/>\u00a0 \u00a0 \u00a0root \/var\/www\/html;<br \/>\u00a0 \u00a0 \u00a0location \/ {<br \/>\u00a0 \u00a0 \u00a0 \u00a0deny 192.168.1.1;<br \/>\u00a0 \u00a0 \u00a0 \u00a0allow 192.168.1.0\/24;<br \/>\u00a0 \u00a0 \u00a0 \u00a0allow 10.1.1.0\/16;<br \/>\u00a0 \u00a0 \u00a0 \u00a0allow 103.10.67.56;<br \/>\u00a0 \u00a0 \u00a0 \u00a0deny all;<br \/>\u00a0 \u00a0 \u00a0 \u00a0}<br \/>}<br \/>\u89c4\u5219\u6309\u7167\u987a\u5e8f\u4f9d\u6b21\u68c0\u6d4b\uff0c\u76f4\u5230\u5339\u914d\u5230\u7b2c\u4e00\u6761\u89c4\u5219\u3002\u00a0<br \/>\u5728\u8fd9\u4e2a\u4f8b\u5b50\u91cc\uff0c\u53ea\u6709 10.1.1.0\/16 \u3001192.168.1.0\/24\u548c103.10.67.56\u5141\u8bb8\u8bbf\u95ee\uff0c\u4f46 192.168.1.1 \u9664\u5916\u3002<\/p>\n<p>\u5982\u4e0b\u5b9e\u4f8b\uff1a<br \/>1\uff09\u5148\u662f\u591a\u57df\u540d\u7ed1\u5b9a\u4e00\u4e2a\u76ee\u5f55\u540e\u7684301\u8df3\u8f6c\u81f3\u540c\u4e00\u4e2a\u57df\u540d<br \/>2\uff09\u9488\u5bf9\u7f51\u7ad9\u8bbf\u95ee\u505a\u6765\u6e90ip\u767d\u540d\u5355\u8bbe\u7f6e\uff0c\u5e76\u52a0\u4e0a\u5bc6\u7801\u3002\uff08\u5373\u7528\u6237\u8ba4\u8bc1\u914d\u7f6e\uff09<br \/>[root@test-huanqiu vhosts]# cat test.conf<\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_923292\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">server {<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">listen 80;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">server_name www.wangshibo.com web01.wangshibo.com hehe.wangshibo.com wangshibo.com;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash keyword\">if<\/code>\u00a0<code class=\"bash plain\">($host !=\u00a0<\/code><code class=\"bash string\">'www.wangshibo.com'<\/code><code class=\"bash plain\">) {<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">rewrite ^\/(.*)$ http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.wangshibo.com\/$1 permanent;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">root\u00a0<\/code><code class=\"bash plain\">\/var\/www\/html<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">index index.html index.php index.htm;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">access_log\u00a0<\/code><code class=\"bash plain\">\/usr\/local\/nginx\/logs\/image<\/code><code class=\"bash plain\">.log;<\/code><\/div>\n<div class=\"line number10 index9 alt1\">\u00a0<\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">allow\u00a0 192.168.1.0<\/code><code class=\"bash plain\">\/24<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">allow\u00a0 124.65.197.154;<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">deny\u00a0 all;<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">auth_basic\u00a0<\/code><code class=\"bash string\">\"C1G_ADMID\"<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">auth_basic_user_file\u00a0<\/code><code class=\"bash plain\">\/usr\/local\/nginx\/htpasswd<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>[root@test-huanqiu vhosts]# htpasswd -c \/usr\/local\/nginx\/htpasswd wangshibo<br \/>New password:\u00a0<br \/>Re-type new password:\u00a0<br \/>Adding password for user wangshibo<br \/>\u8bbf\u95ee\u7ad9\u70b9http:\/\/www.wangshibo.com\uff0c\u6548\u679c\u5982\u4e0b\uff1a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images2015.cnblogs.com\/blog\/907596\/201612\/907596-20161214163705636-1071114983.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images2015.cnblogs.com\/blog\/907596\/201612\/907596-20161214163747261-1980350243.png\" alt=\"\" \/><\/p>\n<p>ngx_http_access_module\u00a0\u914d\u7f6e\u5141\u8bb8\u7684\u5730\u5740\u80fd\u8bbf\u95ee\uff0c\u7981\u6b62\u7684\u5730\u5740\u88ab\u62d2\u7edd\u3002\u8fd9\u53ea\u662f\u5f88\u7b80\u5355\u7684\u8bbf\u95ee\u63a7\u5236\uff0c\u800c\u5728\u89c4\u5219\u5f88\u591a\u7684\u60c5\u51b5\u4e0b\uff0c\u4f7f\u7528 ngx_http_geo_module \u6a21\u5757\u53d8\u91cf\u66f4\u5408\u9002\u3002<br \/>\u8fd9\u4e2a\u6a21\u5757\u5927\u5bb6\u4e0b\u6765\u53ef\u4ee5\u4e86\u89e3 :\u00a0<a href=\"http:\/\/nginx.org\/en\/docs\/http\/ngx_http_geo_module.html\" target=\"_blank\" rel=\"noopener\">ngx_http_geo_module<\/a><\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\u4e0a\u9762\u4e5f\u7528\u5230\u4e86nginx\u7684\u7528\u6237\u8ba4\u8bc1\u7684\u914d\u7f6e\uff0c\u5176\u4e2d\uff1a<br \/>auth_basic \u8ba4\u8bc1\u65f6\u7684\u63d0\u793a\u4fe1\u606f<br \/>auth_basic_user_file \u8ba4\u8bc1\u65f6\u5b58\u653e\u7528\u6237\u540d\u548c\u5bc6\u7801\u7684\u6587\u4ef6<\/p>\n<p># htpasswd -c \/usr\/local\/nginx\/htpasswd wangshibo \u00a0 \u00a0 \u00a0 \/\/\u7b2c\u4e00\u6b21\u8bbe\u7f6e\u8ba4\u8bc1\u7684\u7528\u6237<br \/># htpasswd \/usr\/local\/nginx\/htpasswd guohuihui \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/\u8ffd\u52a0\u8ba4\u8bc1\u7684\u7528\u6237\uff0c\u540e\u9762\u518d\u6b21\u8ffd\u52a0\u8ba4\u8bc1\u7528\u6237\u65f6\uff0c\u4e0d\u8981\u52a0-c\u53c2\u6570\uff0c\u5426\u5219\u5c31\u4f1a\u8986\u76d6\u4e4b\u524d\u6dfb\u52a0\u7684\u7528\u6237\uff01<\/p>\n<p>\u4e0b\u9762\u987a\u4fbf\u770b\u51e0\u4e2a\u8ba4\u8bc1\u90e8\u5206\u7684\u914d\u7f6e\uff1a<\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_274731\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">location\u00a0<\/code><code class=\"bash plain\">\/admin\/<\/code>\u00a0<code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash plain\">auth_basic\u00a0<\/code><code class=\"bash string\">\"Admin Auth.\"<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash plain\">auth_basic_user_file\u00a0<\/code><code class=\"bash plain\">\/usr\/local\/nginx\/htpasswd<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number5 index4 alt2\">\u00a0<\/div>\n<div class=\"line number6 index5 alt1\">\u00a0<\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash plain\">location\u00a0<\/code><code class=\"bash plain\">\/wangshibo\/<\/code>\u00a0<code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash plain\">proxy_pass http:<\/code><code class=\"bash plain\">\/\/www<\/code><code class=\"bash plain\">.guohuihui.com<\/code><code class=\"bash plain\">\/heng\/<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"bash plain\">auth_basic\u00a0<\/code><code class=\"bash string\">\"Test Auth.\"<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"bash plain\">auth_basic_user_file\u00a0<\/code><code class=\"bash plain\">\/usr\/local\/nginx\/htpasswd<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number12 index11 alt1\">\u00a0<\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"bash plain\">location ^~\u00a0<\/code><code class=\"bash plain\">\/auth\/<\/code>\u00a0<code class=\"bash plain\">{<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"bash plain\">location ~ .*.(php|php5)?$ {<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"bash plain\">fastcgi_pass 127.0.0.1:9000;<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"bash plain\">fastcgi_index index.php;<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"bash plain\">include fcgi.conf;<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"bash plain\">auth_basic\u00a0<\/code><code class=\"bash string\">\"Authorized users only\"<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"bash plain\">auth_basic_user_file\u00a0<\/code><code class=\"bash plain\">\/usr\/local\/nginx\/htpasswd<\/code><code class=\"bash plain\">;<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>2\uff09DDOS\u9884\u9632\u914d\u7f6e<br \/>DDOS\u7684\u7279\u70b9\u662f\u5206\u5e03\u5f0f\uff0c\u9488\u5bf9\u5e26\u5bbd\u548c\u670d\u52a1\u653b\u51fb\uff0c\u4e5f\u5c31\u662f\u56db\u5c42\u6d41\u91cf\u653b\u51fb\u548c\u4e03\u5c42\u5e94\u7528\u653b\u51fb\uff0c\u76f8\u5e94\u7684\u9632\u5fa1\u74f6\u9888\u56db\u5c42\u5728\u5e26\u5bbd\uff0c\u4e03\u5c42\u7684\u591a\u5728\u67b6\u6784\u7684\u541e\u5410\u91cf\u3002<br \/>\u5bf9\u4e8e\u4e03\u5c42\u7684\u5e94\u7528\u653b\u51fb\uff0c\u8fd8\u662f\u53ef\u4ee5\u505a\u4e00\u4e9b\u914d\u7f6e\u6765\u9632\u5fa1\u7684\uff0c\u4f7f\u7528nginx\u7684http_limit_conn\u548chttp_limit_req\u6a21\u5757\u901a\u8fc7\u9650\u5236\u8fde\u63a5\u6570\u548c\u8bf7\u6c42\u6570\u80fd\u76f8\u5bf9\u6709\u6548\u7684\u9632\u5fa1\u3002<br \/>\u5176\u4e2d\uff1a<br \/>ngx_http_limit_conn_module \u00a0 \u00a0\u53ef\u4ee5\u9650\u5236\u5355\u4e2a IP \u7684\u8fde\u63a5\u6570<br \/>ngx_http_limit_req_module \u00a0 \u00a0 \u00a0\u53ef\u4ee5\u9650\u5236\u5355\u4e2a IP \u6bcf\u79d2\u8bf7\u6c42\u6570<br \/>\u914d\u7f6e\u65b9\u6cd5\uff1a<br \/>(1)\u9650\u5236\u6bcf\u79d2\u8bf7\u6c42\u6570\uff0c\u5373ip\u8bbf\u95ee\u9891\u7387\u9650\u5236\u00a0<br \/>\u6d89\u53ca\u6a21\u5757\uff1angx_http_limit_req_module<br \/>\u901a\u8fc7\u6f0f\u6876\u539f\u7406\u6765\u9650\u5236\u5355\u4f4d\u65f6\u95f4\u5185\u7684\u8bf7\u6c42\u6570\uff0c\u4e00\u65e6\u5355\u4f4d\u65f6\u95f4\u5185\u8bf7\u6c42\u6570\u8d85\u8fc7\u9650\u5236\uff0c\u5c31\u4f1a\u8fd4\u56de 503 \u9519\u8bef\u3002<br \/>\u914d\u7f6e\u8303\u4f8b\uff1a<br \/>http {<br \/>\u00a0 \u00a0 \u00a0 \u00a0limit_req_zone $binary_remote_addr zone=one:10m rate=20r\/s;<br \/>&#8230;<br \/>\u00a0 \u00a0 \u00a0 \u00a0server {<br \/>&#8230;<br \/>\u00a0 \u00a0 \u00a0 location ~ \\.php$ {<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 limit_req zone=one burst=5 nodelay;\u00a0<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }<br \/>\u00a0 \u00a0 \u00a0 }<br \/>}<\/p>\n<p>\u914d\u7f6e\u8bf4\u660e\uff08\u4e0a\u4e00\u90e8\u5206\u89e3\u91ca\u8fc7\u7684\u5c31\u4e0d\u518d\u89e3\u91ca\uff09\uff1a<br \/>\u5b9a\u4e49\u4e00\u4e2a\u540d\u4e3aone\u7684limit_req_zone\u7528\u6765\u5b58\u50a8session\uff0c\u5927\u5c0f\u662f10M\u5185\u5b58\uff0c<br \/>\u4ee5$binary_remote_addr \u4e3akey,\u9650\u5236\u5e73\u5747\u6bcf\u79d2\u7684\u8bf7\u6c42\u4e3a20\u4e2a\uff0c<br \/>1M\u80fd\u5b58\u50a816000\u4e2a\u72b6\u6001\uff0crete\u7684\u503c\u5fc5\u987b\u4e3a\u6574\u6570\uff0c<br \/>rate=20r\/s\u8868\u793a\u9650\u5236\u9891\u7387\u4e3a\u6bcf\u79d220\u4e2a\u8bf7\u6c42\uff1b\u5982\u679c\u9650\u5236\u4e24\u79d2\u949f\u4e00\u4e2a\u8bf7\u6c42\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u621030r\/m\u3002<br \/>\u9650\u5236\u6bcfip\u6bcf\u79d2\u4e0d\u8d85\u8fc720\u4e2a\u8bf7\u6c42\uff0c\u6f0f\u6876\u6570burst\u4e3a5<br \/>brust\u7684\u610f\u601d\u5c31\u662f\uff0c\u5982\u679c\u7b2c1\u79d2\u30012,3,4\u79d2\u8bf7\u6c42\u4e3a19\u4e2a\uff0c<br \/>\u7b2c5\u79d2\u7684\u8bf7\u6c42\u4e3a25\u4e2a\u662f\u88ab\u5141\u8bb8\u7684\u3002<br \/>\u4f46\u662f\u5982\u679c\u4f60\u7b2c1\u79d2\u5c3125\u4e2a\u8bf7\u6c42\uff0c\u7b2c2\u79d2\u8d85\u8fc720\u7684\u8bf7\u6c42\u8fd4\u56de503\u9519\u8bef\u3002<br \/>nodelay\uff0c\u5982\u679c\u4e0d\u8bbe\u7f6e\u8be5\u9009\u9879\uff0c\u4e25\u683c\u4f7f\u7528\u5e73\u5747\u901f\u7387\u9650\u5236\u8bf7\u6c42\u6570\uff0c<br \/>\u7b2c1\u79d225\u4e2a\u8bf7\u6c42\u65f6\uff0c5\u4e2a\u8bf7\u6c42\u653e\u5230\u7b2c2\u79d2\u6267\u884c\uff0c<br \/>\u8bbe\u7f6enodelay\uff0c25\u4e2a\u8bf7\u6c42\u5c06\u5728\u7b2c1\u79d2\u6267\u884c\u3002<\/p>\n<p>(2)\u9650\u5236IP\u8fde\u63a5\u6570(\u4e0a\u9762\u5df2\u7ecf\u8bf4\u660e\uff0c\u8fd9\u91cc\u76f4\u63a5\u5199\u914d\u7f6e)<br \/>http {<br \/>\u00a0 \u00a0 \u00a0 \u00a0limit_conn_zone $binary_remote_addr zone=addr:10m; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0\/\/\u4e0a\u9762\u8bb2\u8fc7<br \/>&#8230;<br \/>\u00a0 \u00a0 \u00a0 server {<br \/>&#8230;<br \/>\u00a0 \u00a0 \u00a0 location \/ops\/ {<br \/>\u00a0 \u00a0 \u00a0 limit_conn addr 1;\u00a0<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0}<br \/>\u00a0 \u00a0 \u00a0}<br \/>}<\/p>\n<p>\u603b\u7684\u6765\u8bf4\uff1a\u5982\u4f55\u8bbe\u7f6e\u80fd\u9650\u5236\u67d0\u4e2aIP\u67d0\u4e00\u65f6\u95f4\u6bb5\u7684\u8bbf\u95ee\u6b21\u6570\u662f\u4e00\u4e2a\u8ba9\u4eba\u5934\u75bc\u7684\u95ee\u9898\uff0c\u7279\u522b\u9762\u5bf9\u6076\u610f\u7684ddos\u653b\u51fb\u7684\u65f6\u5019\u3002\u5176\u4e2dCC\u653b\u51fb\uff08Challenge Collapsar\uff09\u662fDDOS\uff08\u5206\u5e03\u5f0f\u62d2\u7edd\u670d\u52a1\uff09\u7684\u4e00\u79cd\uff0c\u4e5f\u662f\u4e00\u79cd\u5e38\u89c1\u7684\u7f51\u7ad9\u653b\u51fb\u65b9\u6cd5\uff0c\u653b\u51fb\u8005\u901a\u8fc7\u4ee3\u7406\u670d\u52a1\u5668\u6216\u8005\u8089\u9e21\u5411\u5411\u53d7\u5bb3\u4e3b\u673a\u4e0d\u505c\u5730\u53d1\u5927\u91cf\u6570\u636e\u5305\uff0c \u9020\u6210\u5bf9\u65b9\u670d\u52a1\u5668\u8d44\u6e90\u8017\u5c3d\uff0c\u4e00\u76f4\u5230\u5b95\u673a\u5d29\u6e83\u3002<br \/>cc\u653b\u51fb\u4e00\u822c\u5c31\u662f\u4f7f\u7528\u6709\u9650\u7684ip\u6570\u5bf9\u670d\u52a1\u5668\u9891\u7e41\u53d1\u9001\u6570\u636e\u6765\u8fbe\u5230\u653b\u51fb\u7684\u76ee\u7684\u3002<\/p>\n<p>nginx\u53ef\u4ee5\u901a\u8fc7Http LimitReq Modul\u548cHttp LimitZone Module\u914d\u7f6e\u6765\u9650\u5236ip\u5728\u540c\u4e00\u65f6\u95f4\u6bb5\u7684\u8bbf\u95ee\u6b21\u6570\u6765\u9632cc\u653b\u51fb\u3002<br \/>1\uff09Http LimitReq Modul\u7528\u6765\u9650\u5236\u8fde\u5355\u4f4d\u65f6\u95f4\u5185\u8fde\u63a5\u6570\u7684\u6a21\u5757\uff0c\u4f7f\u7528limit_req_zone\u548climit_req\u6307\u4ee4\u914d\u5408\u4f7f\u7528\u6765\u8fbe\u5230\u9650\u5236\u3002\u4e00\u65e6\u5e76\u53d1\u8fde\u63a5\u8d85\u8fc7\u6307\u5b9a\u6570\u91cf\uff0c\u5c31\u4f1a\u8fd4\u56de503\u9519\u8bef\u3002<br \/>2\uff09Http LimitConn Modul\u7528\u6765\u9650\u5236\u5355\u4e2aip\u7684\u5e76\u53d1\u8fde\u63a5\u6570\uff0c\u4f7f\u7528limit_zone\u548climit_conn\u6307\u4ee4<\/p>\n<p>\u914d\u7f6e\u793a\u4f8b\uff1a<br \/>Http LimitReq Modul\u9650\u5236\u67d0\u4e00\u6bb5\u65f6\u95f4\u5185\u540c\u4e00ip\u8bbf\u95ee\u6570<br \/>http{<br \/>&#8230;&#8230;<br \/>\u00a0 \u00a0 \u00a0 limit_req_zone $binary_remote_addr zone=allips:10m rate=20r\/s;<br \/>&#8230;&#8230;<br \/>\u00a0 \u00a0 \u00a0server{<br \/>&#8230;<br \/>\u00a0 \u00a0 \u00a0location {<br \/>&#8230;&#8230;<br \/>\u00a0 \u00a0 \u00a0 \u00a0limit_req zone=allips burst=5 nodelay;<br \/>&#8230;&#8230;<br \/>\u00a0 \u00a0 }<br \/>&#8230;&#8230;<br \/>\u00a0 \u00a0}<br \/>&#8230;&#8230;<br \/>}<\/p>\n<p>Http LimitZone Module \u9650\u5236\u5e76\u53d1\u8fde\u63a5\u6570\u5b9e\u4f8b<br \/>limit_zone\u53ea\u80fd\u5b9a\u4e49\u5728http\u4f5c\u7528\u57df\uff0climit_conn\u53ef\u4ee5\u5b9a\u4e49\u5728http server location\u4f5c\u7528\u57df<br \/>http{<br \/>&#8230;<br \/>\u00a0 \u00a0 limit_conn_zone one $binary_remote_addr 10m;<br \/>&#8230;&#8230;<br \/>\u00a0 \u00a0 server{<br \/>&#8230;&#8230;<br \/>\u00a0 \u00a0 location {<br \/>&#8230;&#8230;<br \/>\u00a0 \u00a0 \u00a0 limit_conn one 20;\u00a0<br \/>\u00a0 \u00a0 \u00a0 limit_rate 500k;\u00a0<br \/>&#8230;&#8230;<br \/>\u00a0 \u00a0 \u00a0}<br \/>&#8230;&#8230;<br \/>\u00a0 \u00a0 \u00a0}<br \/>&#8230;&#8230;<br \/>}<\/p>\n<p>(3)\u9650\u901f\u767d\u540d\u5355\u8bbe\u7f6e\uff08\u53ef\u53c2\u8003\uff1a<a href=\"http:\/\/www.cnblogs.com\/kevingrace\/p\/6165572.html\" target=\"_blank\" rel=\"noopener\">nginx\u5229\u7528geo\u6a21\u5757\u505a\u9650\u901f\u767d\u540d\u5355\u4ee5\u53cageo\u5b9e\u73b0\u5168\u5c40\u8d1f\u8f7d\u5747\u8861\u7684\u64cd\u4f5c\u8bb0\u5f55<\/a>\uff09<br \/>http_limit_conn\u548c http_limit_req\u6a21\u5757\u9650\u5236\u4e86\u5355IP\u5355\u4f4d\u65f6\u95f4\u5185\u7684\u8fde\u63a5\u548c\u8bf7\u6c42\u6570\uff0c\u4f46\u662f\u5982\u679cNginx\u524d\u9762\u6709lvs\u6216\u8005haproxy\u4e4b\u7c7b\u7684\u8d1f\u8f7d\u5747\u8861\u6216\u8005\u53cd\u5411\u4ee3\u7406\uff0cnginx \u83b7\u53d6\u7684\u90fd\u662f\u6765\u81ea\u8d1f\u8f7d\u5747\u8861\u7684\u8fde\u63a5\u6216\u8bf7\u6c42\uff0c\u8fd9\u65f6\u4e0d\u5e94\u8be5\u9650\u5236\u8d1f\u8f7d\u5747\u8861\u7684\u8fde\u63a5\u548c\u8bf7\u6c42\uff0c\u5c31\u9700\u8981 geo \u548c map \u6a21\u5757\u8bbe\u7f6e\u767d\u540d\u5355\uff1a<br \/>geo $whiteiplist {<br \/>\u00a0 \u00a0 \u00a0default 1;<br \/>\u00a0 \u00a0 \u00a010.11.15.1610;<br \/>}<br \/>map $whiteiplist$limit {<br \/>\u00a0 \u00a0 \u00a01 $binary_remote_addr;<br \/>\u00a0 \u00a0 \u00a00 &#8220;&#8221;;<br \/>}<br \/>limit_req_zone $limit zone=one:10m rate=10r\/s;<br \/>limit_conn_zone $limit zone=addr:10m;<\/p>\n<p>geo \u6a21\u5757\u5b9a\u4e49\u4e86\u4e00\u4e2a\u9ed8\u8ba4\u503c\u662f 1 \u7684\u53d8\u91cf whiteiplist\uff0c\u5f53\u5728 ip \u5728\u767d\u540d\u5355\u4e2d\uff0c\u53d8\u91cf whiteiplist \u7684\u503c\u4e3a 0\uff0c\u53cd\u4e4b\u4e3a1.<br \/>\u5bf9\u4e0a\u9762\u8bbe\u7f6e\u7684\u903b\u8f91\u5173\u7cfb\u89e3\u91ca\uff1a<br \/>\u5982\u679c\u5728\u767d\u540d\u5355\u4e2d&#8211;&gt; whiteiplist=0 &#8211;&gt; $limit=&#8221;&#8221; &#8211;&gt; \u4e0d\u4f1a\u5b58\u50a8\u5230 10m \u7684\u4f1a\u8bdd\u72b6\u6001\uff08one \u6216\u8005 addr\uff09\u4e2d &#8211;&gt; \u4e0d\u53d7\u9650\u5236\uff1b<br \/>\u53cd\u4e4b\uff0c\u4e0d\u5728\u767d\u540d\u5355\u4e2d &#8211;&gt; whiteiplist=1 &#8211;&gt; $limit=\u4e8c\u8fdb\u5236\u8fdc\u7a0b\u5730\u5740 &#8211;&gt;\u5b58\u50a8\u8fdb 10m \u7684\u4f1a\u8bdd\u72b6\u6001\u4e2d &#8211;&gt; \u53d7\u5230\u9650\u5236\u3002<\/p>\n<p>(4)\u52a8\u624b\u6d4b\u8bd5DDOS\u9884\u9632\u914d\u7f6e<br \/>\u4e0b\u9762\u6765\u6d4b\u4e00\u4e0b\u4e0a\u9762\u8bf4\u5230\u7684\u914d\u7f6e\u662f\u5426\u8d77\u5230\u4e86\u4f5c\u7528\u3002<br \/>\u5b89\u88c5nginx+php\u73af\u5883<br \/>\u5199\u4e00\u4e2a\u6d4b\u8bd5\u7684PHP\u6587\u4ef6,\u4fee\u6539nginx\u914d\u7f6e\u6587\u4ef6\uff0c\u4f7f\u5176\u80fd\u6b63\u5e38\u8bbf\u95ee\u3002<br \/><strong>\u5728\/home\/shiyanlou\u76ee\u5f55\u4e0b\u5199\u4e00\u4e2atest.php,\u5185\u5bb9\u5982\u4e0b\uff1a<\/strong><br \/>[root@server_web1 ~]# vim \/home\/shiyanlou\/test.php<br \/>&lt;?php<br \/>phpinfo ();<br \/>?&gt;<\/p>\n<p><strong>nginx \u914d\u7f6e\u6587\u4ef6\u4fee\u6539\uff1a<\/strong><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images2015.cnblogs.com\/blog\/907596\/201612\/907596-20161212180602120-2103628283.png\" alt=\"\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>\u6700\u540e\u5c55\u793a\uff1a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images2015.cnblogs.com\/blog\/907596\/201612\/907596-20161212180624214-651188545.png\" alt=\"\" \/><\/p>\n<p>\u4f7fab\u547d\u4ee4\u8fdb\u884c\u6d4b\u8bd5\uff0c\u6bd4\u8f83\u4fee\u6539nginx\u914d\u7f6e\u6587\u4ef6\u524d\u540e\uff08\u8fde\u63a5\u6570\u548c\u8bf7\u6c42\u6570\u5206\u5f00\u6d4b\u8bd5\uff09\u7684\u6d4b\u8bd5\u7ed3\u679c\u3002<\/p>\n<p>\u4fee\u6539\u4e4b\u524d\uff1a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images2015.cnblogs.com\/blog\/907596\/201612\/907596-20161212180738792-1327313812.png\" alt=\"\" \/><\/p>\n<p>\u6d4b\u8bd5\u7ed3\u679c\u4e3a\uff1a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images2015.cnblogs.com\/blog\/907596\/201612\/907596-20161212180801761-1135797634.png\" alt=\"\" \/><\/p>\n<p>\u5bf9nginx\u914d\u7f6e\u505a\u4fee\u6539\uff08\u6dfb\u52a0http\u548cphp\u914d\u7f6e\u5982\u4e0b\u7684\u7ea2\u7ebf\u5185\u5bb9\uff09\uff0c\u91cd\u542f\uff0c\u7136\u540e\u518d\u8fdb\u884c\u6d4b\u8bd5<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images2015.cnblogs.com\/blog\/907596\/201612\/907596-20161212180931854-766608485.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images2015.cnblogs.com\/blog\/907596\/201612\/907596-20161212181011745-1889351990.png\" alt=\"\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>\u00a0<img decoding=\"async\" src=\"https:\/\/images2015.cnblogs.com\/blog\/907596\/201612\/907596-20161212181051792-685374171.png\" alt=\"\" \/><\/p>\n<p>\u6d4b\u8bd5\u7ed3\u679c\u4e3a\uff1a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images2015.cnblogs.com\/blog\/907596\/201612\/907596-20161212181121573-97741564.png\" alt=\"\" \/><\/p>\n<p><strong>11.\u8bbf\u95ee\u767d\u540d\u5355<\/strong><br \/>\u53c2\u8003\uff1a<a href=\"http:\/\/www.cnblogs.com\/kevingrace\/p\/6086652.html\" target=\"_blank\" rel=\"noopener\">nginx\u8bbf\u95ee\u767d\u540d\u5355\u8bbe\u7f6e\u4ee5\u53ca\u6839\u636e$remote_addr\u5206\u53d1<\/a><\/p>\n<p><strong>12.nginx\u7684\u4e0a\u4f20\u4e0b\u8f7d\u8bbe\u7f6e<\/strong><br \/>\u53c2\u8003\uff1a<a href=\"http:\/\/www.cnblogs.com\/kevingrace\/p\/6093671.html\" target=\"_blank\" rel=\"noopener\">nginx\u9650\u5236\u4e0a\u4f20\u5927\u5c0f\u548c\u8d85\u65f6\u65f6\u95f4\u8bbe\u7f6e\u8bf4\u660e\/php\u9650\u5236\u4e0a\u4f20\u5927\u5c0f<\/a><\/p>\n<p><strong>13.nginx\u76ee\u5f55\u6d4f\u89c8\u53ca\u5176\u9a8c\u8bc1\u529f\u80fd<\/strong><br \/>\u53c2\u8003\uff1a<a href=\"http:\/\/www.cnblogs.com\/kevingrace\/p\/6244812.html\" target=\"_blank\" rel=\"noopener\">nginx\u4e0b\u76ee\u5f55\u6d4f\u89c8\u53ca\u5176\u9a8c\u8bc1\u529f\u80fd\u914d\u7f6e\u8bb0\u5f55<\/a><\/p>\n<p><strong>14.Nginx\u4e0b\u7981\u6b62\u6307\u5b9a\u76ee\u5f55\u8fd0\u884cphp\u811a\u672c\u6587\u4ef6<\/strong><\/p>\n<div class=\"cnblogs_Highlighter sh-gutter\">\n<div>\n<div id=\"highlighter_603359\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">\u975e\u5e38\u7b80\u5355\uff0c\u76f4\u63a5\u901a\u8fc7location\u6761\u4ef6\u5339\u914d\u5b9a\u4f4d\u540e\u8fdb\u884c\u6743\u9650\u7981\u6b62\u3002<\/code><\/div>\n<div class=\"line number2 index1 alt1\">\u00a0<\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash plain\">\u5728server\u914d\u7f6e\u6bb5\u4e2d\u589e\u52a0\u4e0b\u9762\u7684\u7684\u914d\u7f6e\uff1a<\/code><\/div>\n<div class=\"line number4 index3 alt1\">\u00a0<\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash plain\">1\uff09\u5982\u679c\u662f\u5355\u4e2a\u76ee\u5f55<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash plain\">location ~* ^<\/code><code class=\"bash plain\">\/uploads\/<\/code><code class=\"bash plain\">.*\\.(php|php5)$ {\u00a0<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">deny all;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash plain\">}\u00a0<\/code><\/div>\n<div class=\"line number9 index8 alt2\">\u00a0<\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"bash plain\">2\uff09\u5982\u679c\u662f\u591a\u4e2a\u76ee\u5f55<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash plain\">location ~* ^\/(attachments|uploads)\/.*\\.(php|php5)$ {<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">deny all;<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"bash plain\">}\u00a0<\/code><\/div>\n<div class=\"line number14 index13 alt1\">\u00a0<\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"bash plain\">\u6ce8\u610f:\u8fd9\u6bb5\u914d\u7f6e\u6587\u4ef6\u4e00\u5b9a\u8981\u653e\u5728\u4e0b\u9762\u914d\u7f6e\u7684\u524d\u9762\u624d\u53ef\u4ee5\u751f\u6548\u3002<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"bash plain\">location ~ \\.php$ {<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"bash plain\">fastcgi_pass 127.0.0.1:9000;<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"bash plain\">fastcgi_index index.php;<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"bash plain\">fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"bash plain\">include fastcgi_params;<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"bash plain\">}<\/code><\/div>\n<div class=\"line number22 index21 alt1\">\u00a0<\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"bash plain\">\u914d\u7f6e\u5b8c\u540e\u8bb0\u5f97\u91cd\u542fNginx\u751f\u6548\u3002<\/code><\/div>\n<div class=\"line number24 index23 alt1\">\u00a0<\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"bash plain\">------------------------------------------------------------------------------<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"bash plain\">\u5982\u679c\u662fApache\u4e0b\u7981\u6b62\u6307\u5b9a\u76ee\u5f55\u8fd0\u884cPHP\u811a\u672c\uff0c\u5728\u865a\u62df\u4e3b\u673a\u914d\u7f6e\u6587\u4ef6\u4e2d\u589e\u52a0php_flag engine off\u6307\u4ee4\u5373\u53ef\uff0c\u914d\u7f6e\u5982\u4e0b<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"bash string\">\"\/website\/uploads\"<\/code><code class=\"bash plain\">&gt;\u00a0<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"bash spaces\">\u00a0\u00a0<\/code><code class=\"bash plain\">Options FollowSymLinks\u00a0<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"bash spaces\">\u00a0\u00a0<\/code><code class=\"bash plain\">AllowOverride None\u00a0<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"bash spaces\">\u00a0\u00a0<\/code><code class=\"bash plain\">Order allow,deny\u00a0<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"bash spaces\">\u00a0\u00a0<\/code><code class=\"bash plain\">Allow from all\u00a0\u00a0<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"bash spaces\">\u00a0\u00a0<\/code><code class=\"bash plain\">php_flag engine off<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"MySignature\">***************\u5f53\u4f60\u53d1\u73b0\u81ea\u5df1\u7684\u624d\u534e\u6491\u4e0d\u8d77\u91ce\u5fc3\u65f6\uff0c\u5c31\u8bf7\u5b89\u9759\u4e0b\u6765\u5b66\u4e60\u5427***************<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u5728linux\u7cfb\u7edf\u4e0b\u4f7f\u7528nginx\u4f5c\u4e3aweb\u5e94\u7528\u670d\u52a1\uff0c\u7528\u6765\u63d0\u5347\u7f51\u7ad9\u8bbf\u95ee\u901f\u5ea6\u7684\u7ecf\u9a8c\u5df2\u4e94\u5e74\u591a\u4e86\uff0c\u4eca\u5929\u5728\u6b64\u5bf9nginx\u7684\u4f7f\u7528\u505a\u4e00\u7b80\u5355\u603b\u7ed3\u3002 \u4e00\u3001nginx\u670d\u52a1\u7b80\u4ecbNginx\u662f\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684HTTP\u548c\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\uff0c\u4e5f\u662f\u4e00\u4e2a IMAP\/POP3\/SMTP\u4ee3\u7406\u670d\u52a1\u5668\u3002Nginx \u5df2\u7ecf\u56e0\u4e3a\u5b83\u7684\u7a33\u5b9a\u6027\u3001\u4e30\u5bcc\u7684\u529f\u80fd\u96c6\u3001\u793a\u4f8b\u914d\u7f6e\u6587\u4ef6\u548c\u4f4e\u7cfb\u7edf\u8d44\u6e90\u7684\u6d88\u8017\u800c\u95fb\u540d\u4e86\u3002 \u4f7f\u7528 Nginx \u524d\u5fc5\u987b\u4e86\u89e3\u7684\u4e8b\u9879\uff1a1\uff09\u76ee\u524d\u5b98\u65b9 Nginx \u5e76\u4e0d\u652f\u6301 Windows\uff0c\u60a8\u53ea\u80fd\u5728\u5305\u62ec Linux\u3001UNIX\u3001BSD \u7cfb\u7edf\u4e0b\u5b89\u88c5\u548c\u4f7f\u7528\uff1b2\uff09Nginx \u672c\u8eab\u53ea\u662f\u4e00\u4e2a HTTP \u548c\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\uff0c\u5b83\u65e0\u6cd5\u50cf Apache \u4e00\u6837\u901a\u8fc7\u5b89\u88c5\u5404\u79cd\u6a21\u5757\u6765\u652f\u6301\u4e0d\u540c\u7684\u9875\u9762\u811a\u672c\uff0c\u4f8b\u5982 PHP\u3001CGI \u7b49\uff1b3\uff09Nginx \u652f\u6301\u7b80\u5355\u7684\u8d1f\u8f7d\u5747\u8861\u548c\u5bb9\u9519\uff1b4\uff09\u652f\u6301\u4f5c\u4e3a\u57fa\u672c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1012","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts\/1012","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1012"}],"version-history":[{"count":0,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts\/1012\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1012"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1012"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}