{"id":1784,"date":"2020-07-01T04:59:49","date_gmt":"2020-06-30T20:59:49","guid":{"rendered":"http:\/\/39.97.231.10\/?p=1784"},"modified":"2020-07-01T04:59:49","modified_gmt":"2020-06-30T20:59:49","slug":"nginx%e6%9e%b6%e6%9e%84%e6%a8%a1%e5%9e%8b%e5%8f%8a%e5%ba%94%e7%94%a8%e5%9c%ba%e6%99%af","status":"publish","type":"post","link":"http:\/\/www.weijing.co\/?p=1784","title":{"rendered":"Nginx\u67b6\u6784\u6a21\u578b\u53ca\u5e94\u7528\u573a\u666f"},"content":{"rendered":"<div>\n<h4>\u672c\u6587\u5c06\u56f4\u7ed5\u5982\u4e0b\u51e0\u4e2a\u90e8\u5206\u8fdb\u884c\u8bb2\u89e3\uff1a<\/h4>\n<ul>\n<li>Nginx \u7b80\u4ecb\u53ca\u7279\u70b9<\/li>\n<li>Nginx \u5e94\u7528\u573a\u666f<\/li>\n<li>Nginx \u6846\u67b6\u6a21\u578b\u4ecb\u7ecd<\/li>\n<li>Nginx \u5185\u90e8\u6d41\u7a0b\u4ecb\u7ecd<\/li>\n<li>Nginx \u81ea\u5b9a\u4e49\u6a21\u5757\u5f00\u53d1\u4ecb\u7ecd<\/li>\n<li>Nginx \u6838\u5fc3\u65f6\u95f4\u70b9\u6a21\u5757\u4ecb\u7ecd<\/li>\n<li>Nginx \u5206\u6d41\u6a21\u5757\u4ecb\u7ecd<\/li>\n<li>Nginx \u52a8\u6001 upstream \u6a21\u5757\u4ecb\u7ecd<\/li>\n<li>Nginx query_upstrem \u6a21\u5757\u4ecb\u7ecd<\/li>\n<li>Nginx query_conf \u6a21\u5757\u4ecb\u7ecd<\/li>\n<li>Nginx \u5171\u4eab\u5185\u5b58\u652f\u6301 Redis \u534f\u8bae\u6a21\u5757\u4ecb\u7ecd<\/li>\n<li>Nginx \u65e5\u5fd7\u56de\u653e\u538b\u6d4b\u5de5\u5177\u4ecb\u7ecd<\/li>\n<\/ul>\n<p>Nginx \u7b80\u4ecb\u4ee5\u53ca\u7279\u70b9<br \/>\nNginx (engine x) \u662f\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684 Web \u670d\u52a1\u5668\u548c\u53cd\u5411\u4ee3\u7406\u670d\u52a1\u5668\uff0c\u4e5f\u662f\u4e00\u4e2a IMAP\/POP3\/SMTP \u670d\u52a1\u5668\uff1a<\/p>\n<ul>\n<li>\u5b83\u7531\u4fc4\u7f57\u65af\u7a0b\u5e8f\u5458 Igor Sysoev \u4e8e 2002 \u5e74\u5f00\u59cb\u5f00\u53d1\u3002<\/li>\n<li>Nginx \u662f\u589e\u957f\u6700\u5feb\u7684 Web \u670d\u52a1\u5668\uff0c\u5e02\u573a\u4efd\u989d\u5df2\u8fbe 33.3\uff05\u3002<\/li>\n<li>\u5168\u7403\u4f7f\u7528\u91cf\u6392\u540d\u7b2c\u4e8c\uff0c2011 \u5e74\u6210\u7acb\u5546\u4e1a\u516c\u53f8\u3002<\/li>\n<\/ul>\n<p>Nginx \u793e\u533a\u5206\u652f\uff1a<\/p>\n<ul>\n<li>Openresty\uff1a\u4f5c\u8005 @agentzh\uff08\u7ae0\u5b9c\u6625\uff09\u5f00\u53d1\u7684\uff0c\u6700\u5927\u7279\u70b9\u662f\u5f15\u5165\u4e86 ngx_lua \u6a21\u5757\uff0c\u652f\u6301\u4f7f\u7528 Lua \u5f00\u53d1\u63d2\u4ef6\uff0c\u5e76\u4e14\u96c6\u5408\u4e86\u5f88\u591a\u4e30\u5bcc\u7684\u6a21\u5757\uff0c\u4ee5\u53ca Lua \u5e93\u3002<\/li>\n<li>Tengine\uff1a\u4e3b\u8981\u662f\u6dd8\u5b9d\u56e2\u961f\u5f00\u53d1\u3002\u7279\u70b9\u662f\u878d\u5165\u4e86\u56e0\u6dd8\u5b9d\u81ea\u8eab\u7684\u4e00\u4e9b\u4e1a\u52a1\u5e26\u6765\u7684\u65b0\u529f\u80fd\u3002<\/li>\n<li>Nginx \u5b98\u65b9\u7248\u672c\uff0c\u66f4\u65b0\u8fed\u4ee3\u6bd4\u8f83\u5feb\uff0c\u5e76\u4e14\u63d0\u4f9b\u514d\u8d39\u7248\u672c\u548c\u5546\u4e1a\u7248\u672c\u3002<\/li>\n<\/ul>\n<p>Nginx \u6e90\u7801\u7ed3\u6784\uff08\u4ee3\u7801\u91cf\u5927\u7ea6 11 \u4e07\u884c C \u4ee3\u7801\uff09\uff1a<\/p>\n<ul>\n<li>\u6e90\u4ee3\u7801\u76ee\u5f55\u7ed3\u6784 Core\uff08\u4e3b\u5e72\u548c\u57fa\u7840\u8bbe\u7f6e\uff09<\/li>\n<li>Event\uff08\u4e8b\u4ef6\u9a71\u52a8\u6a21\u578b\u548c\u4e0d\u540c\u7684 IO \u590d\u7528\u6a21\u5757\uff09<\/li>\n<li>HTTP\uff08HTTP \u670d\u52a1\u5668\u548c\u6a21\u5757\uff09<\/li>\n<li>Mail\uff08\u90ae\u4ef6\u4ee3\u7406\u670d\u52a1\u5668\u548c\u6a21\u5757\uff09<\/li>\n<li>OS\uff08\u64cd\u4f5c\u7cfb\u7edf\u76f8\u5173\u7684\u5b9e\u73b0\uff09<\/li>\n<li>Misc\uff08\u6742\u9879\uff09<\/li>\n<\/ul>\n<p>Nginx \u7279\u70b9\u5982\u4e0b\uff1a<\/p>\n<ul>\n<li>\u53cd\u5411\u4ee3\u7406\uff0c\u8d1f\u8f7d\u5747\u8861\u5668<\/li>\n<li>\u9ad8\u53ef\u9760\u6027\u3001\u5355 Master \u591a Worker \u6a21\u5f0f<\/li>\n<li>\u9ad8\u53ef\u6269\u5c55\u6027\u3001\u9ad8\u5ea6\u6a21\u5757\u5316<\/li>\n<li>\u975e\u963b\u585e<\/li>\n<li>\u4e8b\u4ef6\u9a71\u52a8<\/li>\n<li>\u4f4e\u5185\u5b58\u6d88\u8017<\/li>\n<li>\u70ed\u90e8\u7f72<\/li>\n<\/ul>\n<p>Nginx \u5e94\u7528\u573a\u666f<br \/>\nNginx \u7684\u5e94\u7528\u573a\u666f\u5982\u4e0b\uff1a<\/p>\n<ul>\n<li>\u9759\u6001\u6587\u4ef6\u670d\u52a1\u5668<\/li>\n<li>\u53cd\u5411\u4ee3\u7406\uff0c\u8d1f\u8f7d\u5747\u8861<\/li>\n<li>\u5b89\u5168\u9632\u5fa1<\/li>\n<li>\u667a\u80fd\u8def\u7531\uff08\u4f01\u4e1a\u7ea7\u7070\u5ea6\u6d4b\u8bd5\u3001\u5730\u56fe POI \u4e00\u952e\u5207\u6d41\uff09<\/li>\n<li>\u7070\u5ea6\u53d1\u5e03<\/li>\n<li>\u9759\u6001\u5316<\/li>\n<li>\u6d88\u606f\u63a8\u9001<\/li>\n<li>\u56fe\u7247\u5b9e\u65f6\u538b\u7f29<\/li>\n<li>\u9632\u76d7\u94fe<\/li>\n<\/ul>\n<p>Nginx \u6846\u67b6\u6a21\u578b\u4ecb\u7ecd<br \/>\n\u8fdb\u7a0b\u7ec4\u4ef6\u89d2\u8272\uff1a<\/p>\n<ul>\n<li>Master \u8fdb\u7a0b\uff1a\u76d1\u89c6\u5de5\u4f5c\u8fdb\u7a0b\u7684\u72b6\u6001\uff1b\u5f53\u5de5\u4f5c\u8fdb\u7a0b\u6b7b\u6389\u540e\u91cd\u542f\u4e00\u4e2a\u65b0\u7684\uff1b\u5904\u7406\u4fe1\u53f7\u548c\u901a\u77e5\u5de5\u4f5c\u8fdb\u7a0b\u3002<\/li>\n<li>Worker \u8fdb\u7a0b\uff1a\u5904\u7406\u5ba2\u6237\u7aef\u8bf7\u6c42\uff0c\u4ece\u4e3b\u8fdb\u7a0b\u5904\u83b7\u5f97\u4fe1\u53f7\u505a\u76f8\u5e94\u7684\u4e8b\u60c5\u3002<\/li>\n<li>Cache Loader \u8fdb\u7a0b\uff1a\u52a0\u8f7d\u7f13\u5b58\u7d22\u5f15\u6587\u4ef6\u4fe1\u606f\uff0c\u7136\u540e\u9000\u51fa\u3002<\/li>\n<li>Cache Manager\u8fdb\u7a0b\uff1a\u7ba1\u7406\u78c1\u76d8\u7684\u7f13\u5b58\u5927\u5c0f\uff0c\u8d85\u8fc7\u9884\u5b9a\u503c\u5927\u5c0f\u540e\u6700\u5c11\u4f7f\u7528\u6570\u636e\u5c06\u88ab\u5220\u9664\u3002<\/li>\n<\/ul>\n<p>Nginx \u7684\u6846\u67b6\u6a21\u578b\u5982\u4e0b\u56fe\uff1a<\/p>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"734\\\" data-height=\\\"247\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-effd732e731dc3fa?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/734\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-effd732e731dc3fa\\\" data-original-width=\\\"734\\\" data-original-height=\\\"247\\\" data-original-format=\\\"image\/png\\\" data-original-filesize=\\\"13019\\\" data-image-index=\\\"0\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<p>\u6846\u67b6\u6a21\u578b\u6d41\u7a0b\u5982\u4e0b\u56fe\uff1a<\/p>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"505\\\" data-height=\\\"466\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-fc415162935ec09f?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/505\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-fc415162935ec09f\\\" data-original-width=\\\"505\\\" data-original-height=\\\"466\\\" data-original-format=\\\"image\/png\\\" data-original-filesize=\\\"55290\\\" data-image-index=\\\"1\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<p>Nginx \u5185\u90e8\u6d41\u7a0b\u4ecb\u7ecd<\/p>\n<h2>Nginx \u6846\u67b6\u6a21\u578b\u6d41\u7a0b\u5982\u4e0b\u56fe\uff1a<\/h2>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"700\\\" data-height=\\\"448\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-89b419f2c4bfc278?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/700\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-89b419f2c4bfc278\\\" data-original-width=\\\"700\\\" data-original-height=\\\"448\\\" data-original-format=\\\"image\/png\\\" data-original-filesize=\\\"34734\\\" data-image-index=\\\"2\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"859\\\" data-height=\\\"455\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-caf753a5cd59053f?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/859\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-caf753a5cd59053f\\\" data-original-width=\\\"859\\\" data-original-height=\\\"455\\\" data-original-format=\\\"image\/png\\\" data-original-filesize=\\\"89369\\\" data-image-index=\\\"3\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<h2>Master \u521d\u59cb\u5316\u6d41\u7a0b\uff0c\u5982\u4e0b\u56fe\uff1a<\/h2>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"1080\\\" data-height=\\\"623\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-fc7598cc13561c8a?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/1080\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-fc7598cc13561c8a\\\" data-original-width=\\\"1080\\\" data-original-height=\\\"623\\\" data-original-format=\\\"image\/jpeg\\\" data-original-filesize=\\\"67131\\\" data-image-index=\\\"4\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<h2>Worker \u521d\u59cb\u5316\uff1a<\/h2>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"873\\\" data-height=\\\"342\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-014ed8c53543cd12?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/873\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-014ed8c53543cd12\\\" data-original-width=\\\"873\\\" data-original-height=\\\"342\\\" data-original-format=\\\"image\/png\\\" data-original-filesize=\\\"61551\\\" data-image-index=\\\"5\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<h2>Worker \u521d\u59cb\u5316\u6d41\u7a0b\u56fe\u5982\u4e0b\uff1a<\/h2>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"1080\\\" data-height=\\\"438\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-fc6c7c5f8358acf6?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/1080\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-fc6c7c5f8358acf6\\\" data-original-width=\\\"1080\\\" data-original-height=\\\"438\\\" data-original-format=\\\"image\/jpeg\\\" data-original-filesize=\\\"48187\\\" data-image-index=\\\"6\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<h2>\u9759\u6001\u6587\u4ef6\u8bf7\u6c42 IO \u6d41\u7a0b\u5982\u4e0b\u56fe\uff1a<\/h2>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"864\\\" data-height=\\\"453\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-35549181872219af?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/864\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-35549181872219af\\\" data-original-width=\\\"864\\\" data-original-height=\\\"453\\\" data-original-format=\\\"image\/png\\\" data-original-filesize=\\\"20281\\\" data-image-index=\\\"7\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<h2>HTTP \u8bf7\u6c42\u6d41\u7a0b\u5982\u4e0b\u56fe\uff1a<\/h2>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"1080\\\" data-height=\\\"746\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-81835fb38b8ecb78?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/1080\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-81835fb38b8ecb78\\\" data-original-width=\\\"1080\\\" data-original-height=\\\"746\\\" data-original-format=\\\"image\/jpeg\\\" data-original-filesize=\\\"97905\\\" data-image-index=\\\"8\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<h2>HTTP \u8bf7\u6c42 11 \u4e2a\u9636\u6bb5\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a<\/h2>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"854\\\" data-height=\\\"454\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-24d9e0aecd81dc77?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/854\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-24d9e0aecd81dc77\\\" data-original-width=\\\"854\\\" data-original-height=\\\"454\\\" data-original-format=\\\"image\/jpeg\\\" data-original-filesize=\\\"66128\\\" data-image-index=\\\"9\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<h2>upstream\u6a21\u5757\uff1a<\/h2>\n<ul>\n<li>\u8bbf\u95ee\u7b2c\u4e09\u65b9 Server \u670d\u52a1\u5668<\/li>\n<li>\u5e95\u5c42 HTTP \u901a\u4fe1\u975e\u5e38\u5b8c\u5584<\/li>\n<li>\u5f02\u6b65\u975e\u963b\u585e<\/li>\n<li>\u4e0a\u4e0b\u6e38\u5185\u5b58\u96f6\u62f7\u8d1d\uff0c\u8282\u7701\u5185\u5b58<\/li>\n<li>\u652f\u6301\u81ea\u5b9a\u4e49\u6a21\u5757\u5f00\u53d1<\/li>\n<\/ul>\n<h3>upstream \u6846\u67b6\u6d41\u7a0b\uff0c\u5982\u4e0b\u56fe\uff1a<\/h3>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"326\\\" data-height=\\\"400\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-ffa0c250795fc4ed?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/326\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-ffa0c250795fc4ed\\\" data-original-width=\\\"326\\\" data-original-height=\\\"400\\\" data-original-format=\\\"image\/png\\\" data-original-filesize=\\\"19939\\\" data-image-index=\\\"10\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<h3>upstream \u5185\u90e8\u6d41\u7a0b\uff0c\u5982\u4e0b\u56fe\uff1a<\/h3>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"1080\\\" data-height=\\\"563\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-04312cae4612c8c2?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/1080\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-04312cae4612c8c2\\\" data-original-width=\\\"1080\\\" data-original-height=\\\"563\\\" data-original-format=\\\"image\/jpeg\\\" data-original-filesize=\\\"57243\\\" data-image-index=\\\"11\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<h2>\u53cd\u5411\u4ee3\u7406\u6d41\u7a0b\uff0c\u5982\u4e0b\u56fe\uff1a<\/h2>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"793\\\" data-height=\\\"459\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-c6c214331954d009?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/793\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-c6c214331954d009\\\" data-original-width=\\\"793\\\" data-original-height=\\\"459\\\" data-original-format=\\\"image\/png\\\" data-original-filesize=\\\"38819\\\" data-image-index=\\\"12\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<p>Nginx \u5b9a\u5236\u5316\u6a21\u5757\u5f00\u53d1<\/p>\n<h2>Nginx \u7684\u6a21\u5757\u5316\u8bbe\u8ba1\u7279\u70b9\u5982\u4e0b\uff1a<\/h2>\n<ul>\n<li>\u9ad8\u5ea6\u62bd\u8c61\u7684\u6a21\u5757\u63a5\u53e3<\/li>\n<li>\u6a21\u5757\u63a5\u53e3\u975e\u5e38\u7b80\u5355\uff0c\u5177\u6709\u5f88\u9ad8\u7684\u7075\u6d3b\u6027<\/li>\n<li>\u914d\u7f6e\u6a21\u5757\u7684\u8bbe\u8ba1<\/li>\n<li>\u6838\u5fc3\u6a21\u5757\u63a5\u53e3\u7684\u7b80\u5355\u5316<\/li>\n<li>\u591a\u5c42\u6b21\u3001\u591a\u7c7b\u522b\u7684\u6a21\u5757\u8bbe\u8ba1<\/li>\n<\/ul>\n<h2>\u5185\u90e8\u6838\u5fc3\u6a21\u5757\uff1a<\/h2>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"915\\\" data-height=\\\"416\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-69adf13b6d5e732d?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/915\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-69adf13b6d5e732d\\\" data-original-width=\\\"915\\\" data-original-height=\\\"416\\\" data-original-format=\\\"image\/png\\\" data-original-filesize=\\\"62174\\\" data-image-index=\\\"13\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"749\\\" data-height=\\\"926\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-327302eb2b2bef11?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/749\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-327302eb2b2bef11\\\" data-original-width=\\\"749\\\" data-original-height=\\\"926\\\" data-original-format=\\\"image\/jpeg\\\" data-original-filesize=\\\"82183\\\" data-image-index=\\\"14\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<h2>Handler \u6a21\u5757\uff1a\u63a5\u53d7\u6765\u81ea\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\u5e76\u6784\u5efa\u54cd\u5e94\u5934\u548c\u54cd\u5e94\u4f53\u3002<\/h2>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"560\\\" data-height=\\\"550\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-ae77fe6ffd7325f8?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/560\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-ae77fe6ffd7325f8\\\" data-original-width=\\\"560\\\" data-original-height=\\\"550\\\" data-original-format=\\\"image\/png\\\" data-original-filesize=\\\"24835\\\" data-image-index=\\\"15\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<h2>Filter \u6a21\u5757\uff1a\u8fc7\u6ee4\uff08filter\uff09\u6a21\u5757\u662f\u8fc7\u6ee4\u54cd\u5e94\u5934\u548c\u5185\u5bb9\u7684\u6a21\u5757\uff0c\u53ef\u4ee5\u5bf9\u56de\u590d\u7684\u5934\u548c\u5185\u5bb9\u8fdb\u884c\u5904\u7406\u3002\u5b83\u7684\u5904\u7406\u65f6\u95f4\u5728\u83b7\u53d6\u56de\u590d\u5185\u5bb9\u4e4b\u540e\uff0c\u5411\u7528\u6237\u53d1\u9001\u54cd\u5e94\u4e4b\u524d\u3002<\/h2>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"560\\\" data-height=\\\"550\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-cdb9b46334e537a8?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/560\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-cdb9b46334e537a8\\\" data-original-width=\\\"560\\\" data-original-height=\\\"550\\\" data-original-format=\\\"image\/png\\\" data-original-filesize=\\\"23345\\\" data-image-index=\\\"16\\\" \/><\/div>\n<\/div>\n<div>image<\/div>\n<\/div>\n<h2>Upstream \u6a21\u5757\uff1a\u4f7f Nginx \u8de8\u8d8a\u5355\u673a\u7684\u9650\u5236\uff0c\u5b8c\u6210\u7f51\u7edc\u6570\u636e\u7684\u63a5\u6536\u3001\u5904\u7406\u548c\u8f6c\u53d1\uff0c\u7eaf\u5f02\u6b65\u7684\u8bbf\u95ee\u540e\u7aef\u670d\u52a1\u3002<\/h2>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"1080\\\" data-height=\\\"457\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-a29207c324baa088?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/1080\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-a29207c324baa088\\\" data-original-width=\\\"1080\\\" data-original-height=\\\"457\\\" data-original-format=\\\"image\/png\\\" data-original-filesize=\\\"38953\\\" data-image-index=\\\"17\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<p>Load_Balance\uff1a\u8d1f\u8f7d\u5747\u8861\u6a21\u5757\uff0c\u5b9e\u73b0\u7279\u5b9a\u7684\u7b97\u6cd5\uff0c\u5728\u4f17\u591a\u7684\u540e\u7aef\u670d\u52a1\u5668\u4e2d\uff0c\u9009\u62e9\u4e00\u4e2a\u670d\u52a1\u5668\u51fa\u6765\u4f5c\u4e3a\u67d0\u4e2a\u8bf7\u6c42\u7684\u8f6c\u53d1\u670d\u52a1\u5668\u3002<\/p>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"1080\\\" data-height=\\\"457\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-cf205cfaba56bd4c?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/1080\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-cf205cfaba56bd4c\\\" data-original-width=\\\"1080\\\" data-original-height=\\\"457\\\" data-original-format=\\\"image\/png\\\" data-original-filesize=\\\"47424\\\" data-image-index=\\\"18\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<h2>ngx_lua \u6a21\u5757\uff1a<\/h2>\n<ul>\n<li>\u811a\u672c\u8bed\u8a00<\/li>\n<li>\u5185\u5b58\u5f00\u9500\u5c0f<\/li>\n<li>\u8fd0\u884c\u901f\u5ea6\u5feb<\/li>\n<li>\u5f3a\u5927\u7684 Lua \u534f\u7a0b<\/li>\n<li>\u975e\u963b\u585e<\/li>\n<li>\u4e1a\u52a1\u903b\u8f91\u4ee5\u81ea\u7136\u903b\u8f91\u4e66\u5199<\/li>\n<\/ul>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"1005\\\" data-height=\\\"910\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-391172812c5c7be4?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/1005\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-391172812c5c7be4\\\" data-original-width=\\\"1005\\\" data-original-height=\\\"910\\\" data-original-format=\\\"image\/jpeg\\\" data-original-filesize=\\\"66086\\\" data-image-index=\\\"19\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<h2>\u5b9a\u5236\u5316\u5f00\u53d1 Demo<\/h2>\n<p>Handler \u6a21\u5757\uff1a<\/p>\n<ul>\n<li>\u7f16\u5199 config \u6587\u4ef6<\/li>\n<li>\u7f16\u5199\u6a21\u5757\u4ea7\u751f\u5185\u5bb9\u54cd\u5e94\u4fe1\u606f<\/li>\n<\/ul>\n<div>\n<pre>#\u914d\u7f6e\u6587\u4ef6\uff1a\nserver {\n    ...\n    location test {\n        test_counter on;\n    }\n}\n#config\nngx_addon_name=ngx_http_test_module\nHTTP_MODULES=\\\"$HTTP_MODULES ngx_http_test_module\\\"\nNGX_ADDON_SRCS=\\\"$NGX_ADDON_SRCS $ngx_addon_dir\/ngx_http_test_module.c\\\"\n#ngx_http_test_module.c\nstatic ngx_int_t\nngx_http_test_handler(ngx_http_request_t *r)\n{\n    ngx_int_t                               rc;\n    ngx_buf_t                               *b;\n    ngx_chain_t                             out;\n    ngx_http_test_conf_t                    *lrcf;\n    ngx_str_t                               ngx_test_string = ngx_string(\\\"hello test\\\");\n    lrcf = ngx_http_get_module_loc_conf(r, ngx_http_test_module);\n    if ( lrcf-&gt;test_counter == 0 ) {\n        return NGX_DECLINED;\n    }\n    \/* we response to \\'GET\\' and \\'HEAD\\' requests only *\/\n    if ( !(r-&gt;method &amp; (NGX_HTTP_GET|NGX_HTTP_HEAD)) ) {\n            return NGX_HTTP_NOT_ALLOWED;\n    }\n    \/* discard request body, since we don\\'t need it here *\/\n    rc = ngx_http_discard_request_body(r);\n    if ( rc != NGX_OK ) {\n        return rc;\n    }\n    \/* set the \\'Content-type\\' header *\/\n    \/*\n     *r-&gt;headers_out.content_type.len = sizeof(\\\"text\/html\\\") - 1;\n     *r-&gt;headers_out.content_type.data = (u_char *)\\\"text\/html\\\";\n    *\/\n    ngx_str_set(&amp;r-&gt;headers_out.content_type, \\\"text\/html\\\");\n    \/* send the header only, if the request type is http \\'HEAD\\' *\/\n    if ( r-&gt;method == NGX_HTTP_HEAD ) {\n        r-&gt;headers_out.status = NGX_HTTP_OK;\n        r-&gt;headers_out.content_length_n = ngx_test_string.len;\n        return ngx_http_send_header(r);\n    }\n    \/* set the status line *\/\n    r-&gt;headers_out.status = NGX_HTTP_OK;\n    r-&gt;headers_out.content_length_n =  ngx_test_string.len;\n    \/* send the headers of your response *\/\n    rc = ngx_http_send_header(r);\n    if ( rc == NGX_ERROR || rc &gt; NGX_OK || r-&gt;header_only ) {\n        return rc;\n    }\n    \/* allocate a buffer for your response body *\/\n    b = ngx_pcalloc(r-&gt;pool, sizeof(ngx_buf_t));\n    if ( b == NULL ) {\n        return NGX_HTTP_INTERNAL_SERVER_ERROR;\n    }\n    \/* attach this buffer to the buffer chain *\/\n    out.buf = b;\n    out.next = NULL;\n    \/* adjust the pointers of the buffer *\/\n    b-&gt;pos = ngx_test_string.data;\n    b-&gt;last = ngx_test_string.data + ngx_test_string.len;\n    b-&gt;memory = 1;    \/* this buffer is in memory *\/\n    b-&gt;last_buf = 1;  \/* this is the last buffer in the buffer chain *\/\n    \/* send the buffer chain of your response *\/\n    return ngx_http_output_filter(r, &amp;out);\n}\n<\/pre>\n<\/div>\n<p>Nginx \u6838\u5fc3\u65f6\u95f4\u70b9\u6a21\u5757\u4ecb\u7ecd<br \/>\n\u89e3\u51b3\u63a5\u5165\u5c42\u6545\u969c\u5b9a\u4f4d\u6162\u7684\u95ee\u9898\uff0c\u5e2e\u52a9 OP \u5feb\u901f\u5224\u5b9a\u95ee\u9898\u6839\u56e0\uff0c\u4f18\u5148\u81ea\u8bc1\u6e05\u767d\uff0c\u63d0\u9ad8\u63a5\u5165\u5c42\u9ad8\u6548\u7684\u751f\u4ea7\u529b\u3002<\/p>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"1080\\\" data-height=\\\"458\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-c0dc4d6e7236cd71?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/1080\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-c0dc4d6e7236cd71\\\" data-original-width=\\\"1080\\\" data-original-height=\\\"458\\\" data-original-format=\\\"image\/jpeg\\\" data-original-filesize=\\\"48689\\\" data-image-index=\\\"20\\\" \/><\/div>\n<\/div>\n<div>image<\/div>\n<\/div>\n<p>Nginx \u5206\u6d41\u6a21\u5757\u4ecb\u7ecd<br \/>\nNginx \u5206\u6d41\u6a21\u5757\u7279\u70b9\u5982\u4e0b\uff1a<\/p>\n<ul>\n<li>\u5b9e\u73b0\u975e\u5e38\u7075\u6d3b\u7684\u52a8\u6001\u7684\u4fee\u6539\u7b56\u7565\u4ece\u800c\u8fdb\u884c\u5207\u6d41\u91cf\u3002<\/li>\n<li>\u5b9e\u73b0\u5e73\u6ed1\u65e0\u635f\u7684\u65b9\u5f0f\u8fdb\u884c\u6d41\u91cf\u7684\u5207\u6362\u3002<\/li>\n<li>\u901a\u8fc7\u79d2\u7ea7\u5207\u6362\u6d41\u91cf\u53ef\u4ee5\u7f29\u5c0f\u5f71\u54cd\u8303\u56f4\uff0c\u4ece\u800c\u51cf\u5c11\u635f\u5931\u3002<\/li>\n<li>\u6309\u7167\u67d0\u4e00\u57ce\u5e02\u6216\u8005\u67d0\u4e2a\u7279\u5f81\uff0c\u79d2\u7ea7\u8fdb\u884c\u5207\u6362\u6d41\u91cf\u6216\u8005\u7981\u7528\u6d41\u91cf\u3002<\/li>\n<li>\u5bb9\u5fcd\u5355\u673a\u623f\u7ea7\u522b\u5bb9\u91cf\u6545\u969c\uff0c\u7f29\u77ed\u4e86\u5355\u673a\u623f\u6545\u969c\u7684\u6b62\u635f\u65f6\u95f4\u3002<\/li>\n<li>\u5feb\u901f\u7684\u5c06\u6d41\u91cf\u9694\u79bb\u6216\u8005\u6d41\u91cf\u62bd\u6837\u3002<\/li>\n<li>\u9ad8\u6548\u7684\u7070\u5ea6\u6d4b\u8bd5\uff0c\u63d0\u9ad8\u751f\u4ea7\u529b\u3002<\/li>\n<\/ul>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"1080\\\" data-height=\\\"499\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-5800583538bf9e4a?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/1080\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-5800583538bf9e4a\\\" data-original-width=\\\"1080\\\" data-original-height=\\\"499\\\" data-original-format=\\\"image\/jpeg\\\" data-original-filesize=\\\"62630\\\" data-image-index=\\\"21\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<p>Nginx \u52a8\u6001 upstream \u6a21\u5757\u4ecb\u7ecd<br \/>\n\u8ba9\u63a5\u5165\u5c42\u53ef\u4ee5\u9002\u914d\u52a8\u6001\u8c03\u5ea6\u7684\u4e91\u73af\u5883\uff0c\u5b9e\u73b0\u670d\u52a1\u7684\u5e73\u6ed1\u4e0a\u4e0b\u7ebf\u3001\u5f39\u6027\u6269\/\u7f29\u5bb9\u3002<br \/>\n\u4ece\u800c\u63d0\u9ad8\u63a5\u5165\u5c42\u9ad8\u6548\u7684\u751f\u4ea7\u529b\u4ee5\u53ca\u7a33\u5b9a\u6027\uff0c\u4fdd\u8bc1\u4e1a\u52a1\u6d41\u91cf\u7684\u5e73\u6ed1\u65e0\u635f\u3002<\/p>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"1080\\\" data-height=\\\"499\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-e2c1cbf9726f035d?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/1080\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-e2c1cbf9726f035d\\\" data-original-width=\\\"1080\\\" data-original-height=\\\"499\\\" data-original-format=\\\"image\/jpeg\\\" data-original-filesize=\\\"69329\\\" data-image-index=\\\"22\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<p>Nginx query_upstream \u6a21\u5757\u4ecb\u7ecd<br \/>\n\u94fe\u8def\u8ffd\u8e2a\uff0c\u68b3\u7406\u63a5\u53e3\u5230\u540e\u7aef\u94fe\u8def\u7684\u60c5\u51b5\u3002\u67e5\u8be2 location \u63a5\u53e3\u5bf9\u5e94 upstream server \u4fe1\u606f\u3002<\/p>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"865\\\" data-height=\\\"828\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-6ef1f5b7ab9bd61d?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/865\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-6ef1f5b7ab9bd61d\\\" data-original-width=\\\"865\\\" data-original-height=\\\"828\\\" data-original-format=\\\"image\/png\\\" data-original-filesize=\\\"62166\\\" data-image-index=\\\"23\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<p>Nginx query_conf \u6a21\u5757\u4ecb\u7ecd<br \/>\n\u83b7\u53d6 Nginx \u914d\u7f6e\u6587\u4ef6\u683c\u5f0f\u5316\u4e3a json \u683c\u5f0f\u4fe1\u606f\uff1a<\/p>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"1080\\\" data-height=\\\"414\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-7adb3506d5c077a4?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/1080\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-7adb3506d5c077a4\\\" data-original-width=\\\"1080\\\" data-original-height=\\\"414\\\" data-original-format=\\\"image\/jpeg\\\" data-original-filesize=\\\"41862\\\" data-image-index=\\\"24\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<p>Nginx \u5171\u4eab\u5185\u5b58\u652f\u6301 Redis \u534f\u8bae\u6a21\u5757\u4ecb\u7ecd<br \/>\n\u6839\u636e\u914d\u7f6e\u6587\u4ef6\u6765\u52a8\u6001\u7684\u6dfb\u52a0\u5171\u4eab\u5185\u5b58\uff1a<\/p>\n<div>\n<pre>https:\/\/github.com\/lidaohang\/ngx_shm_dict\n<\/pre>\n<\/div>\n<p>ngx_shm_dict\uff1a\u5171\u4eab\u5185\u5b58\u6838\u5fc3\u6a21\u5757\uff08\u7ea2\u9ed1\u6811\uff0c\u961f\u5217\uff09ngx_shm_dict_manager\uff1a\u6dfb\u52a0\u5b9a\u65f6\u5668\u4e8b\u4ef6\uff0c\u5b9a\u65f6\u7684\u6e05\u9664\u5171\u4eab\u5185\u5b58\u4e2d\u8fc7\u671f\u7684 Key\uff0c\u6dfb\u52a0\u8bfb\u4e8b\u4ef6\uff0c\u652f\u6301 Redis \u534f\u8bae\uff0c\u901a\u8fc7 redis-cli get\uff0cset\uff0cdel\uff0cttlngx_shm_dict_view\uff1a\u5171\u4eab\u5185\u5b58\u67e5\u770b<\/p>\n<div>\n<div>\n<div><\/div>\n<div data-width=\\\"1080\\\" data-height=\\\"565\\\"><img src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-8718db8ffc7bd971?imageMogr2\/auto-orient\/strip|imageView2\/2\/w\/1080\/format\/webp\\\" data-original-src=\\\"\/\/upload-images.jianshu.io\/upload_images\/19895418-8718db8ffc7bd971\\\" data-original-width=\\\"1080\\\" data-original-height=\\\"565\\\" data-original-format=\\\"image\/jpeg\\\" data-original-filesize=\\\"50942\\\" data-image-index=\\\"25\\\" \/><\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<p>Nginx \u65e5\u5fd7\u56de\u653e\u538b\u6d4b\u5de5\u5177<br \/>\n\u89e3\u6790\u65e5\u5fd7\u8fdb\u884c\u56de\u653e\u538b\u6d4b\uff0c\u6a21\u62df\u540e\u7aef\u670d\u52a1\u5668\u6162\u7b49\u5404\u79cd\u5f02\u5e38\u60c5\u51b5 \uff1a<\/p>\n<div>\n<pre>https:\/\/github.com\/lidaohang\/playback-testing\n<\/pre>\n<\/div>\n<h4>\u65b9\u6848\u8bf4\u660e\uff1a<\/h4>\n<ul>\n<li>\u5ba2\u6237\u7aef\u89e3\u6790 access.log \u6784\u5efa\u8bf7\u6c42\u7684 host\uff0cport\uff0curl\uff0cbody\u3002<\/li>\n<li>\u628a\u540e\u7aef\u54cd\u5e94\u65f6\u95f4\uff0c\u540e\u7aef\u54cd\u5e94\u72b6\u6001\u7801\uff0c\u540e\u7aef\u54cd\u5e94\u5927\u5c0f\u653e\u5165 header \u5934\u4e2d\u3002<\/li>\n<li>\u540e\u7aef\u670d\u52a1\u5668\u83b7\u53d6\u76f8\u5e94\u7684 header\uff0c\u8fdb\u884c\u6a21\u62df\u54cd\u5e94 body \u5927\u5c0f\uff0c\u54cd\u5e94\u72b6\u6001\u7801\uff0c\u54cd\u5e94\u65f6\u95f4\u3002<\/li>\n<\/ul>\n<h4>\u4f7f\u7528\u65b9\u5f0f\uff1a<\/h4>\n<ul>\n<li>\u62f7\u8d1d\u9700\u8981\u6d4b\u8bd5\u7684 access.log \u7684\u65e5\u5fd7\u5230 logs \u6587\u4ef6\u5939\u91cc\u9762\u3002<\/li>\n<li>\u642d\u5efa\u9700\u8981\u6d4b\u8bd5\u7684 Nginx \u670d\u52a1\u5668\uff0c\u5e76\u4e14\u914d\u7f6e upstream \u6307\u5411\u540e\u7aef\u670d\u52a1\u5668\u65ad\u7aef\u53e3<\/li>\n<li>\u542f\u52a8\u540e\u7aef\u670d\u52a1\u5668\u5b9e\u4f8b<\/li>\n<\/ul>\n<div>\n<pre>server\/backserver\/main.go\n<\/pre>\n<\/div>\n<ul>\n<li>\u8fdb\u884c\u538b\u6d4b<\/li>\n<\/ul>\n<div>\n<pre>bin\/wrk -c30 -t1 -s conf\/nginx_log.lua http:\/\/localhost:8095<\/pre>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u6587\u5c06\u56f4\u7ed5\u5982\u4e0b\u51e0\u4e2a\u90e8\u5206\u8fdb\u884c\u8bb2\u89e3\uff1a Nginx \u7b80\u4ecb\u53ca\u7279\u70b9 Nginx \u5e94\u7528\u573a\u666f Nginx \u6846\u67b6\u6a21\u578b\u4ecb\u7ecd Ng &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"http:\/\/www.weijing.co\/?p=1784\"> <span class=\"screen-reader-text\">Nginx\u67b6\u6784\u6a21\u578b\u53ca\u5e94\u7528\u573a\u666f<\/span> \u67e5\u770b\u5168\u6587 &raquo;<\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","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":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":""},"categories":[99,101],"tags":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"mailpoet_newsletter_max":false,"woocommerce_thumbnail":false,"woocommerce_single":false,"woocommerce_gallery_thumbnail":false,"shop_catalog":false,"shop_single":false,"shop_thumbnail":false},"uagb_author_info":{"display_name":"weijing","author_link":"http:\/\/www.weijing.co\/?author=4"},"uagb_comment_info":0,"uagb_excerpt":"\u672c\u6587\u5c06\u56f4\u7ed5\u5982\u4e0b\u51e0\u4e2a\u90e8\u5206\u8fdb\u884c\u8bb2\u89e3\uff1a Nginx \u7b80\u4ecb\u53ca\u7279\u70b9 Nginx \u5e94\u7528\u573a\u666f Nginx \u6846\u67b6\u6a21\u578b\u4ecb\u7ecd Ng&hellip;","_links":{"self":[{"href":"http:\/\/www.weijing.co\/index.php?rest_route=\/wp\/v2\/posts\/1784"}],"collection":[{"href":"http:\/\/www.weijing.co\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.weijing.co\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.weijing.co\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/www.weijing.co\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1784"}],"version-history":[{"count":0,"href":"http:\/\/www.weijing.co\/index.php?rest_route=\/wp\/v2\/posts\/1784\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.weijing.co\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1784"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.weijing.co\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1784"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.weijing.co\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1784"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}