请教问题nginx反向代理proxy 请教问题nginx反向代理proxy

\u8bf7\u6559\u95ee\u9898nginx\u53cd\u5411\u4ee3\u7406proxy

\u4e0b\u9762\u662fNginx\u53cd\u5411\u4ee3\u7406\u7f13\u5b58Proxy Cache\u914d\u7f6e\u6587\u4ef6\u8303\u4f8b,\u4ec5\u4f9b\u53c2\u8003,\u6e90\u7ad9\u70b9\u5728\u7f8e\u56fd,\u7528\u65e5\u672c\u7684vps\u505aNginx\u4ee3\u7406\u7f13\u5b58\u6d4b\u8bd5,\u5b9e\u9645\u6d4b\u8bd5\u6548\u679c\u4e0d\u9519. \u8981\u6ce8\u610fproxy_temp_path\u548cproxy_cache_path\u76ee\u5f55\u672c\u8eab\u548c\u4e0a\u7ea7\u76ee\u5f55\u90fd\u8981\u6709\u76f8\u5e94\u6743\u9650,\u4e0d\u7136\u5c31\u4f1a\u6709\u751f\u6210\u7f13\u5b58\u6587\u4ef6\u5931\u8d25\u7684\u6743\u9650\u9519\u8bef\u63d0\u793a. \u5982\u679c\u9700\u8981\u91cd\u65b0\u751f\u6210\u7f13\u5b58,\u76f4\u63a5\u628a\u7f13\u5b58\u76ee\u5f55\u91cc\u9762\u7684\u5b50\u76ee\u5f55\u90fd\u5220\u9664\u5c31\u53ef\u4ee5\u4e86.
\u4f60\u53ef\u4ee5\u53bb\u540e\u76fe\u4eba\u5e73\u53f0\u770b\u4e00\u4e0b\uff0c\u91cc\u9762\u7684\u4e1c\u897f\u4e0d\u9519

\u3000\u3000\u4e00\u3001\u53cd\u5411\u4ee3\u7406\uff1aWeb\u670d\u52a1\u5668\u7684\u201c\u7ecf\u7eaa\u4eba\u201d
\u3000\u30001.1 \u53cd\u5411\u4ee3\u7406\u521d\u5370\u8c61
\u3000\u3000\u53cd\u5411\u4ee3\u7406\uff08Reverse Proxy\uff09\u65b9\u5f0f\u662f\u6307\u4ee5\u4ee3\u7406\u670d\u52a1\u5668\u6765\u63a5\u53d7internet\u4e0a\u7684\u8fde\u63a5\u8bf7\u6c42\uff0c\u7136\u540e\u5c06\u8bf7\u6c42\u8f6c\u53d1\u7ed9\u5185\u90e8\u7f51\u7edc\u4e0a\u7684\u670d\u52a1\u5668\uff0c\u5e76\u5c06\u4ece\u670d\u52a1\u5668\u4e0a\u5f97\u5230\u7684\u7ed3\u679c\u8fd4\u56de\u7ed9internet\u4e0a\u8bf7\u6c42\u8fde\u63a5\u7684\u5ba2\u6237\u7aef\uff0c\u6b64\u65f6\u4ee3\u7406\u670d\u52a1\u5668\u5bf9\u5916\u5c31\u8868\u73b0\u4e3a\u4e00\u4e2a\u670d\u52a1\u5668\u3002
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\u4ece\u4e0a\u56fe\u53ef\u4ee5\u770b\u51fa\uff1a\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u4f4d\u4e8e\u7f51\u7ad9\u673a\u623f\uff0c\u4ee3\u7406\u7f51\u7ad9Web\u670d\u52a1\u5668\u63a5\u6536Http\u8bf7\u6c42\uff0c\u5bf9\u8bf7\u6c42\u8fdb\u884c\u8f6c\u53d1\u3002
\u3000\u30001.2 \u53cd\u5411\u4ee3\u7406\u7684\u4f5c\u7528
\u3000\u3000\u2460\u4fdd\u62a4\u7f51\u7ad9\u5b89\u5168\uff1a\u4efb\u4f55\u6765\u81eaInternet\u7684\u8bf7\u6c42\u90fd\u5fc5\u987b\u5148\u7ecf\u8fc7\u4ee3\u7406\u670d\u52a1\u5668\uff1b
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\u2461\u901a\u8fc7\u914d\u7f6e\u7f13\u5b58\u529f\u80fd\u52a0\u901fWeb\u8bf7\u6c42\uff1a\u53ef\u4ee5\u7f13\u5b58\u771f\u5b9eWeb\u670d\u52a1\u5668\u4e0a\u7684\u67d0\u4e9b\u9759\u6001\u8d44\u6e90\uff0c\u51cf\u8f7b\u771f\u5b9eWeb\u670d\u52a1\u5668\u7684\u8d1f\u8f7d\u538b\u529b\uff1b
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\u2462\u5b9e\u73b0\u8d1f\u8f7d\u5747\u8861\uff1a\u5145\u5f53\u8d1f\u8f7d\u5747\u8861\u670d\u52a1\u5668\u5747\u8861\u5730\u5206\u53d1\u8bf7\u6c42\uff0c\u5e73\u8861\u96c6\u7fa4\u4e2d\u5404\u4e2a\u670d\u52a1\u5668\u7684\u8d1f\u8f7d\u538b\u529b\uff1b
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\u4e8c\u3001\u521d\u8bc6Nginx\uff1a\u7b80\u5355\u5374\u4e0d\u5e73\u51e1
\u3000\u30002.1 Nginx\u662f\u795e\u9a6c\uff1f
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000Nginx\u662f\u4e00\u6b3e\u8f7b\u91cf\u7ea7\u7684\u7f51\u9875\u670d\u52a1\u5668\u3001\u53cd\u5411\u4ee3\u7406\u5668\u4ee5\u53ca\u7535\u5b50\u90ae\u4ef6\u4ee3\u7406\u670d\u52a1\u5668\u3002\u5176\u5c06\u6e90\u4ee3\u7801\u4ee5\u7c7bBSD\u8bb8\u53ef\u8bc1\u7684\u5f62\u5f0f\u53d1\u5e03\uff0c\u56e0\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\u3002
\u3000\u3000Source\uff1aNginx\uff08\u53d1\u97f3\u540cengine x\uff09\uff0c\u5b83\u662f\u7531\u4fc4\u7f57\u65af\u7a0b\u5e8f\u5458Igor Sysoev\u6240\u5f00\u53d1\u7684\u3002\u8d77\u521d\u662f\u4f9b\u4fc4\u56fd\u5927\u578b\u7684\u95e8\u6237\u7f51\u7ad9\u53ca\u641c\u7d22\u5f15\u64ceRambler\uff08\u4fc4\u8bed\uff1a\u0420\u0430\u043c\u0431\u043b\u0435\u0440\uff09\u4f7f\u7528\u3002\u6b64\u8f6f\u4ef6BSD-like\u534f\u8bae\u4e0b\u53d1\u884c\uff0c\u53ef\u4ee5\u5728UNIX\u3001GNU/Linux\u3001BSD\u3001Mac OS X\u3001Solaris\uff0c\u4ee5\u53caMicrosoft Windows\u7b49\u64cd\u4f5c\u7cfb\u7edf\u4e2d\u8fd0\u884c\u3002
\u3000\u3000\u8bf4\u5230Web\u670d\u52a1\u5668\uff0cApache\u670d\u52a1\u5668\u548cIIS\u670d\u52a1\u5668\u662f\u4e24\u5927\u5de8\u5934\uff1b\u4f46\u662f\u8fd0\u884c\u901f\u5ea6\u66f4\u5feb\u3001\u66f4\u7075\u6d3b\u7684\u5bf9\u624b\uff1aNginx \u6b63\u5728\u8fce\u5934\u8d76\u4e0a\u3002
\u3000\u30002.2 Nginx\u7684\u5e94\u7528\u73b0\u72b6
\u3000\u3000Nginx \u5df2\u7ecf\u5728\u4fc4\u7f57\u65af\u6700\u5927\u7684\u95e8\u6237\u7f51\u7ad9\u2500\u2500 Rambler Media\uff08www.rambler.ru\uff09\u4e0a\u8fd0\u884c\u4e863\u5e74\u65f6\u95f4\uff0c\u540c\u65f6\u4fc4\u7f57\u65af\u8d85\u8fc720%\u7684\u865a\u62df\u4e3b\u673a\u5e73\u53f0\u91c7\u7528Nginx\u4f5c\u4e3a\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u3002
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\u5728\u56fd\u5185\uff0c\u5df2\u7ecf\u6709 \u6dd8\u5b9d\u3001\u65b0\u6d6a\u535a\u5ba2\u3001\u65b0\u6d6a\u64ad\u5ba2\u3001\u7f51\u6613\u65b0\u95fb\u3001\u516d\u95f4\u623f\u300156.com\u3001Discuz!\u3001\u6c34\u6728\u793e\u533a\u3001\u8c46\u74e3\u3001YUPOO\u3001\u6d77\u5185\u3001\u8fc5\u96f7\u5728\u7ebf \u7b49\u591a\u5bb6\u7f51\u7ad9\u4f7f\u7528 Nginx \u4f5c\u4e3aWeb\u670d\u52a1\u5668\u6216\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u3002
\u3000\u30002.3 Nginx\u7684\u6838\u5fc3\u7279\u70b9
\u3000\u3000\uff081\uff09\u8de8\u5e73\u53f0\uff1aNginx \u53ef\u4ee5\u5728\u5927\u591a\u6570 Unix like OS\u7f16\u8bd1\u8fd0\u884c\uff0c\u800c\u4e14\u4e5f\u6709Windows\u7684\u79fb\u690d\u7248\u672c\uff1b
\u3000\u3000\uff082\uff09\u914d\u7f6e\u5f02\u5e38\u7b80\u5355\uff1a\u975e\u5e38\u5bb9\u6613\u4e0a\u624b\u3002\u914d\u7f6e\u98ce\u683c\u8ddf\u7a0b\u5e8f\u5f00\u53d1\u4e00\u6837\uff0c\u795e\u4e00\u822c\u7684\u914d\u7f6e\uff1b
\u3000\u3000\uff083\uff09\u975e\u963b\u585e\u3001\u9ad8\u5e76\u53d1\u8fde\u63a5\uff1a\u6570\u636e\u590d\u5236\u65f6\uff0c\u78c1\u76d8I/O\u7684\u7b2c\u4e00\u9636\u6bb5\u662f\u975e\u963b\u585e\u7684\u3002\u5b98\u65b9\u6d4b\u8bd5\u80fd\u591f\u652f\u64915\u4e07\u5e76\u53d1\u8fde\u63a5\uff0c\u5728\u5b9e\u9645\u751f\u4ea7\u73af\u5883\u4e2d\u8dd1\u52302\uff5e3\u4e07\u5e76\u53d1\u8fde\u63a5\u6570\u3002\uff08\u8fd9\u5f97\u76ca\u4e8eNginx\u4f7f\u7528\u4e86\u6700\u65b0\u7684epoll\u6a21\u578b\uff09\uff1b
\u3000\u3000PS\uff1a\u5bf9\u4e8e\u4e00\u4e2aWeb\u670d\u52a1\u5668\u6765\u8bf4\uff0c\u9996\u5148\u770b\u4e00\u4e2a\u8bf7\u6c42\u7684\u57fa\u672c\u8fc7\u7a0b\uff1a\u5efa\u7acb\u8fde\u63a5\u2014\u63a5\u6536\u6570\u636e\u2014\u53d1\u9001\u6570\u636e\uff0c\u5728\u7cfb\u7edf\u5e95\u5c42\u770b\u6765 \uff1a\u4e0a\u8ff0\u8fc7\u7a0b\uff08\u5efa\u7acb\u8fde\u63a5\u2014\u63a5\u6536\u6570\u636e\u2014\u53d1\u9001\u6570\u636e\uff09\u5728\u7cfb\u7edf\u5e95\u5c42\u5c31\u662f\u8bfb\u5199\u4e8b\u4ef6\u3002
\u3000\u3000\u2460\u5982\u679c\u91c7\u7528\u963b\u585e\u8c03\u7528\u7684\u65b9\u5f0f\uff0c\u5f53\u8bfb\u5199\u4e8b\u4ef6\u6ca1\u6709\u51c6\u5907\u597d\u65f6\uff0c\u5fc5\u7136\u4e0d\u80fd\u591f\u8fdb\u884c\u8bfb\u5199\u4e8b\u4ef6\uff0c\u90a3\u4e48\u4e45\u53ea\u597d\u7b49\u5f85\uff0c\u7b49\u4e8b\u4ef6\u51c6\u5907\u597d\u4e86\uff0c\u624d\u80fd\u8fdb\u884c\u8bfb\u5199\u4e8b\u4ef6\uff0c\u90a3\u4e48\u8bf7\u6c42\u5c31\u4f1a\u88ab\u803d\u6401 \u3002
\u3000\u3000\u2461\u65e2\u7136\u6ca1\u6709\u51c6\u5907\u597d\u963b\u585e\u8c03\u7528\u4e0d\u884c\uff0c\u90a3\u4e48\u91c7\u7528\u975e\u963b\u585e\u8c03\u7528\u65b9\u5f0f\u3002\u975e\u963b\u585e\u5c31\u662f\uff1a\u4e8b\u4ef6\u9a6c\u4e0a\u8fd4\u56de\uff0c\u544a\u8bc9\u4f60\u4e8b\u4ef6\u8fd8\u6ca1\u51c6\u5907\u597d\u5462\uff0c\u4f60\u614c\u4ec0\u4e48\uff0c\u8fc7\u4f1a\u518d\u6765\u5427\u3002\u597d\u5427\uff0c\u4f60\u8fc7\u4e00\u4f1a\uff0c\u518d\u6765\u68c0\u67e5\u4e00\u4e0b\u4e8b\u4ef6\uff0c\u76f4\u5230\u4e8b\u4ef6\u51c6\u5907\u597d\u4e86\u4e3a\u6b62\uff0c\u5728\u8fd9\u671f\u95f4\uff0c\u4f60\u5c31\u53ef\u4ee5\u5148\u53bb\u505a\u5176\u5b83\u4e8b\u60c5\uff0c\u7136\u540e\u518d\u6765\u770b\u770b\u4e8b\u4ef6\u597d\u4e86\u6ca1\u3002\u867d\u7136\u4e0d\u963b\u585e\u4e86\uff0c\u4f46\u4f60\u5f97\u4e0d\u65f6\u5730\u8fc7\u6765\u68c0\u67e5\u4e00\u4e0b\u4e8b\u4ef6\u7684\u72b6\u6001\uff0c\u4f60\u53ef\u4ee5\u505a\u66f4\u591a\u7684\u4e8b\u60c5\u4e86\uff0c\u4f46\u5e26\u6765\u7684\u5f00\u9500\u4e5f\u662f\u4e0d\u5c0f\u7684\u3002
\u3000\u3000\uff084\uff09\u4e8b\u4ef6\u9a71\u52a8\uff1a\u901a\u4fe1\u673a\u5236\u91c7\u7528epoll\u6a21\u578b\uff0c\u652f\u6301\u66f4\u5927\u7684\u5e76\u53d1\u8fde\u63a5\u3002
\u3000\u3000\u2460\u975e\u963b\u585e\u901a\u8fc7\u4e0d\u65ad\u68c0\u67e5\u4e8b\u4ef6\u7684\u72b6\u6001\u6765\u5224\u65ad\u662f\u5426\u8fdb\u884c\u8bfb\u5199\u64cd\u4f5c\uff0c\u8fd9\u6837\u5e26\u6765\u7684\u5f00\u9500\u5f88\u5927\uff0c\u56e0\u6b64\u5c31\u6709\u4e86\u5f02\u6b65\u975e\u963b\u585e\u7684\u4e8b\u4ef6\u5904\u7406\u673a\u5236\u3002\u8fd9\u79cd\u673a\u5236\u8ba9\u4f60\u53ef\u4ee5\u540c\u65f6\u76d1\u63a7\u591a\u4e2a\u4e8b\u4ef6\uff0c\u8c03\u7528\u4ed6\u4eec\u662f\u963b\u585e\u7684\uff0c\u4f46\u53ef\u4ee5\u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4\uff0c\u5728\u8d85\u65f6\u65f6\u95f4\u4e4b\u5185\uff0c\u5982\u679c\u6709\u4e8b\u4ef6\u51c6\u5907\u597d\u4e86\uff0c\u5c31\u8fd4\u56de\u3002\u8fd9\u79cd\u673a\u5236\u89e3\u51b3\u4e86\u4e0a\u9762\u963b\u585e\u8c03\u7528\u4e0e\u975e\u963b\u585e\u8c03\u7528\u7684\u4e24\u4e2a\u95ee\u9898\u3002
\u3000\u3000\u2461\u4ee5epoll\u6a21\u578b\u4e3a\u4f8b\uff1a\u5f53\u4e8b\u4ef6\u6ca1\u6709\u51c6\u5907\u597d\u65f6\uff0c\u5c31\u653e\u5165epoll(\u961f\u5217)\u91cc\u9762\u3002\u5982\u679c\u6709\u4e8b\u4ef6\u51c6\u5907\u597d\u4e86\uff0c\u90a3\u4e48\u5c31\u53bb\u5904 \u7406\uff1b\u5982\u679c\u4e8b\u4ef6\u8fd4\u56de\u7684\u662fEAGAIN\uff0c\u90a3\u4e48\u7ee7\u7eed\u5c06\u5176\u653e\u5165epoll\u91cc\u9762\u3002\u4ece\u800c\uff0c\u53ea\u8981\u6709\u4e8b\u4ef6\u51c6\u5907\u597d\u4e86\uff0c\u6211\u4eec\u5c31\u53bb\u5904\u7406\u5b83\uff0c\u53ea\u6709\u5f53\u6240\u6709\u4e8b\u4ef6\u90fd\u6ca1\u6709\u51c6\u5907\u597d\u65f6\uff0c\u624d\u5728 epoll\u91cc\u9762\u7b49\u7740\u3002\u8fd9\u6837\uff0c\u6211\u4eec\u5c31\u53ef\u4ee5\u5e76\u53d1\u5904\u7406\u5927\u91cf\u7684\u5e76\u53d1\u4e86\uff0c\u5f53\u7136\uff0c\u8fd9\u91cc\u7684\u5e76\u53d1\u8bf7\u6c42\uff0c\u662f\u6307\u672a\u5904\u7406\u5b8c\u7684\u8bf7\u6c42\uff0c\u7ebf\u7a0b\u53ea\u6709\u4e00\u4e2a\uff0c\u6240\u4ee5\u540c\u65f6\u80fd\u5904\u7406\u7684\u8bf7\u6c42\u5f53\u7136\u53ea\u6709\u4e00 \u4e2a\u4e86\uff0c\u53ea\u662f\u5728\u8bf7\u6c42\u95f4\u8fdb\u884c\u4e0d\u65ad\u5730\u5207\u6362\u800c\u5df2\uff0c\u5207\u6362\u4e5f\u662f\u56e0\u4e3a\u5f02\u6b65\u4e8b\u4ef6\u672a\u51c6\u5907\u597d\uff0c\u800c\u4e3b\u52a8\u8ba9\u51fa\u7684\u3002\u8fd9\u91cc\u7684\u5207\u6362\u662f\u6ca1\u6709\u4efb\u4f55\u4ee3\u4ef7\uff0c\u4f60\u53ef\u4ee5\u7406\u89e3\u4e3a\u5faa\u73af\u5904\u7406\u591a\u4e2a\u51c6\u5907\u597d\u7684\u4e8b \u4ef6\uff0c\u4e8b\u5b9e\u4e0a\u5c31\u662f\u8fd9\u6837\u7684\u3002
\u3000\u3000\u2462\u4e0e\u591a\u7ebf\u7a0b\u65b9\u5f0f\u76f8\u6bd4\uff0c\u8fd9\u79cd\u4e8b\u4ef6\u5904\u7406\u65b9\u5f0f\u662f\u6709\u5f88\u5927\u7684\u4f18\u52bf\u7684\uff0c\u4e0d\u9700\u8981\u521b\u5efa\u7ebf\u7a0b\uff0c\u6bcf\u4e2a\u8bf7\u6c42\u5360\u7528\u7684\u5185\u5b58\u4e5f\u5f88\u5c11\uff0c\u6ca1\u6709\u4e0a\u4e0b\u6587\u5207\u6362\uff0c \u4e8b\u4ef6\u5904\u7406\u975e\u5e38\u7684\u8f7b\u91cf\u7ea7\uff0c\u5e76\u53d1\u6570\u518d\u591a\u4e5f\u4e0d\u4f1a\u5bfc\u81f4\u65e0\u8c13\u7684\u8d44\u6e90\u6d6a\u8d39\uff08\u4e0a\u4e0b\u6587\u5207\u6362\uff09\u3002\u5bf9\u4e8eIIS\u670d\u52a1\u5668\uff0c\u6bcf\u4e2a\u8bf7\u6c42\u4f1a\u72ec\u5360\u4e00\u4e2a\u5de5\u4f5c\u7ebf\u7a0b\uff0c\u5f53\u5e76\u53d1\u6570\u4e0a\u5230\u51e0\u5343\u65f6\uff0c\u5c31\u540c\u65f6 \u6709\u51e0\u5343\u7684\u7ebf\u7a0b\u5728\u5904\u7406\u8bf7\u6c42\u4e86\u3002\u8fd9\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u6765\u8bf4\uff0c\u662f\u4e2a\u4e0d\u5c0f\u7684\u6311\u6218\uff1a\u56e0\u4e3a\u7ebf\u7a0b\u5e26\u6765\u7684\u5185\u5b58\u5360\u7528\u975e\u5e38\u5927\uff0c\u7ebf\u7a0b\u7684\u4e0a\u4e0b\u6587\u5207\u6362\u5e26\u6765\u7684cpu\u5f00\u9500\u5f88\u5927\uff0c\u81ea\u7136\u6027\u80fd\u5c31\u4e0a\u4e0d \u53bb\uff0c\u4ece\u800c\u5bfc\u81f4\u5728\u9ad8\u5e76\u53d1\u573a\u666f\u4e0b\u6027\u80fd\u4e0b\u964d\u4e25\u91cd\u3002
\u3000\u3000\u603b\u7ed3\uff1a\u901a\u8fc7\u5f02\u6b65\u975e\u963b\u585e\u7684\u4e8b\u4ef6\u5904\u7406\u673a\u5236\uff0cNginx\u5b9e\u73b0\u7531\u8fdb\u7a0b\u5faa\u73af\u5904\u7406\u591a\u4e2a\u51c6\u5907\u597d\u7684\u4e8b\u4ef6\uff0c\u4ece\u800c\u5b9e\u73b0\u9ad8\u5e76\u53d1\u548c\u8f7b\u91cf\u7ea7\u3002
\u3000\u3000\uff085\uff09Master/Worker\u7ed3\u6784\uff1a\u4e00\u4e2amaster\u8fdb\u7a0b\uff0c\u751f\u6210\u4e00\u4e2a\u6216\u591a\u4e2aworker\u8fdb\u7a0b\u3002
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000PS\uff1aMaster-Worker\u8bbe\u8ba1\u6a21\u5f0f\u6838\u5fc3\u601d\u60f3\u662f\u5c06\u539f\u6765\u4e32\u884c\u7684\u903b\u8f91\u5e76\u884c\u5316\uff0c \u5e76\u5c06\u903b\u8f91\u62c6\u5206\u6210\u5f88\u591a\u72ec\u7acb\u6a21\u5757\u5e76\u884c\u6267\u884c\u3002\u5176\u4e2d\u4e3b\u8981\u5305\u542b\u4e24\u4e2a\u4e3b\u8981\u7ec4\u4ef6Master\u548cWorker\uff0cMaster\u4e3b\u8981\u5c06\u903b\u8f91\u8fdb\u884c\u62c6\u5206\uff0c\u62c6\u5206\u4e3a\u4e92\u76f8\u72ec\u7acb\u7684\u90e8\u5206\uff0c\u540c \u65f6\u7ef4\u62a4\u4e86Worker\u961f\u5217\uff0c\u5c06\u6bcf\u4e2a\u72ec\u7acb\u90e8\u5206\u4e0b\u53d1\u5230\u591a\u4e2aWorker\u5e76\u884c\u6267\u884c\uff0cWorker\u4e3b\u8981\u8fdb\u884c\u5b9e\u9645\u903b\u8f91\u8ba1\u7b97\uff0c\u5e76\u5c06\u7ed3\u679c\u8fd4\u56de\u7ed9Master\u3002
\u3000\u3000\u95ee\uff1anginx\u91c7\u7528\u8fd9\u79cd\u8fdb\u7a0b\u6a21\u578b\u6709\u4ec0\u4e48\u597d\u5904\uff1f
\u3000\u3000\u7b54\uff1a\u91c7\u7528\u72ec\u7acb\u7684\u8fdb\u7a0b\uff0c\u53ef\u4ee5\u8ba9\u4e92\u76f8\u4e4b\u95f4\u4e0d\u4f1a\u5f71\u54cd\uff0c\u4e00\u4e2a\u8fdb\u7a0b\u9000\u51fa\u540e\uff0c\u5176\u5b83\u8fdb\u7a0b\u8fd8\u5728\u5de5\u4f5c\uff0c\u670d\u52a1\u4e0d\u4f1a\u4e2d\u65ad\uff0cMaster \u8fdb\u7a0b\u5219\u5f88\u5feb\u91cd\u65b0\u542f\u52a8\u65b0\u7684Worker\u8fdb\u7a0b\u3002\u5f53\u7136\uff0cWorker\u8fdb\u7a0b\u7684\u5f02\u5e38\u9000\u51fa\uff0c\u80af\u5b9a\u662f\u7a0b\u5e8f\u6709bug\u4e86\uff0c\u5f02\u5e38\u9000\u51fa\uff0c\u4f1a\u5bfc\u81f4\u5f53\u524dWorker\u4e0a\u7684\u6240\u6709\u8bf7\u6c42\u5931 \u8d25\uff0c\u4e0d\u8fc7\u4e0d\u4f1a\u5f71\u54cd\u5230\u6240\u6709\u8bf7\u6c42\uff0c\u6240\u4ee5\u964d\u4f4e\u4e86\u98ce\u9669\u3002
\u3000\u3000\uff086\uff09\u5185\u5b58\u6d88\u8017\u5c0f\uff1a\u5904\u7406\u5927\u5e76\u53d1\u7684\u8bf7\u6c42\u5185\u5b58\u6d88\u8017\u975e\u5e38\u5c0f\u3002\u57283\u4e07\u5e76\u53d1\u8fde\u63a5\u4e0b\uff0c\u5f00\u542f\u768410\u4e2aNginx \u8fdb\u7a0b\u624d\u6d88\u8017150M\u5185\u5b58\uff0815M*10=150M\uff09\u3002
\u3000\u3000\uff087\uff09\u5185\u7f6e\u7684\u5065\u5eb7\u68c0\u67e5\u529f\u80fd\uff1a\u5982\u679c Nginx \u4ee3\u7406\u7684\u540e\u7aef\u7684\u67d0\u53f0 Web \u670d\u52a1\u5668\u5b95\u673a\u4e86\uff0c\u4e0d\u4f1a\u5f71\u54cd\u524d\u7aef\u8bbf\u95ee\u3002
\u3000\u3000\uff088\uff09\u8282\u7701\u5e26\u5bbd\uff1a\u652f\u6301 GZIP \u538b\u7f29\uff0c\u53ef\u4ee5\u6dfb\u52a0\u6d4f\u89c8\u5668\u672c\u5730\u7f13\u5b58\u7684 Header \u5934\u3002
\u3000\u3000\uff089\uff09\u7a33\u5b9a\u6027\u9ad8\uff1a\u7528\u4e8e\u53cd\u5411\u4ee3\u7406\uff0c\u5b95\u673a\u7684\u6982\u7387\u5fae\u4e4e\u5176\u5fae\u3002
\u3000\u3000\u4e09\u3001\u6784\u5efa\u5b9e\u6218\uff1aNginx+IIS\u6784\u7b51Web\u670d\u52a1\u5668\u96c6\u7fa4\u7684\u8d1f\u8f7d\u5747\u8861
\u3000\u3000\u8fd9\u91cc\u6211\u4eec\u4e3b\u8981\u5728Windows\u73af\u5883\u4e0b\uff0c\u901a\u8fc7\u5c06\u540c\u4e00\u4e2aWeb\u7f51\u7ad9\u90e8\u7f72\u5230\u4e0d\u540c\u670d\u52a1\u5668\u7684IIS\u4e0a\uff0c\u518d\u901a\u8fc7\u4e00\u4e2a\u7edf\u4e00\u7684Nginx\u53cd\u54cd\u4ee3\u7406\u670d\u52a1\u5668\u5bf9\u5916\u63d0\u4f9b\u7edf\u4e00\u8bbf\u95ee\u63a5\u5165\uff0c\u5b9e\u73b0\u4e00\u4e2a\u6700\u7b80\u5316\u7684\u53cd\u5411\u4ee3\u7406\u548c\u8d1f\u8f7d\u5747\u8861\u670d\u52a1\u3002\u4f46\u662f\uff0c\u53d7\u9650\u4e8e\u5b9e\u9a8c\u6761\u4ef6\uff0c \u6211\u4eec\u8fd9\u91cc\u4e3b\u8981\u5728\u4e00\u53f0\u8ba1\u7b97\u673a\u4e0a\u8fdb\u884c\u53cd\u5411\u4ee3\u7406\u3001IIS\u96c6\u7fa4\u7684\u6a21\u62df\uff0c\u5177\u4f53\u7684\u5b9e\u9a8c\u73af\u5883\u5982\u4e0b\u56fe\u6240\u793a\uff1a\u6211\u4eec\u5c06nginx\u670d\u52a1\u548cweb\u7f51\u7ad9\u90fd\u90e8\u7f72\u5728\u4e00\u53f0\u8ba1\u7b97\u673a \u4e0a\uff0cnginx\u76d1\u542chttp80\u7aef\u53e3\uff0c\u800cweb\u7f51\u7ad9\u5206\u522b\u4ee5\u4e0d\u540c\u7684\u7aef\u53e3\u53f7\uff08\u8fd9\u91cc\u662f8050\u53ca8060\uff09\u90e8\u7f72\u5728\u540c\u4e00\u4e2aIIS\u670d\u52a1\u5668\u4e0a\uff0c\u7528\u6237\u8bbf\u95ee localhost\u65f6\uff0cnginx\u4f5c\u4e3a\u53cd\u5411\u4ee3\u7406\u5c06\u8bf7\u6c42\u5747\u8861\u5730\u8f6c\u53d1\u7ed9\u4e24\u4e2aIIS\u4e2d\u4e0d\u540c\u7aef\u53e3\u7684Web\u5e94\u7528\u7a0b\u5e8f\u8fdb\u884c\u5904\u7406\u3002\u867d\u7136\u5b9e\u9a8c\u73af\u5883\u5f88\u7b80\u5355\u800c\u4e14\u6709\u9650\uff0c\u4f46\u662f\u5bf9\u4e8e \u4e00\u4e2a\u7b80\u5355\u7684\u8d1f\u8f7d\u5747\u8861\u6548\u679c\u800c\u8a00\uff0c\u672c\u6587\u662f\u53ef\u4ee5\u8fbe\u5230\u5e76\u4e14\u5c55\u793a\u7684\u3002
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u30003.1 \u51c6\u5907\u4e00\u4e2aASP.NET\u7f51\u7ad9\u90e8\u7f72\u5230IIS\u670d\u52a1\u5668\u96c6\u7fa4\u4e2d
\u3000\u3000\uff081\uff09\u5728VS\u4e2d\u65b0\u5efa\u4e00\u4e2aASP.NET Web\u5e94\u7528\u7a0b\u5e8f\uff0c\u4f46\u662f\u4e3a\u4e86\u5728\u4e00\u53f0\u8ba1\u7b97\u673a\u4e0a\u5c55\u793a\u6548\u679c\uff0c\u6211\u4eec\u5c06\u8fd9\u4e2aWeb\u7a0b\u5e8f\u590d\u5236\u4e00\u4efd\uff0c\u5e76\u4fee\u6539\u4e24\u4e2aWeb\u7a0b\u5e8f\u7684Default.aspx\uff0c\u8ba9\u5176\u7684\u9996\u9875\u663e\u793a\u4e0d\u540c \u7684\u4e00\u70b9\u4fe1\u606f\u3002\u8fd9\u91ccWeb1\u5c55\u793a\u7684\u662f\u201cThe First Web\uff1a\u201d\uff0c\u800cWeb2\u5c55\u793a\u7684\u5219\u662f\u201cThe Second Web\u201d\u3002
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\uff082\uff09\u8c03\u8bd5\u8fd0\u884c\uff0c\u770b\u770b\u4e24\u4e2a\u7f51\u7ad9\u7684\u6548\u679c\u5982\u4f55\uff1f
\u3000\u3000\u2460Web1\u7684\u5c55\u793a\u6548\u679c\uff1a
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\u2461Web2\u7684\u5c55\u793a\u6548\u679c\uff1a
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\u2462\u90e8\u7f72\u5230IIS\u4e2d\uff0c\u5206\u914d\u4e0d\u540c\u7684\u7aef\u53e3\u53f7\uff1a\u8fd9\u91cc\u6211\u9009\u62e9\u4e86Web1:8050\uff0cWeb2:8060
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\uff083\uff09\u603b\u7ed3\uff1a\u5728\u771f\u5b9e\u73af\u5883\u4e2d\uff0c\u6784\u5efaWeb\u5e94\u7528\u670d\u52a1\u5668\u96c6\u7fa4\u7684\u5b9e\u73b0\u662f\u5c06\u540c\u4e00\u4e2aWeb\u5e94\u7528\u7a0b\u5e8f\u90e8\u7f72\u5230Web\u670d\u52a1\u5668\u96c6\u7fa4\u4e2d\u7684\u591a\u4e2aWeb\u670d\u52a1\u5668\u4e0a\u3002
\u3000\u30003.2 \u4e0b\u8f7dNginx\u5e76\u90e8\u7f72\u5230\u670d\u52a1\u5668\u4e2d\u4f5c\u4e3a\u81ea\u542f\u52a8\u7684Windows\u670d\u52a1
\u3000\u3000\uff081\uff09\u5230Nginx\u5b98\u7f51\u4e0b\u8f7dNginx\u7684Windows\u7248\u672c\uff1ahttp://nginx.org/en/download.html\uff08\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528nginx/Windows-1.4.7\u7248\u672c\u8fdb\u884c\u5b9e\u9a8c\uff0c\u672c\u6587\u5e95\u90e8\u6709\u4e0b\u8f7d\u5730\u5740\uff09
\u3000\u3000\uff082\uff09\u89e3\u538b\u5230\u78c1\u76d8\u4efb\u610f\u76ee\u5f55\uff0c\u4f8b\u5982\u8fd9\u91cc\u6211\u89e3\u538b\u5230\u4e86\uff1aD:\Servers\nginx-1.4.7
\u3000\u3000\uff083\uff09\u542f\u52a8\u3001\u505c\u6b62\u548c\u91cd\u65b0\u52a0\u8f7d\u670d\u52a1\uff1a\u901a\u8fc7cmd\u4ee5\u5b88\u62a4\u8fdb\u7a0b\u65b9\u5f0f\u542f\u52a8nginx.exe\uff1astart nginx.exe\uff0c\u505c\u6b62\u670d\u52a1\uff1anginx -s stop\uff0c\u91cd\u65b0\u52a0\u8f7d\u914d\u7f6e\uff1anginx -s reload\uff1b
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\uff084\uff09\u6bcf\u6b21\u4ee5cmd\u65b9\u5f0f\u542f\u52a8Nginx\u670d\u52a1\u4e0d\u7b26\u5408\u5b9e\u9645\u8981\u6c42\uff0c\u4e8e\u662f\u6211\u4eec\u60f3\u5230\u5c06\u5176\u6ce8\u518c\u4e3aWindows\u670d\u52a1\uff0c\u5e76\u8bbe\u7f6e\u4e3a\u81ea\u52a8\u542f\u52a8\u6a21\u5f0f\u3002\u8fd9\u91cc\uff0c\u6211\u4eec\u4f7f\u7528\u4e00\u4e2a \u4e0d\u9519\u7684\u5c0f\u7a0b\u5e8f\uff1a\u201cWindows Service Wrapper\u201d\uff0c\u5c06nginx.exe\u6ce8\u518c\u4e3aWindows\u670d\u52a1\uff0c\u5177\u4f53\u7684\u6b65\u51d1\u5982\u4e0b\uff1a
\u3000\u3000\u2460\u4e0b\u8f7d\u6700\u65b0\u7248\u7684 Windows Service Wrapper \u7a0b\u5e8f\uff0c\u6bd4\u5982\u6211\u4e0b\u8f7d\u7684\u540d\u79f0\u662f \u201cwinsw-1.8-bin.exe\u201d\uff08\u672c\u6587\u5e95\u90e8\u6709\u4e0b\u8f7d\u5730\u5740\uff09\uff0c\u7136\u540e\u628a\u5b83\u547d\u540d\u6210\u4f60\u60f3\u8981\u7684\u540d\u5b57\uff08\u6bd4\u5982: \u201cnginx-service.exe\u201d\uff0c\u5f53\u7136\uff0c\u4f60\u4e5f\u53ef\u4ee5\u4e0d\u6539\u540d\uff09
\u3000\u3000\u2461\u5c06\u91cd\u547d\u540d\u540e\u7684 nginx-service.exe \u590d\u5236\u5230 nginx \u7684\u5b89\u88c5\u76ee\u5f55\uff08\u6bd4\u5982\uff0c\u6211\u8fd9\u91cc\u662f \u201cD:\Servers\nginx-1.4.7\u2033\uff09
\u3000\u3000\u2462\u5728\u540c\u4e00\u4e2a\u76ee\u5f55\u4e0b\u521b\u5efa\u4e00\u4e2aWindows Service Wrapper \u7684XML\u914d\u7f6e\u6587\u4ef6\uff0c\u540d\u79f0\u5fc5\u987b\u4e0e\u7b2c\u4e00\u6b65\u91cd\u547d\u540d\u65f6\u4f7f\u7528\u7684\u540d\u79f0\u4e00\u81f4\uff08\u6bd4\u5982\u6211\u8fd9\u91cc\u662f \u201cnginx-service.xml\u201d, \u5982\u679c\uff0c\u4f60\u6ca1\u6709\u91cd\u547d\u540d\uff0c\u5219\u5e94\u8be5\u662f \u201cwinsw-1.8-bin.xml\u201d\uff09\uff0c\u8fd9\u4e2aXML\u7684\u5185\u5bb9\u5982\u4e0b\uff1a
\u3000\u3000
\u3000\u3000
\u3000\u3000nginx
\u3000\u3000Nginx Service
\u3000\u3000High Performance Nginx Service
\u3000\u3000D:\Servers\nginx-1.4.7\nginx.exe
\u3000\u3000D:\Servers\nginx-1.4.7\
\u3000\u3000roll
\u3000\u3000
\u3000\u3000-p D:\Servers\nginx-1.4.7
\u3000\u3000-p D:\Servers\nginx-1.4.7 -s stop
\u3000\u3000
\u3000\u3000\u2463\u5728\u547d\u4ee4\u884c\u4e0b\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u4ee5\u4fbf\u5c06\u5176\u6ce8\u518c\u6210Windows\u670d\u52a1\uff1anginx-service.exe install
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\u2464\u63a5\u4e0b\u6765\u5c31\u53ef\u4ee5\u5728Windows\u670d\u52a1\u5217\u8868\u770b\u5230Nginx\u670d\u52a1\u4e86\uff0c\u8fd9\u91cc\u6211\u4eec\u53ef\u4ee5\u5c06\u5176\u8bbe\u7f6e\u4e3a\u81ea\u52a8\u542f\u52a8\u4e86\uff1a
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\uff085\uff09\u603b\u7ed3\uff1a\u5728Windows\u73af\u5883\u4e2d\uff0c\u8981\u5bf9\u5916\u63d0\u4f9b\u7684Windows\u670d\u52a1\u4e00\u822c\u90fd\u8981\u5c06\u5176\u542f\u52a8\u7c7b\u578b\u8bbe\u7f6e\u4e3a\u81ea\u52a8\u3002
\u3000\u30003.3 \u4fee\u6539Nginx\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6nginx.conf
\u3000\u3000\uff081\uff09\u8fdb\u7a0b\u6570\u4e0e\u6bcf\u4e2a\u8fdb\u7a0b\u7684\u6700\u5927\u8fde\u63a5\u6570\uff1a
\u3000\u3000?nginx\u8fdb\u7a0b\u6570\uff0c\u5efa\u8bae\u8bbe\u7f6e\u4e3a\u7b49\u4e8eCPU\u603b\u6838\u5fc3\u6570
\u3000\u3000?\u5355\u4e2a\u8fdb\u7a0b\u6700\u5927\u8fde\u63a5\u6570\uff0c\u90a3\u4e48\u8be5\u670d\u52a1\u5668\u7684\u6700\u5927\u8fde\u63a5\u6570=\u8fde\u63a5\u6570*\u8fdb\u7a0b\u6570
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\uff082\uff09Nginx\u7684\u57fa\u672c\u914d\u7f6e\uff1a
\u3000\u3000?\u76d1\u542c\u7aef\u53e3\u4e00\u822c\u90fd\u4e3ahttp\u7aef\u53e3\uff1a80;
\u3000\u3000?\u57df\u540d\u53ef\u4ee5\u6709\u591a\u4e2a\uff0c\u7528\u7a7a\u683c\u9694\u5f00\uff1a\u4f8b\u5982 server_name www.ha97.com ha97.com;
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\uff083\uff09\u8d1f\u8f7d\u5747\u8861\u5217\u8868\u57fa\u672c\u914d\u7f6e\uff1a
\u3000\u3000?location / {}\uff1a\u5bf9aspx\u540e\u7f00\u7684\u8fdb\u884c\u8d1f\u8f7d\u5747\u8861\u8bf7\u6c42\uff0c\u5047\u5982\u6211\u4eec\u8981\u5bf9\u6240\u6709\u7684aspx\u540e\u7f00\u7684\u6587\u4ef6\u8fdb\u884c\u8d1f\u8f7d\u5747\u8861\u65f6\uff0c\u53ef\u4ee5\u8fd9\u6837\u5199\uff1alocation ~ .*\.aspx$ {}
\u3000\u3000?proxy_pass\uff1a\u8bf7\u6c42\u8f6c\u5411\u81ea\u5b9a\u4e49\u7684\u670d\u52a1\u5668\u5217\u8868\uff0c\u8fd9\u91cc\u6211\u4eec\u5c06\u8bf7\u6c42\u90fd\u8f6c\u5411\u6807\u8bc6\u4e3ahttp://cuitccol.com\u7684\u8d1f\u8f7d\u5747\u8861\u670d\u52a1\u5668\u5217\u8868\uff1b
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000?\u5728\u8d1f\u8f7d\u5747\u8861\u670d\u52a1\u5668\u5217\u8868\u7684\u914d\u7f6e\u4e2d\uff0cweight\u662f\u6743\u91cd\uff0c\u53ef\u4ee5\u6839\u636e\u673a\u5668\u914d\u7f6e\u5b9a\u4e49\u6743\u91cd\uff08\u5982\u679c\u67d0\u53f0\u670d\u52a1\u5668\u7684\u786c\u4ef6\u914d\u7f6e\u5341\u5206\u597d\uff0c\u53ef\u4ee5\u5904\u7406\u66f4\u591a\u7684\u8bf7\u6c42\uff0c\u90a3\u4e48\u53ef\u4ee5 \u4e3a\u5176\u8bbe\u7f6e\u4e00\u4e2a\u6bd4\u8f83\u9ad8\u7684weight\uff1b\u800c\u6709\u4e00\u53f0\u7684\u670d\u52a1\u5668\u7684\u786c\u4ef6\u914d\u7f6e\u6bd4\u8f83\u5dee\uff0c\u90a3\u4e48\u53ef\u4ee5\u5c06\u524d\u4e00\u53f0\u7684weight\u914d\u7f6e\u4e3aweight=2\uff0c\u540e\u4e00\u53f0\u5dee\u7684\u914d\u7f6e\u4e3a weight=1\uff09\u3002weigth\u53c2\u6570\u8868\u793a\u6743\u503c\uff0c\u6743\u503c\u8d8a\u9ad8\u88ab\u5206\u914d\u5230\u7684\u51e0\u7387\u8d8a\u5927\uff1b
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\uff084\uff09\u603b\u7ed3\uff1a\u6700\u57fa\u672c\u7684Nginx\u914d\u7f6e\u5dee\u4e0d\u591a\u5c31\u662f\u4e0a\u9762\u8fd9\u4e9b\u5185\u5bb9\uff0c\u5f53\u7136\u4ec5\u4ec5\u662f\u6700\u57fa\u7840\u7684\u914d\u7f6e\u3002\uff08\u8be6\u7ec6\u7684\u914d\u7f6e\u5185\u5bb9\u8bf7\u4e0b\u8f7d\u5e95\u90e8\u7684nginx-1.4.7\u8be6\u7ec6\u67e5\u770b\uff09
\u3000\u30003.4 \u6dfb\u52a0Nginx\u5bf9\u4e8e\u9759\u6001\u6587\u4ef6\u7684\u7f13\u5b58\u914d\u7f6e
\u3000\u3000\u4e3a\u4e86\u63d0\u9ad8\u54cd\u5e94\u901f\u5ea6\uff0c\u51cf\u8f7b\u771f\u5b9e\u670d\u52a1\u5668\u7684\u8d1f\u8f7d\uff0c\u5bf9\u4e8e\u9759\u6001\u8d44\u6e90\u6211\u4eec\u53ef\u4ee5\u5728\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u4e2d\u8fdb\u884c\u7f13\u5b58\uff0c\u8fd9\u4e5f\u662f\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u7684\u4e00\u4e2a\u91cd\u8981\u7684\u4f5c\u7528\u3002
\u3000\u3000\uff081\uff09\u7f13\u5b58\u9759\u6001\u8d44\u6e90\u4e4b\u56fe\u7247\u6587\u4ef6
\u3000\u3000root /nginx-1.4.7/staticresources/image\uff1a\u5bf9\u4e8e\u914d\u7f6e\u4e2d\u63d0\u5230\u7684jpg/png\u7b49\u6587\u4ef6\u5747\u5b9a\u4e3a\u5230/nginx-1.4.7/staticresources/image\u6587\u4ef6\u5939\u4e2d\u8fdb\u884c\u5bfb\u627e\u5339\u914d\u5e76\u5c06\u6587\u4ef6\u8fd4\u56de\uff1b
\u3000\u3000expires 7d\uff1a\u8fc7\u671f\u65f6\u6548\u4e3a7\u5929\uff0c\u9759\u6001\u6587\u4ef6\u4e0d\u600e\u4e48\u66f4\u65b0\uff0c\u8fc7\u671f\u65f6\u6548\u53ef\u4ee5\u8bbe\u5927\u4e00\u70b9\uff0c\u5982\u679c\u9891\u7e41\u66f4\u65b0\uff0c\u5219\u53ef\u4ee5\u8bbe\u7f6e\u5f97\u5c0f\u4e00\u70b9\uff1b
\u3000\u3000TIPS\uff1a\u4e0b\u9762\u7684\u6837\u5f0f\u3001\u811a\u672c\u7f13\u5b58\u914d\u7f6e\u540c\u8fd9\u91cc\u4e00\u6837\uff0c\u53ea\u662f\u5b9a\u4f4d\u7684\u6587\u4ef6\u5939\u4e0d\u4e00\u6837\u800c\u5df2\uff0c\u4e0d\u518d\u8d58\u8ff0\u3002
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\uff082\uff09\u7f13\u5b58\u9759\u6001\u8d44\u6e90\u4e4b\u6837\u5f0f\u6587\u4ef6
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\uff083\uff09\u7f13\u5b58\u9759\u6001\u8d44\u6e90\u4e4b\u811a\u672c\u6587\u4ef6
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\uff084\uff09\u5728nginx\u670d\u52a1\u6587\u4ef6\u5939\u4e2d\u521b\u5efa\u9759\u6001\u8d44\u6e90\u6587\u4ef6\u5939\uff0c\u5e76\u8981\u7f13\u5b58\u7684\u9759\u6001\u6587\u4ef6\u62f7\u8d1d\u8fdb\u53bb\uff1a\u8fd9\u91cc\u6211\u4e3b\u8981\u5c06Web\u7a0b\u5e8f\u4e2d\u7528\u5230\u7684image\u3001css\u4ee5\u53cajs\u6587\u4ef6\u62f7\u8d1d\u4e86\u8fdb\u53bb\uff1b
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\uff085\uff09\u603b\u7ed3\uff1a\u901a\u8fc7\u914d\u7f6e\u9759\u6001\u6587\u4ef6\u7684\u7f13\u5b58\u8bbe\u7f6e\uff0c\u5bf9\u4e8e\u8fd9\u4e9b\u9759\u6001\u6587\u4ef6\u7684\u8bf7\u6c42\u53ef\u4ee5\u76f4\u63a5\u4ece\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u4e2d\u76f4\u63a5\u8fd4\u56de\uff0c\u800c\u65e0\u9700\u518d\u5c06\u8fd9\u4e9b\u9759\u6001\u8d44\u6e90\u8bf7\u6c42\u8f6c\u53d1\u5230\u5177\u4f53\u7684Web\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\u4e86\uff0c\u53ef\u4ee5\u63d0\u9ad8\u54cd\u5e94\u901f\u5ea6\uff0c\u51cf\u8f7b\u771f\u5b9eWeb\u670d\u52a1\u5668\u7684\u8d1f\u8f7d\u538b\u529b\u3002
\u3000\u30003.5 \u7b80\u5355\u6d4b\u8bd5Nginx\u53cd\u5411\u4ee3\u7406\u5b9e\u73b0\u8d1f\u8f7d\u5747\u8861\u6548\u679c
\u3000\u3000\uff081\uff09\u7b2c\u4e00\u6b21\u8bbf\u95eehttp://localhost/Default.aspx\u65f6\u4ece127.0.0.1:8050\u5904\u7406\u54cd\u5e94\u8fd4\u56de\u7ed3\u679c
\u3000\u3000\uff082\uff09\u7b2c\u4e8c\u6b21\u8bbf\u95eehttp://localhost/Default.aspx\u65f6\u4ece127.0.0.1:8060\u5904\u7406\u54cd\u5e94\u8fd4\u56de\u7ed3\u679c
\u3000\u3000\uff083\uff09\u591a\u6b21\u8bbf\u95eehttp://localhost/Default.aspx\u65f6\u7684\u622a\u5c4f\uff1a
\u3000\u3000Nginx\u642d\u5efa\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\u8fc7\u7a0b\u8be6\u89e3
\u3000\u3000\u5b66\u4e60\u5c0f\u7ed3
\u3000\u3000\u5728\u672c\u6587\u4e2d\uff0c\u501f\u52a9\u4e86Nginx\u8fd9\u4e2a\u795e\u5668\u7b80\u5355\u5730\u5728Windows\u73af\u5883\u4e0b\u642d\u5efa\u4e86\u4e00\u4e2a\u53cd\u5411\u4ee3\u7406\u670d\u52a1\uff0c\u5e76\u6a21\u62df\u4e86\u4e00\u4e2aIIS\u670d\u52a1\u5668\u96c6\u7fa4\u7684\u8d1f\u8f7d\u5747\u8861\u6548\u679c\u3002\u4ece\u8fd9\u4e2a DEMO\u4e2d\uff0c\u6211\u4eec\u53ef\u4ee5\u7b80\u5355\u5730\u611f\u53d7\u5230\u53cd\u5411\u4ee3\u7406\u4e3a\u6211\u4eec\u6240\u505a\u7684\u4e8b\u60c5\uff0c\u5e76\u4f53\u4f1a\u8d1f\u8f7d\u5747\u8861\u662f\u600e\u4e48\u4e00\u56de\u4e8b\u3002\u4f46\u662f\uff0c\u5728\u76ee\u524d\u5927\u591a\u6570\u7684\u5e94\u7528\u4e2d\uff0c\u90fd\u4f1a\u5c06Nginx\u90e8\u7f72\u5728 Linux\u670d\u52a1\u5668\u4e2d\uff0c\u5e76\u4e14\u4f1a\u505a\u4e00\u4e9b\u9488\u5bf9\u8d1f\u8f7d\u5747\u8861\u7684\u4f18\u5316\u914d\u7f6e\uff0c\u8fd9\u91cc\u6211\u4eec\u6240\u505a\u7684\u4ec5\u4ec5\u5c31\u662f\u4e00\u4e2a\u5c0f\u5c0f\u7684\u4f7f\u7528\u800c\u5df2\uff08just\u4fee\u6539\u4e00\u4e0b\u914d\u7f6e\u6587\u4ef6\uff09\u3002\u4e0d\u8fc7\uff0c\u4e07\u4e08\u9ad8\u697c\u5e73\u5730 \u8d77\uff0c\u524d\u671f\u7684\u5c0f\u5c0f\u4f53\u4f1a\uff0c\u4e5f\u4f1a\u5e2e\u52a9\u6211\u4eec\u5411\u540e\u671f\u7684\u6df1\u5165\u5b66\u4e60\u5960\u5b9a\u4e00\u70b9\u70b9\u7684\u57fa\u7840\u3002
\u3000\u3000\u7a81\u7136\u5728QQ\u7a7a\u95f4\u91cc\u770b\u5230\u4e86\u670b\u53cb\u9001\u7684\u793c\u7269\uff0c\u731b\u7136\u53d1\u73b0\u4eca\u5929\u5c45\u7136\u662f\u6211\u7684\u9633\u5386\u751f\u65e5\uff0c\u597d\u5427\uff0c\u6211\u795d\u6211\u81ea\u5df1\u751f\u65e5\u5feb\u4e50\uff0c\u5e0c\u671b\u81ea\u5df1\u5728\u672a\u6765\u7684\u65e5\u5b50\u4e2d\u80fd\u591f\u505a\u66f4\u591a\u7684\u5b9e\u8df5\uff0c\u5206\u4eab\u66f4\u591a\u7684\u5185\u5bb9\u3002\u5f53\u7136\uff0c\u5982\u679c\u4f60\u89c9\u5f97\u672c\u6587\u8fd8\u53ef\u4ee5\uff0c\u90a3\u4e5f\u9ebb\u70e6\u70b9\u4e2a\u8d5e\uff0c\u4e0d\u8981\u541d\u556c\u4f60\u7684\u9f20\u6807\u5de6\u952e\u54df\u3002

  一、反向代理:Web服务器的“经纪人”
  1.1 反向代理初印象
  反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
  Nginx搭建反向代理服务器过程详解
  从上图可以看出:反向代理服务器位于网站机房,代理网站Web服务器接收Http请求,对请求进行转发。
  1.2 反向代理的作用
  ①保护网站安全:任何来自Internet的请求都必须先经过代理服务器;Nginx搭建反向代理服务器过程详解
  ②通过配置缓存功能加速Web请求:可以缓存真实Web服务器上的某些静态资源,减轻真实Web服务器的负载压力;Nginx搭建反向代理服务器过程详解
  ③实现负载均衡:充当负载均衡服务器均衡地分发请求,平衡集群中各个服务器的负载压力;Nginx搭建反向代理服务器过程详解
  二、初识Nginx:简单却不平凡
  2.1 Nginx是神马?
  Nginx搭建反向代理服务器过程详解
  Nginx是一款轻量级的网页服务器、反向代理器以及电子邮件代理服务器。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
  Source:Nginx(发音同engine x),它是由俄罗斯程序员Igor Sysoev所开发的。起初是供俄国大型的门户网站及搜索引擎Rambler(俄语:Рамблер)使用。此软件BSD-like协议下发行,可以在UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及Microsoft Windows等操作系统中运行。
  说到Web服务器,Apache服务器和IIS服务器是两大巨头;但是运行速度更快、更灵活的对手:Nginx 正在迎头赶上。
  2.2 Nginx的应用现状
  Nginx 已经在俄罗斯最大的门户网站── Rambler Media(www.rambler.ru)上运行了3年时间,同时俄罗斯超过20%的虚拟主机平台采用Nginx作为反向代理服务器。
  Nginx搭建反向代理服务器过程详解Nginx搭建反向代理服务器过程详解Nginx搭建反向代理服务器过程详解Nginx搭建反向代理服务器过程详解Nginx搭建反向代理服务器过程详解在国内,已经有 淘宝、新浪博客、新浪播客、网易新闻、六间房、56.com、Discuz!、水木社区、豆瓣、YUPOO、海内、迅雷在线 等多家网站使用 Nginx 作为Web服务器或反向代理服务器。
  2.3 Nginx的核心特点
  (1)跨平台:Nginx 可以在大多数 Unix like OS编译运行,而且也有Windows的移植版本;(2)配置异常简单:非常容易上手。配置风格跟程序开发一样,神一般的配置;(3)非阻塞、高并发连接:数据复制时,磁盘I/O的第一阶段是非阻塞的。官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数。(这得益于Nginx使用了最新的epoll模型);PS:对于一个Web服务器来说,首先看一个请求的基本过程:建立连接—接收数据—发送数据,在系统底层看来 :上述过程(建立连接—接收数据—发送数据)在系统底层就是读写事件。
  ①如果采用阻塞调用的方式,当读写事件没有准备好时,必然不能够进行读写事件,那么久只好等待,等事件准备好了,才能进行读写事件,那么请求就会被耽搁 。
  ②既然没有准备好阻塞调用不行,那么采用非阻塞调用方式。非阻塞就是:事件马上返回,告诉你事件还没准备好呢,你慌什么,过会再来吧。好吧,你过一会,再来检查一下事件,直到事件准备好了为止,在这期间,你就可以先去做其它事情,然后再来看看事件好了没。虽然不阻塞了,但你得不时地过来检查一下事件的状态,你可以做更多的事情了,但带来的开销也是不小的。
  (4)事件驱动:通信机制采用epoll模型,支持更大的并发连接。
  ①非阻塞通过不断检查事件的状态来判断是否进行读写操作,这样带来的开销很大,因此就有了异步非阻塞的事件处理机制。这种机制让你可以同时监控多个事件,调用他们是阻塞的,但可以设置超时时间,在超时时间之内,如果有事件准备好了,就返回。这种机制解决了上面阻塞调用与非阻塞调用的两个问题。
  ②以epoll模型为例:当事件没有准备好时,就放入epoll(队列)里面。如果有事件准备好了,那么就去处 理;如果事件返回的是EAGAIN,那么继续将其放入epoll里面。从而,只要有事件准备好了,我们就去处理它,只有当所有事件都没有准备好时,才在 epoll里面等着。这样,我们就可以并发处理大量的并发了,当然,这里的并发请求,是指未处理完的请求,线程只有一个,所以同时能处理的请求当然只有一 个了,只是在请求间进行不断地切换而已,切换也是因为异步事件未准备好,而主动让出的。这里的切换是没有任何代价,你可以理解为循环处理多个准备好的事 件,事实上就是这样的。
  ③与多线程方式相比,这种事件处理方式是有很大的优势的,不需要创建线程,每个请求占用的内存也很少,没有上下文切换, 事件处理非常的轻量级,并发数再多也不会导致无谓的资源浪费(上下文切换)。对于IIS服务器,每个请求会独占一个工作线程,当并发数上到几千时,就同时 有几千的线程在处理请求了。这对操作系统来说,是个不小的挑战:因为线程带来的内存占用非常大,线程的上下文切换带来的cpu开销很大,自然性能就上不 去,从而导致在高并发场景下性能下降严重。
  总结:通过异步非阻塞的事件处理机制,Nginx实现由进程循环处理多个准备好的事件,从而实现高并发和轻量级。
  (5)Master/Worker结构:一个master进程,生成一个或多个worker进程。
  Nginx搭建反向代理服务器过程详解
  PS:Master-Worker设计模式核心思想是将原来串行的逻辑并行化, 并将逻辑拆分成很多独立模块并行执行。其中主要包含两个主要组件Master和Worker,Master主要将逻辑进行拆分,拆分为互相独立的部分,同 时维护了Worker队列,将每个独立部分下发到多个Worker并行执行,Worker主要进行实际逻辑计算,并将结果返回给Master。
  问:nginx采用这种进程模型有什么好处?
  答:采用独立的进程,可以让互相之间不会影响,一个进程退出后,其它进程还在工作,服务不会中断,Master 进程则很快重新启动新的Worker进程。当然,Worker进程的异常退出,肯定是程序有bug了,异常退出,会导致当前Worker上的所有请求失 败,不过不会影响到所有请求,所以降低了风险。
  (6)内存消耗小:处理大并发的请求内存消耗非常小。在3万并发连接下,开启的10个Nginx 进程才消耗150M内存(15M*10=150M)。
  (7)内置的健康检查功能:如果 Nginx 代理的后端的某台 Web 服务器宕机了,不会影响前端访问。
  (8)节省带宽:支持 GZIP 压缩,可以添加浏览器本地缓存的 Header 头。
  (9)稳定性高:用于反向代理,宕机的概率微乎其微。
  三、构建实战:Nginx+IIS构筑Web服务器集群的负载均衡这里我们主要在Windows环境下,通过将同一个Web网站部署到不同服务器的IIS上,再通过一个统一的Nginx反响代理服务器对外提供统一访问接入,实现一个最简化的反向代理和负载均衡服务。但是,受限于实验条件, 我们这里主要在一台计算机上进行反向代理、IIS集群的模拟,具体的实验环境如下图所示:我们将nginx服务和web网站都部署在一台计算机 上,nginx监听http80端口,而web网站分别以不同的端口号(这里是8050及8060)部署在同一个IIS服务器上,用户访问 localhost时,nginx作为反向代理将请求均衡地转发给两个IIS中不同端口的Web应用程序进行处理。虽然实验环境很简单而且有限,但是对于 一个简单的负载均衡效果而言,本文是可以达到并且展示的。
  Nginx搭建反向代理服务器过程详解
  3.1 准备一个ASP.NET网站部署到IIS服务器集群中(1)在VS中新建一个ASP.NET Web应用程序,但是为了在一台计算机上展示效果,我们将这个Web程序复制一份,并修改两个Web程序的Default.aspx,让其的首页显示不同 的一点信息。这里Web1展示的是“The First Web:”,而Web2展示的则是“The Second Web”。
  Nginx搭建反向代理服务器过程详解
  (2)调试运行,看看两个网站的效果如何?
  ①Web1的展示效果:
  Nginx搭建反向代理服务器过程详解
  ②Web2的展示效果:
  Nginx搭建反向代理服务器过程详解
  ③部署到IIS中,分配不同的端口号:这里我选择了Web1:8050,Web2:8060Nginx搭建反向代理服务器过程详解
  (3)总结:在真实环境中,构建Web应用服务器集群的实现是将同一个Web应用程序部署到Web服务器集群中的多个Web服务器上。
  3.2 下载Nginx并部署到服务器中作为自启动的Windows服务(1)到Nginx官网下载Nginx的Windows版本:http://nginx.org/en/download.html(这里我们使用nginx/Windows-1.4.7版本进行实验,本文底部有下载地址)(2)解压到磁盘任意目录,例如这里我解压到了:D:\Servers\nginx-1.4.7(3)启动、停止和重新加载服务:通过cmd以守护进程方式启动nginx.exe:start nginx.exe,停止服务:nginx -s stop,重新加载配置:nginx -s reload;Nginx搭建反向代理服务器过程详解
  (4)每次以cmd方式启动Nginx服务不符合实际要求,于是我们想到将其注册为Windows服务,并设置为自动启动模式。这里,我们使用一个 不错的小程序:“Windows Service Wrapper”,将nginx.exe注册为Windows服务,具体的步凑如下:
  ①下载最新版的 Windows Service Wrapper 程序,比如我下载的名称是 “winsw-1.8-bin.exe”(本文底部有下载地址),然后把它命名成你想要的名字(比如: “nginx-service.exe”,当然,你也可以不改名)②将重命名后的 nginx-service.exe 复制到 nginx 的安装目录(比如,我这里是 “D:\Servers\nginx-1.4.7″)③在同一个目录下创建一个Windows Service Wrapper 的XML配置文件,名称必须与第一步重命名时使用的名称一致(比如我这里是 “nginx-service.xml”, 如果,你没有重命名,则应该是 “winsw-1.8-bin.xml”),这个XML的内容如下:
  <?xml version="1.0" encoding="UTF-8" ?>
  <service>
  <id>nginx</id>
  <name>Nginx Service</name>
  <description>High Performance Nginx Service</description>
  <executable>D:\Servers\nginx-1.4.7\nginx.exe</executable>
  <logpath>D:\Servers\nginx-1.4.7\</logpath>
  <logmode>roll</logmode>
  <depend></depend>
  <startargument>-p D:\Servers\nginx-1.4.7</startargument>
  <stopargument>-p D:\Servers\nginx-1.4.7 -s stop</stopargument>
  </service>
  ④在命令行下执行以下命令,以便将其注册成Windows服务:nginx-service.exe installNginx搭建反向代理服务器过程详解
  ⑤接下来就可以在Windows服务列表看到Nginx服务了,这里我们可以将其设置为自动启动了:
  Nginx搭建反向代理服务器过程详解
  (5)总结:在Windows环境中,要对外提供的Windows服务一般都要将其启动类型设置为自动。
  3.3 修改Nginx核心配置文件nginx.conf
  (1)进程数与每个进程的最大连接数:
  ?nginx进程数,建议设置为等于CPU总核心数
  ?单个进程最大连接数,那么该服务器的最大连接数=连接数*进程数Nginx搭建反向代理服务器过程详解
  (2)Nginx的基本配置:
  ?监听端口一般都为http端口:80;
  ?域名可以有多个,用空格隔开:例如 server_name www.ha97.com ha97.com;Nginx搭建反向代理服务器过程详解
  (3)负载均衡列表基本配置:
  ?location / {}:对aspx后缀的进行负载均衡请求,假如我们要对所有的aspx后缀的文件进行负载均衡时,可以这样写:location ~ .*\.aspx$ {}
  ?proxy_pass:请求转向自定义的服务器列表,这里我们将请求都转向标识为http://cuitccol.com的负载均衡服务器列表;Nginx搭建反向代理服务器过程详解
  ?在负载均衡服务器列表的配置中,weight是权重,可以根据机器配置定义权重(如果某台服务器的硬件配置十分好,可以处理更多的请求,那么可以 为其设置一个比较高的weight;而有一台的服务器的硬件配置比较差,那么可以将前一台的weight配置为weight=2,后一台差的配置为 weight=1)。weigth参数表示权值,权值越高被分配到的几率越大;Nginx搭建反向代理服务器过程详解
  (4)总结:最基本的Nginx配置差不多就是上面这些内容,当然仅仅是最基础的配置。(详细的配置内容请下载底部的nginx-1.4.7详细查看)3.4 添加Nginx对于静态文件的缓存配置
  为了提高响应速度,减轻真实服务器的负载,对于静态资源我们可以在反向代理服务器中进行缓存,这也是反向代理服务器的一个重要的作用。
  (1)缓存静态资源之图片文件
  root /nginx-1.4.7/staticresources/image:对于配置中提到的jpg/png等文件均定为到/nginx-1.4.7/staticresources/image文件夹中进行寻找匹配并将文件返回;expires 7d:过期时效为7天,静态文件不怎么更新,过期时效可以设大一点,如果频繁更新,则可以设置得小一点;TIPS:下面的样式、脚本缓存配置同这里一样,只是定位的文件夹不一样而已,不再赘述。
  Nginx搭建反向代理服务器过程详解
  (2)缓存静态资源之样式文件
  Nginx搭建反向代理服务器过程详解
  (3)缓存静态资源之脚本文件
  Nginx搭建反向代理服务器过程详解
  (4)在nginx服务文件夹中创建静态资源文件夹,并要缓存的静态文件拷贝进去:这里我主要将Web程序中用到的image、css以及js文件拷贝了进去;Nginx搭建反向代理服务器过程详解
  (5)总结:通过配置静态文件的缓存设置,对于这些静态文件的请求可以直接从反向代理服务器中直接返回,而无需再将这些静态资源请求转发到具体的Web服务器进行处理了,可以提高响应速度,减轻真实Web服务器的负载压力。
  3.5 简单测试Nginx反向代理实现负载均衡效果(1)第一次访问http://localhost/Default.aspx时从127.0.0.1:8050处理响应返回结果(2)第二次访问http://localhost/Default.aspx时从127.0.0.1:8060处理响应返回结果(3)多次访问http://localhost/Default.aspx时的截屏:
  Nginx搭建反向代理服务器过程详解
  学习小结
  在本文中,借助了Nginx这个神器简单地在Windows环境下搭建了一个反向代理服务,并模拟了一个IIS服务器集群的负载均衡效果。从这个 DEMO中,我们可以简单地感受到反向代理为我们所做的事情,并体会负载均衡是怎么一回事。但是,在目前大多数的应用中,都会将Nginx部署在 Linux服务器中,并且会做一些针对负载均衡的优化配置,这里我们所做的仅仅就是一个小小的使用而已(just修改一下配置文件)。不过,万丈高楼平地 起,前期的小小体会,也会帮助我们向后期的深入学习奠定一点点的基础。
  突然在QQ空间里看到了朋友送的礼物,猛然发现今天居然是我的阳历生日,好吧,我祝我自己生日快乐,希望自己在未来的日子中能够做更多的实践,分享更多的内容。当然,如果你觉得本文还可以,那也麻烦点个赞,不要吝啬你的鼠标左键哟。

  • nginx鍙嶅悜浠g悊閰嶇疆
    绛旓細1銆佸畨瑁nginx鏈嶅姟 [root@xuegod63 ~]# yum install -y epel-release #瀹夎nginx yum婧 [root@xuegod63 ~]# yum install -y nginx 2銆佹垜浠彲浠ラ氳繃 proxy_pass 鏉ラ厤缃鍙嶅悜浠g悊 [root@xuegod63 ~]# vim /etc/nginx/nginx.conf 鏀癸細47 location / { 48 } 涓猴細47 location / { 48...
  • 璇锋暀闂nginx鍙嶅悜浠g悊proxy
    绛旓細鍙嶅悜浠g悊(Reverse Proxy)鏂瑰紡鏄寚浠ヤ唬鐞嗘湇鍔″櫒鏉ユ帴鍙梚nternet涓婄殑杩炴帴璇锋眰,鐒跺悗灏嗚姹傝浆鍙戠粰鍐呴儴缃戠粶涓婄殑鏈嶅姟鍣,骞跺皢浠庢湇鍔″櫒涓婂緱鍒扮殑缁撴灉杩斿洖缁檌nternet涓婅姹傝繛鎺ョ殑瀹㈡埛绔,姝ゆ椂浠g悊鏈嶅姟鍣ㄥ澶栧氨琛ㄧ幇涓轰竴涓湇鍔″櫒銆Nginx鎼缓鍙嶅悜浠g悊鏈嶅姟鍣ㄨ繃绋嬭瑙d粠涓婂浘鍙互鐪嬪嚭:鍙嶅悜浠g悊鏈嶅姟鍣ㄤ綅浜庣綉绔欐満鎴,浠g悊缃戠珯Web鏈嶅姟鍣ㄦ帴鏀禜ttp璇...
  • nginx鎬庝箞璁剧疆鎵嶈兘鐢鍙嶅悜浠g悊?
    绛旓細1銆佹墦寮浣犵殑娴忚鍣紝浠360娴忚鍣ㄤ负渚嬨2銆佺偣鍑绘渶鍙充笂瑙掔殑鏍囧織锛屽鍥炬墍绀猴紝鍦ㄤ笅鎷夎彍鍗曚腑鐐瑰嚮internet 閫夐」.3銆佹渶鍚庨夐珮绾э紝閫氳繃浠g悊杩炴帴浣跨敤HTTP 1.1 鍕句笂鍗冲彲銆
  • 璇锋暀闂nginx鍙嶅悜浠g悊proxy
    绛旓細涓嬮潰鏄Nginx鍙嶅悜浠g悊缂撳瓨Proxy Cache閰嶇疆鏂囦欢鑼冧緥,浠呬緵鍙傝,婧愮珯鐐瑰湪缇庡浗,鐢ㄦ棩鏈殑vps鍋Nginx浠g悊缂撳瓨娴嬭瘯,瀹為檯娴嬭瘯鏁堟灉涓嶉敊. 瑕佹敞鎰弍roxy_temp_path鍜宲roxy_cache_path鐩綍鏈韩鍜屼笂绾х洰褰曢兘瑕佹湁鐩稿簲鏉冮檺,涓嶇劧灏变細鏈夌敓鎴愮紦瀛樻枃浠跺け璐ョ殑鏉冮檺閿欒鎻愮ず. 濡傛灉闇瑕侀噸鏂扮敓鎴愮紦瀛,鐩存帴鎶婄紦瀛樼洰褰曢噷闈㈢殑瀛愮洰褰曢兘鍒犻櫎灏...
  • nginx 鍙嶅悜浠g悊涓璸roxy_set_header鐨勫惈涔
    绛旓細1.proxy_set_header璁剧疆鐨勮姹傚ご鏄紶閫掔粰鍚庣鏈嶅姟鍣ㄧ殑 2.ngixn鍙嶅悜浠g悊涓璸roxy_set_header鐨勮缃細瑙f瀽锛1锛$http_host锛氫唬鐞嗘湇鍔″櫒鏈韩IP銆2锛$remote_addr锛氬墠涓鑺傜偣鐨処P锛屽苟涓嶄竴瀹氭槸鐢ㄦ埛鐨勭湡瀹濱P銆俻roxy_host锛氫唬鐞嗘湇鍔″櫒璇锋眰鐨刪ost锛屽嵆鍚庣鏈嶅姟鍣/婧愮珯鐨処P锛屽悗绔湇鍔″櫒鏈夊彲鑳借繕鏄唬鐞嗘湇鍔″櫒銆俻ro...
  • Nginx鐨鍙嶅悜浠g悊閰嶇疆鏂囦欢鍦ㄥ摢鍎
    绛旓細鎺掓煡涓庣‘璁わ細棣栧厛锛屾鏌ユ湇鍔″櫒鏄惁浣跨敤浜Nginx浣滀负鍙嶅悜浠g悊銆傛帴涓嬫潵锛屾垜浠皢娣卞叆鎺㈣瑙e喅绛栫暐銆傝В鍐虫柟妗堬細Nginx閰嶇疆璋冩暣1. 鎵撳紑Nginx閰嶇疆鏂囦欢锛歷im /etc/nginx/nginx.conf 2. 鍦╤ttp{}閮ㄥ垎锛屽鍔犱互涓嬮厤缃互澧炲ぇ瀹㈡埛绔姹傞檺鍒讹細client_max_body_size 8M;client_body_buffer_size 128k;fastcgi_intercept_...
  • 10. Nginx瀹炵幇鍙嶅悜浠g悊
    绛旓細Nginx鍙嶅悜浠g悊http鏈嶅姟:1. proxy_pass 2. proxy_hide_header field 淇敼鍓, 鍝嶅簲鎶ユ枃澶撮儴浼氭惡甯Tag淇℃伅 淇敼鍚嶦Tag淇℃伅琚殣钘 3. proxy_pass_header field 4. proxy_pass_request_body 5. proxy_pass_request_headers 6. proxy_set_header 鐢变簬proxy_set_header鍙槸淇敼浜嗚姹傛姤鏂囩殑澶撮儴淇℃伅, 娣诲姞...
  • 濡備綍浣跨敤nginx璁惧畾鍙嶅悜浠g悊
    绛旓細濡備綍浣跨敤Nginx鍙嶅悜浠g悊浣跨敤SSL閰嶇疆Jenkins 鏍规嵁ssl.key鍜宻sl.crt閮ㄧ讲nginx 棣栧厛nginx闇瑕佹敮鎻磗sl_module锛岀劧鍚庝慨鏀筺ginx.conf濡備笅 server { listen 443;server_name localhost;ssl on;ssl_certificate /opt/tengine/conf/ssl/free4lab.crt;ssl_certificate_key /opt/tengine/conf/ssl/free4lab_nopass.key;...
  • nginx鏃犳硶鍙嶅悜浠g悊,鎬庝箞瑙e喅鍛?
    绛旓細4銆丯ginx鐩戝惉鐨処P鍜岀鍙h闃绘锛氭鏌ginx鐩戝惉鐨処P鍜岀鍙f槸鍚﹁闃绘锛岃繖鍙兘鏄敱浜庡畨鍏ㄧ粍璁剧疆銆佽矾鐢卞櫒閰嶇疆鎴栧叾浠栫綉缁滆澶囬厤缃鑷寸殑銆5銆丏NS瑙f瀽闂锛氬鏋滄偍鐨勫煙鍚嶈В鏋愪笉姝g‘锛屽彲鑳戒細瀵艰嚧鏃犳硶璁块棶nginx鍙嶅悜浠g悊鐨勭綉绔欍6銆丼SL璇佷功闂锛氬鏋滄偍浣跨敤浜哠SL璇佷功锛屽苟涓攏ginx閰嶇疆涓惎鐢ㄤ簡SSL鍔犲瘑锛岃纭繚鎮ㄧ殑SSL...
  • nginx鍙嶅悜浠g悊 鏄粈涔堟剰鎬?
    绛旓細Nginx鍙嶅悜浠g悊鏄寚浣跨敤Nginx鏈嶅姟鍣ㄤ綔涓鸿闂閮ㄧ綉缁滅殑浠g悊鏈嶅姟鍣紝灏嗗鎴风鐨勮姹傝浆鍙戠粰鍐呴儴缃戠粶涓殑鏈嶅姟鍣ㄨ繘琛屽鐞嗭紝骞跺皢澶勭悊缁撴灉杩斿洖缁欏鎴风銆傞氳繃杩欑鏂瑰紡锛屽彲浠ュ皢涓涓湇鍔″櫒闆嗙兢鐨勬湇鍔$粺涓瀵瑰鎻愪緵锛屾彁楂樻湇鍔″櫒鐨勬ц兘鍜岀紦瀛樿兘鍔涳紝鍚屾椂淇濊瘉璁块棶鐨勫畨鍏ㄦу拰鍙潬鎬с侼ginx鍙嶅悜浠g悊鐨勫師鐞嗘槸灏嗗鎴风鐨勮姹傝浆鍙戣嚦...
  • 扩展阅读:nginx最新版本 ... nginx反向代理php ... proxy在线代理服务器 ... nginx部署 ... 扫一扫题目出答案 ... nginx官网 ... nginx反向代理一个网站 ... nginx proxy pass ... nginx反向代理url二次跳转 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网