{"id":33156,"date":"2023-11-10T10:26:57","date_gmt":"2024-03-04T10:47:48","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e4%bd%bf%e7%94%a8nginx%e6%9e%84%e5%bb%ba%e7%9a%84web%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e8%ae%be%e7%bd%ae%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1%e5%8a%9f%e8%83%bd%e3%80%82\/"},"modified":"2024-05-04T08:19:43","modified_gmt":"2024-05-04T00:19:43","slug":"%e5%9c%a8%e4%bd%bf%e7%94%a8nginx%e6%9e%84%e5%bb%ba%e7%9a%84web%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e8%ae%be%e7%bd%ae%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1%e5%8a%9f%e8%83%bd%e3%80%82","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e4%bd%bf%e7%94%a8nginx%e6%9e%84%e5%bb%ba%e7%9a%84web%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e8%ae%be%e7%bd%ae%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1%e5%8a%9f%e8%83%bd%e3%80%82\/","title":{"rendered":"\u5728\u4f7f\u7528NGINX\u6784\u5efa\u7684Web\u670d\u52a1\u5668\u4e0a\u8bbe\u7f6e\u8d1f\u8f7d\u5747\u8861\u529f\u80fd"},"content":{"rendered":"<h1>\u9996\u5148,<\/h1>\n<p>This submission is a sequel to the previous submission. The source code and configuration files are indicated as differences, so the explanation of the underlying work will be omitted in this submission. Please refer to the following.<\/p>\n<p>\u672c\u6295\u7a3f\u662f\u524d\u4e00\u7bc7\u6295\u7a3f\u7684\u7eed\u7bc7\u3002\u6e90\u4ee3\u7801\u548c\u914d\u7f6e\u6587\u4ef6\u4ee5\u5dee\u5f02\u8868\u793a\uff0c\u56e0\u6b64\u672c\u6295\u7a3f\u5c06\u7701\u7565\u5173\u4e8e\u57fa\u672c\u4f5c\u54c1\u7684\u8bf4\u660e\u3002\u8bf7\u53c2\u8003\u4ee5\u4e0b\u5185\u5bb9\u3002<\/p>\n<p>&nbsp;<\/p>\n<h1>\u76ee\u6807<\/h1>\n<p>\u4e86\u89e3NGINX\u7684\u8d1f\u8f7d\u5747\u8861\u529f\u80fd\u7684\u6982\u8981\uff0c\u5e76\u80fd\u591f\u8fdb\u884c\u914d\u7f6e\u3002<\/p>\n<h1>\u80cc\u666f &#8211; Background<\/h1>\n<p>\u5728\u53c2\u4e0e\u7684\u7cfb\u7edf\u4e2d\uff0c\u51e0\u4e4e\u5fc5\u7136\u4f1a\u91c7\u7528\u8d1f\u8f7d\u5747\u8861\u5668\u7684\u914d\u7f6e\uff0c\u4f46\u7531\u4e8e\u6ca1\u6709\u57fa\u7840\u8bbe\u65bd\u5efa\u8bbe\u7ecf\u9a8c\uff0c\u56e0\u6b64\u60f3\u8981\u4eb2\u81ea\u4f53\u9a8c\u4e00\u4e0b\u642d\u5efa\u8fc7\u7a0b\u3002\u7531\u4e8e\u4e4b\u524d\u5df2\u7ecf\u53d1\u5e03\u4e86\u4f7f\u7528NGINX\u6784\u5efaWeb\u670d\u52a1\u5668\u7684\u6587\u7ae0\uff0c\u56e0\u6b64\u8003\u8651\u662f\u5426\u53ef\u4ee5\u5229\u7528\u8be5\u6e90\u4ee3\u7801\u6765\u83b7\u53d6\u77e5\u8bc6\uff0c\u4e8e\u662f\u4ea7\u751f\u4e86\u642d\u5efa\u548c\u53d1\u5e03\u7684\u60f3\u6cd5\u3002<\/p>\n<h1>\u8d1f\u8f7d\u5747\u8861\u5668\u662f\u4e00\u79cd\u8bbe\u5907\u6216\u8f6f\u4ef6\uff0c\u7528\u4e8e\u5728\u591a\u53f0\u670d\u52a1\u5668\u4e4b\u95f4\u5206\u914d\u7f51\u7edc\u6d41\u91cf\uff0c\u4ee5\u5b9e\u73b0\u66f4\u597d\u7684\u6027\u80fd\u548c\u53ef\u9760\u6027\u3002<\/h1>\n<p>\u6211\u4eec\u6240\u8bf4\u7684\u662f\u8d1f\u8f7d\u5747\u8861\u529f\u80fd\u3002<br \/>\n\u901a\u8fc7\u8fdb\u884c\u8d1f\u8f7d\u5747\u8861\uff0c\u53ef\u4ee5\u83b7\u5f97\u4ee5\u4e0b\u7684\u4f18\u52bf\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30b5\u30fc\u30d0\u30ea\u30bd\u30fc\u30b9\u4f7f\u7528\u7387\u306e\u6700\u9069\u5316<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u306e\u6700\u5927\u5316<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30ec\u30a4\u30c6\u30f3\u30b7\u30fc\u306e\u4f4e\u6e1b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u8010\u969c\u5bb3\u6027\u306e\u5411\u4e0a<\/ul>\n<p>NGINX\u7684\u8d1f\u8f7d\u5747\u8861\u529f\u80fd\u63d0\u4f9b\u4e86\u4ee5\u4e0b\u51e0\u79cd\u5206\u5e03\u65b9\u5f0f\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">round-robin<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u30ce\u30fc\u30c91\u30641\u3064\u306b\u5bfe\u3057\u9806\u756a\u632f\u308a\u5206\u3051\u307e\u3059\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">least-connected<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u30a2\u30af\u30c6\u30a3\u30d6\u3001\u304b\u3064\u3001\u63a5\u7d9a\u6570\u304c\u6700\u3082\u5c11\u306a\u3044\u30ce\u30fc\u30c9\u306b\u632f\u308a\u5206\u3051\u307e\u3059\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">ip-hash<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306eIP\u30a2\u30c9\u30ec\u30b9\u3068\u63a5\u7d9a\u5148\u30ce\u30fc\u30c9\u3092\u7d10\u4ed8\u3051\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u5e38\u306b\u540c\u3058\u30ce\u30fc\u30c9\u3078\u632f\u308a\u5206\u3051\u307e\u3059\u3002<\/ul>\n<p>\u5173\u4e8e\u5206\u914d\uff0c\u8fd8\u63d0\u4f9b\u4e86\u8be6\u7ec6\u7684\u8bbe\u7f6e\u3002\u8be6\u7ec6\u4fe1\u606f\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\u3002<\/p>\n<p>&nbsp;<\/p>\n<h1>\u6574\u4f53\u5f62\u8c61<\/h1>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d160437434c4406bfff35\/15-0.png\" alt=\"image.png\" \/><\/div>\n<h1>\u73af\u5883\u3002<\/h1>\n<p>\u64cd\u4f5c\u7cfb\u7edf\uff1amacOS Monterey 12.5<br \/>\n\u8bbe\u5907\uff1aMacBook Air\uff0813\u82f1\u5bf8\uff0c2018\u6b3e\uff0cRetina\u663e\u793a\u5c4f\uff09<br \/>\n\u5904\u7406\u5668\uff1a1.6GHz \u53cc\u6838Intel Core i5<\/p>\n<p>\u5df2\u5b89\u88c5\u4e86Docker\u684c\u9762\u7248\u3002<\/p>\n<pre class=\"post-pre\"><code>% brew list <span class=\"nt\">--version<\/span> | <span class=\"nb\">grep <\/span>docker\r\ndocker 4.11.1,84025\r\n<\/code><\/pre>\n<h1>\u8fd9\u6b21\u7684\u6587\u4ef6 de<\/h1>\n<p>&nbsp;<\/p>\n<h1>\u5185\u5bb9 &#8211; natively paraphrased in Chinese could be &#8220;\u4fe1\u606f&#8221; x\u012b), &#8220;\u8d44\u6599&#8221; (z\u012b , or &#8220;\u5185\u5bb9&#8221; .<\/h1>\n<p>\u4ece\u73b0\u5728\u5f00\u59cb\uff0c\u6211\u4eec\u5c06\u4ee5\u7248\u672cv1\u7684\u6807\u7b7e\u4e3a\u57fa\u7840\uff0c\u8fdb\u884c\u4fee\u6539\u90e8\u5206\u7684\u89e3\u91ca\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u5982\u679c\u60f3\u8981\u81ea\u5df1\u64cd\u4f5c\uff0c\u8bf7\u5728\u514b\u9686\u4ed3\u5e93\u540e\uff0c\u68c0\u51fa\u672c\u5e16\u6240\u63cf\u8ff0\u7684\u5df2\u53cd\u6620\u4fee\u8ba2\u5185\u5bb9\u7684v2\u6807\u7b7e\uff0c\u7136\u540e\u6839\u636e\u73af\u5883\u8c03\u6574nginx-server\/nginx.conf\u4e2d\u5206\u53d1\u5230\u7684IP\u5730\u5740\uff0c\u4e4b\u540e\u6309\u7167\u6b65\u9aa4\u5373\u53ef\u8fd0\u884c\u3002<\/p>\n<h2>\u521b\u5efa\u6216\u4fee\u6539Dockerfile\u3002<\/h2>\n<h3>\u8bf7\u5bf9\u4e0b\u5217\u5185\u5bb9\u8fdb\u884c\u4e2d\u6587\u672c\u5730\u5316\uff0c\u53ea\u9700\u8981\u4e00\u79cd\u9009\u62e9\uff1a<\/h3>\n<p>NGINX<\/p>\n<p>\u7531\u4e8e\u8fc1\u79fb\u81f3docker-compose.xml\u4e2d\uff0c\u5df2\u7ecf\u5c06\u7aef\u53e3\u6307\u5b9a\u5220\u9664\u3002<br \/>\n\u539f\u672c\u662f\u901a\u8fc7\u5c06\u914d\u7f6e\u6587\u4ef6\u653e\u5165docker-compose.xml\u6240\u5728\u7684\u76ee\u5f55\u8fdb\u884c\u6302\u8f7d\uff0c\u4f46\u73b0\u5728\u6539\u4e3a\u8fdb\u884c\u6587\u4ef6\u590d\u5236\u3002\uff08\u4efb\u9009\u4e00\u79cd\u65b9\u5f0f\uff0c\u4f46\u6211\u9009\u62e9\u4e86\u8fd9\u79cd\u65b9\u5f0f\uff09\u3002<br \/>\n\u914d\u7f6e\u6587\u4ef6\u7684\u8bf4\u660e\u5c06\u5728\u540e\u8ff0\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">FROM<\/span><span class=\"s\"> nginx:latest<\/span>\r\n\r\n<span class=\"hdl\"><span class=\"o\">- <\/span>EXPOSE 80\r\n<\/span><span class=\"hdl\"><span class=\"o\">- <\/span>\r\n<\/span><span class=\"hdl\"><span class=\"o\">- <\/span>RUN rm -rf \/etc\/nginx\/conf.d\r\n<\/span><span class=\"hil\"><span class=\"o\">+ <\/span>RUN rm -f \/etc\/nginx\/conf.d\/*\r\n<\/span><span class=\"hil\">+ COPY conf.d\/nginx.conf \/etc\/nginx\/conf.d\r\n<\/span><span class=\"hil\"><span class=\"o\">+ <\/span>COPY nginx.conf \/etc\/nginx\r\n<\/span><\/code><\/pre>\n<h3>\u6c64\u59c6\u732b-1<\/h3>\n<p>\u7531\u4e8e\u8fc1\u79fb\u5230docker-compose.xml\u6587\u4ef6\u4e2d\uff0c\u5df2\u5220\u9664\u4e86\u5bf9\u7aef\u53e3\u7684\u6307\u5b9a\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">FROM<\/span><span class=\"s\"> tomcat:latest<\/span>\r\n\r\n<span class=\"hdl\"><span class=\"o\">- <\/span>EXPOSE 8080\r\n<\/span><\/code><\/pre>\n<h3>Tomcat-2 &#8211; \u6c64\u59c6\u732b2<\/h3>\n<p>\u6211\u5df2\u7ecf\u5c06Tomcat\u914d\u7f6e\u4e2d\u9ed8\u8ba4\u7684\u7aef\u53e38080\u4fee\u6539\u4e3a8081\u3002<br \/>\n\u867d\u7136\u4e5f\u6709\u590d\u5236\u7f16\u8f91\u8fc7\u7684\u6587\u4ef6\u7684\u9009\u9879\uff0c\u4f46\u6211\u9009\u62e9\u4f7f\u7528sed\u6765\u5b8c\u6210\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">FROM<\/span><span class=\"s\"> tomcat:latest<\/span>\r\n\r\n<span class=\"k\">RUN <\/span><span class=\"nb\">sed<\/span> <span class=\"nt\">-i<\/span> <span class=\"s1\">'s\/Connector port=\"8080\"\/Connector port=\"8081\"\/'<\/span> \/usr\/local\/tomcat\/conf\/server.xml\r\n<\/code><\/pre>\n<h3>\u6c64\u59c6\u732b-3<\/h3>\n<p>\u6211\u5df2\u7ecf\u50cfTomcat-2\u4e00\u6837\u5c06\u7aef\u53e3\u4fee\u6539\u4e3a8082\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">FROM<\/span><span class=\"s\"> tomcat:latest<\/span>\r\n\r\n<span class=\"k\">RUN <\/span><span class=\"nb\">sed<\/span> <span class=\"nt\">-i<\/span> <span class=\"s1\">'s\/Connector port=\"8080\"\/Connector port=\"8082\"\/'<\/span> \/usr\/local\/tomcat\/conf\/server.xml\r\n<\/code><\/pre>\n<h2>\u4fee\u6539NGINX\u914d\u7f6e<\/h2>\n<p>\u4e0a\u6e38\u5e94\u7528\u5c06\u5728\u8d1f\u8f7d\u5747\u8861\u5668\u4e2d\u8fdb\u884c\u5206\u914d\u3002\u8bf7\u6839\u636e\u73af\u5883\u6765\u4fee\u6539IP\u5730\u5740\u3002\u9664\u4e86\u5206\u914d\u76ee\u6807\u4e4b\u5916\uff0c\u5982\u679c\u6ca1\u6709\u7279\u522b\u6307\u5b9a\uff0c\u5c06\u4f7f\u7528\u8f6e\u8be2\u65b9\u5f0f\u8fdb\u884c\u5206\u914d\u3002\u672c\u6b21\u8bbe\u7f6e\u5c06\u4f7f\u7528\u8f6e\u8be2\u65b9\u5f0f\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">user<\/span>  <span class=\"s\">nginx<\/span><span class=\"p\">;<\/span>\r\n<span class=\"k\">worker_processes<\/span>  <span class=\"s\">auto<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"k\">error_log<\/span>  <span class=\"n\">\/var\/log\/nginx\/error.log<\/span> <span class=\"s\">notice<\/span><span class=\"p\">;<\/span>\r\n<span class=\"k\">pid<\/span>        <span class=\"n\">\/var\/run\/nginx.pid<\/span><span class=\"p\">;<\/span>\r\n\r\n\r\n<span class=\"k\">events<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"kn\">worker_connections<\/span>  <span class=\"mi\">1024<\/span><span class=\"p\">;<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n\r\n<span class=\"k\">http<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"kn\">include<\/span>       <span class=\"n\">\/etc\/nginx\/mime.types<\/span><span class=\"p\">;<\/span>\r\n    <span class=\"kn\">default_type<\/span>  <span class=\"nc\">application\/octet-stream<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"kn\">log_format<\/span>  <span class=\"s\">main<\/span>  <span class=\"s\">'<\/span><span class=\"nv\">$remote_addr<\/span> <span class=\"s\">-<\/span> <span class=\"nv\">$remote_user<\/span> <span class=\"s\">[<\/span><span class=\"nv\">$time_local<\/span><span class=\"s\">]<\/span> <span class=\"s\">\"<\/span><span class=\"nv\">$request<\/span><span class=\"s\">\"<\/span> <span class=\"s\">'<\/span>\r\n                      <span class=\"s\">'<\/span><span class=\"nv\">$status<\/span> <span class=\"nv\">$body_bytes_sent<\/span> <span class=\"s\">\"<\/span><span class=\"nv\">$http_referer<\/span><span class=\"s\">\"<\/span> <span class=\"s\">'<\/span>\r\n                      <span class=\"s\">'\"<\/span><span class=\"nv\">$http_user_agent<\/span><span class=\"s\">\"<\/span> <span class=\"s\">\"<\/span><span class=\"nv\">$http_x_forwarded_for<\/span><span class=\"s\">\"'<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"kn\">access_log<\/span>  <span class=\"n\">\/var\/log\/nginx\/access.log<\/span>  <span class=\"s\">main<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"kn\">sendfile<\/span>        <span class=\"no\">on<\/span><span class=\"p\">;<\/span>\r\n    <span class=\"c1\">#tcp_nopush     on;<\/span>\r\n\r\n    <span class=\"kn\">keepalive_timeout<\/span>  <span class=\"mi\">65<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"c1\">#gzip  on;<\/span>\r\n\r\n    <span class=\"kn\">upstream<\/span> <span class=\"s\">apps<\/span> <span class=\"p\">{<\/span>\r\n        <span class=\"kn\">server<\/span> <span class=\"nf\">192.168.x.x<\/span><span class=\"p\">:<\/span><span class=\"mi\">8080<\/span><span class=\"p\">;<\/span>\r\n        <span class=\"kn\">server<\/span> <span class=\"nf\">192.168.x.x<\/span><span class=\"p\">:<\/span><span class=\"mi\">8081<\/span><span class=\"p\">;<\/span>\r\n        <span class=\"kn\">server<\/span> <span class=\"nf\">192.168.x.x<\/span><span class=\"p\">:<\/span><span class=\"mi\">8082<\/span><span class=\"p\">;<\/span>\r\n    <span class=\"p\">}<\/span>\r\n\r\n    <span class=\"kn\">include<\/span> <span class=\"n\">\/etc\/nginx\/conf.d\/*.conf<\/span><span class=\"p\">;<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>\u4e3a\u4e86\u5b9e\u73b0\u8bf7\u6c42\u7684\u5206\u6563\uff0c\u6211\u4eec\u5c06\u4fee\u6539URL\u7684\u76f4\u63a5\u8bbe\u5b9a\uff0c\u5728nginx-server\/nginx.conf\u4e2d\u5b9a\u4e49\u5206\u6563\u7684\u76ee\u6807\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">server<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"kn\">listen<\/span> <span class=\"mi\">80<\/span><span class=\"p\">;<\/span>\r\n    <span class=\"kn\">server_name<\/span> <span class=\"s\">localhost<\/span><span class=\"p\">;<\/span>\r\n\r\n    <span class=\"kn\">access_log<\/span> <span class=\"n\">\/var\/log\/nginx\/access.log<\/span><span class=\"p\">;<\/span>\r\n    <span class=\"kn\">error_log<\/span> <span class=\"n\">\/var\/log\/nginx\/error.log<\/span><span class=\"p\">;<\/span>\r\n    <span class=\"kn\">location<\/span> <span class=\"n\">\/<\/span> <span class=\"p\">{<\/span>\r\n<span class=\"hdl\"><span class=\"kn\">-<\/span>       <span class=\"s\">proxy_pass<\/span> <span class=\"s\">http:\/\/192.168.x.x:8080<\/span><span class=\"p\">;<\/span>\r\n<\/span><span class=\"hil\"><span class=\"kn\">+<\/span>       <span class=\"s\">proxy_pass<\/span> <span class=\"s\">http:\/\/apps<\/span><span class=\"p\">;<\/span>\r\n<\/span>        <span class=\"c1\"># proxy_pass http:\/\/host.docker.internal:8080;<\/span>\r\n    <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<h2>\u4e3a\u6bcf\u4e2a\u5e94\u7528\u7a0b\u5e8f\u51c6\u5907\u4e0d\u540c\u7684\u5185\u5bb9\u3002<\/h2>\n<p>\u4e3atomcat-server-1\u30012\u30013\u5206\u522b\u51c6\u5907\u5185\u5bb9\u3002<br \/>\n\u4e3a\u4e86\u80fd\u591f\u77e5\u9053\u8bbf\u95ee\u4e86\u54ea\u4e2a\u8282\u70b9\uff0c\u6211\u4eec\u4f1a\u6539\u53d8\u8282\u70b9\u7684\u7f16\u53f7\u3002<br \/>\n\u4ee5\u4e0b\u662ftomcat-server-1\u5e94\u7528\u7a0b\u5e8f\u5185\u5bb9\u7684\u793a\u4f8b\u3002\u62ec\u53f7\u4e2d\u7684\u7f16\u53f7\u5c06\u5206\u522b\u53d8\u5316\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nt\">&lt;h1&gt;<\/span>hello sample.html (1)<span class=\"nt\">&lt;\/h1&gt;<\/span>\r\n<\/code><\/pre>\n<h2>\u5bf9docker-compose.yml\u8fdb\u884c\u4fee\u6539<\/h2>\n<p>\u6211\u4f1a\u9488\u5bf9\u6bcf\u4e2a\u670d\u52a1\u8fdb\u884c\u89e3\u91ca\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">nginx-server<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">NGINX\u306eDockerfile\u306b\u3066\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u30b3\u30d4\u30fc\u3059\u308b\u3088\u3046\u306b\u4fee\u6b63\u3057\u305f\u305f\u3081\u3001\u30dc\u30ea\u30e5\u30fc\u30e0\u306b\u6307\u5b9a\u3057\u3066\u3044\u305f\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u304c\u914d\u7f6e\u3055\u308c\u3066\u3044\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30eaconf.d\u3092\u5916\u3057\u3066\u307e\u3059\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30dd\u30fc\u30c8\u306e\u6307\u5b9a\u306f\u672c\u30d5\u30a1\u30a4\u30eb\u306e\u5b9a\u7fa9\u306b\u96c6\u7d04\u3059\u308b\u3088\u3046\u306b\u3057\u305f\u305f\u308180\u30dd\u30fc\u30c8\u306e\u6307\u5b9a\u3092\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">tomcat-server-1,2,3<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u57fa\u672c\u7684\u306b\u306f\u540c\u3058\u69cb\u6210\u3068\u306a\u308a\u307e\u3059\u3002\u7279\u306b\u8aac\u660e\u3092\u5165\u308c\u308b\u3068\u3053\u308d\u306f\u306a\u3044\u306e\u3067\u3001\u30bd\u30fc\u30b9\u5dee\u5206\u306e\u307f\u63b2\u8f09\u3068\u3057\u307e\u3059\u3002<\/ul>\n<pre class=\"post-pre\"><code>version: \"3\"\r\nservices:\r\n    nginx-server:\r\n        build:\r\n            context: .\/nginx-server\r\n        volumes:\r\n<span class=\"hdl\">-           - .\/nginx-server\/conf.d:\/etc\/nginx\/conf.d\r\n<\/span>            - .\/nginx-server\/log:\/var\/log\/nginx\r\n<span class=\"hil\">+       expose:\r\n<\/span><span class=\"hil\">+           - 80\r\n<\/span>        ports:\r\n            - 80:80\r\n\r\n<span class=\"hdl\">-   tomcat-server:\r\n<\/span><span class=\"hil\">+   tomcat-server-1:\r\n<\/span>        build:\r\n<span class=\"hdl\">-           context: .\/tomcat-server\r\n<\/span><span class=\"hil\">+           context: .\/tomcat-server1\r\n<\/span>        volumes:\r\n<span class=\"hdl\">-           - .\/tomcat-server\/webapps:\/usr\/local\/tomcat\/webapps\r\n<\/span><span class=\"hdl\">-           - .\/tomcat-server\/log:\/usr\/local\/tomcat\/logs\r\n<\/span><span class=\"hil\">+           - .\/tomcat-server1\/webapps:\/usr\/local\/tomcat\/webapps\r\n<\/span><span class=\"hil\">+           - .\/tomcat-server1\/log:\/usr\/local\/tomcat\/logs\r\n<\/span><span class=\"hil\">+       expose:\r\n<\/span><span class=\"hil\">+           - 8080\r\n<\/span>        ports:\r\n            - 8080:8080\r\n<span class=\"hil\">+   tomcat-server-2:\r\n<\/span><span class=\"hil\">+       build:\r\n<\/span><span class=\"hil\">+           context: .\/tomcat-server2\r\n<\/span><span class=\"hil\">+       volumes:\r\n<\/span><span class=\"hil\">+           - .\/tomcat-server2\/webapps:\/usr\/local\/tomcat\/webapps\r\n<\/span><span class=\"hil\">+           - .\/tomcat-server2\/log:\/usr\/local\/tomcat\/logs\r\n<\/span><span class=\"hil\">+       expose:\r\n<\/span><span class=\"hil\">+           - 8081\r\n<\/span><span class=\"hil\">+       ports:\r\n<\/span><span class=\"hil\">+           - 8081:8081\r\n<\/span><span class=\"hil\">+\r\n<\/span><span class=\"hil\">+   tomcat-server-3:\r\n<\/span><span class=\"hil\">+       build:\r\n<\/span><span class=\"hil\">+           context: .\/tomcat-server3\r\n<\/span><span class=\"hil\">+       volumes:\r\n<\/span><span class=\"hil\">+           - .\/tomcat-server3\/webapps:\/usr\/local\/tomcat\/webapps\r\n<\/span><span class=\"hil\">+           - .\/tomcat-server3\/log:\/usr\/local\/tomcat\/logs\r\n<\/span><span class=\"hil\">+       expose:\r\n<\/span><span class=\"hil\">+           - 8082\r\n<\/span><span class=\"hil\">+       ports:\r\n<\/span><span class=\"hil\">+           - 8082:8082\r\n<\/span><\/code><\/pre>\n<h2>\u6784\u5efa\u5bb9\u5668<\/h2>\n<pre class=\"post-pre\"><code>% docker-compose build\r\n<\/code><\/pre>\n<h2>\u542f\u52a8\u5bb9\u5668<\/h2>\n<pre class=\"post-pre\"><code>% docker-compose up <span class=\"nt\">-d<\/span>\r\n<\/code><\/pre>\n<h2>\u6267\u884c\u7ed3\u679c<\/h2>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d160437434c4406bfff35\/56-2.png\" alt=\"image.png\" \/><\/div>\n<h1>\u7ed3\u675f\u5bb9\u5668\u7684\u542f\u52a8<\/h1>\n<pre class=\"post-pre\"><code>% docker-compose down\r\n<\/code><\/pre>\n<h1>\u6700\u5f8c<\/h1>\n<p>\u6211\u5728\u4e1a\u52a1\u4e2d\u6784\u5efa\u7684\u53ef\u80fd\u66f4\u4e3a\u9ad8\u7ea7\uff0c\u4f46\u6784\u5efa\u8d1f\u8f7d\u5747\u8861\u5668\u7684\u76ee\u6807\u5df2\u7ecf\u5b9e\u73b0\u3002<\/p>\n<p>\u6211\u5728\u60f3\u7684\u95ee\u9898\u662f\uff0c\u8fd9\u6b21\u5206\u53d1\u76ee\u6807\u662f3\u4e2a\u8282\u70b9\uff0c\u56e0\u6b64\u901a\u8fc7\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\u6765\u89e3\u51b3\u4e86\u95ee\u9898\u3002\u4f46\u662f\uff0c\u5982\u679c\u8003\u8651\u5230\u5927\u91cf\u8bbf\u95ee\u5e76\u6784\u5efa\u5927\u91cf\u8282\u70b9\u7684\u60c5\u51b5\uff0c\u5982\u4f55\u6709\u6548\u5730\u4e3a\u6bcf\u4e2a\u8282\u70b9\u8bbe\u7f6e\u72ec\u7279\u7684\u914d\u7f6e\uff08\u4f8b\u5982\u7aef\u53e3\uff09\u5462\uff1f\u6211\u5728\u60f3\u662f\u5426\u53ef\u4ee5\u4f7f\u7528\u5faa\u73af\u5904\u7406\u6216\u53d8\u91cf\u7b49\u903b\u8f91\u6765\u5b9e\u73b0\uff0c\u5982\u679c\u6709\u6700\u4f73\u5b9e\u8df5\u7684\u65b9\u5f0f\uff0c\u6211\u5e0c\u671b\u5c06\u5176\u4f5c\u4e3a\u4eca\u540e\u8981\u89e3\u51b3\u7684\u95ee\u9898\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148, This submission is a sequel to the previous submiss [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-33156","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u5728\u4f7f\u7528NGINX\u6784\u5efa\u7684Web\u670d\u52a1\u5668\u4e0a\u8bbe\u7f6e\u8d1f\u8f7d\u5747\u8861\u529f\u80fd - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u4f7f\u7528nginx\u6784\u5efa\u7684web\u670d\u52a1\u5668\u4e0a\u8bbe\u7f6e\u8d1f\u8f7d\u5747\u8861\u529f\u80fd\u3002\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5728\u4f7f\u7528NGINX\u6784\u5efa\u7684Web\u670d\u52a1\u5668\u4e0a\u8bbe\u7f6e\u8d1f\u8f7d\u5747\u8861\u529f\u80fd\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148, This submission is a sequel to the previous submiss [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u4f7f\u7528nginx\u6784\u5efa\u7684web\u670d\u52a1\u5668\u4e0a\u8bbe\u7f6e\u8d1f\u8f7d\u5747\u8861\u529f\u80fd\u3002\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-04T10:47:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-04T00:19:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d160437434c4406bfff35\/15-0.png\" \/>\n<meta name=\"author\" content=\"\u65b0, \u97f5\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u65b0, \u97f5\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e4%bd%bf%e7%94%a8nginx%e6%9e%84%e5%bb%ba%e7%9a%84web%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e8%ae%be%e7%bd%ae%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1%e5%8a%9f%e8%83%bd%e3%80%82\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e4%bd%bf%e7%94%a8nginx%e6%9e%84%e5%bb%ba%e7%9a%84web%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e8%ae%be%e7%bd%ae%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1%e5%8a%9f%e8%83%bd%e3%80%82\/\",\"name\":\"\u5728\u4f7f\u7528NGINX\u6784\u5efa\u7684Web\u670d\u52a1\u5668\u4e0a\u8bbe\u7f6e\u8d1f\u8f7d\u5747\u8861\u529f\u80fd - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2024-03-04T10:47:48+00:00\",\"dateModified\":\"2024-05-04T00:19:43+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/4ba4019495123db3038fd0809e6959c9\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e4%bd%bf%e7%94%a8nginx%e6%9e%84%e5%bb%ba%e7%9a%84web%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e8%ae%be%e7%bd%ae%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1%e5%8a%9f%e8%83%bd%e3%80%82\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e4%bd%bf%e7%94%a8nginx%e6%9e%84%e5%bb%ba%e7%9a%84web%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e8%ae%be%e7%bd%ae%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1%e5%8a%9f%e8%83%bd%e3%80%82\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e4%bd%bf%e7%94%a8nginx%e6%9e%84%e5%bb%ba%e7%9a%84web%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e8%ae%be%e7%bd%ae%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1%e5%8a%9f%e8%83%bd%e3%80%82\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5728\u4f7f\u7528NGINX\u6784\u5efa\u7684Web\u670d\u52a1\u5668\u4e0a\u8bbe\u7f6e\u8d1f\u8f7d\u5747\u8861\u529f\u80fd\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/4ba4019495123db3038fd0809e6959c9\",\"name\":\"\u65b0, \u97f5\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g\",\"caption\":\"\u65b0, \u97f5\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunxin\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e4%bd%bf%e7%94%a8nginx%e6%9e%84%e5%bb%ba%e7%9a%84web%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e8%ae%be%e7%bd%ae%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1%e5%8a%9f%e8%83%bd%e3%80%82\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5728\u4f7f\u7528NGINX\u6784\u5efa\u7684Web\u670d\u52a1\u5668\u4e0a\u8bbe\u7f6e\u8d1f\u8f7d\u5747\u8861\u529f\u80fd - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u4f7f\u7528nginx\u6784\u5efa\u7684web\u670d\u52a1\u5668\u4e0a\u8bbe\u7f6e\u8d1f\u8f7d\u5747\u8861\u529f\u80fd\u3002\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5728\u4f7f\u7528NGINX\u6784\u5efa\u7684Web\u670d\u52a1\u5668\u4e0a\u8bbe\u7f6e\u8d1f\u8f7d\u5747\u8861\u529f\u80fd","og_description":"\u9996\u5148, This submission is a sequel to the previous submiss [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u4f7f\u7528nginx\u6784\u5efa\u7684web\u670d\u52a1\u5668\u4e0a\u8bbe\u7f6e\u8d1f\u8f7d\u5747\u8861\u529f\u80fd\u3002\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2024-03-04T10:47:48+00:00","article_modified_time":"2024-05-04T00:19:43+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d160437434c4406bfff35\/15-0.png"}],"author":"\u65b0, \u97f5","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u65b0, \u97f5","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"2 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e4%bd%bf%e7%94%a8nginx%e6%9e%84%e5%bb%ba%e7%9a%84web%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e8%ae%be%e7%bd%ae%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1%e5%8a%9f%e8%83%bd%e3%80%82\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e4%bd%bf%e7%94%a8nginx%e6%9e%84%e5%bb%ba%e7%9a%84web%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e8%ae%be%e7%bd%ae%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1%e5%8a%9f%e8%83%bd%e3%80%82\/","name":"\u5728\u4f7f\u7528NGINX\u6784\u5efa\u7684Web\u670d\u52a1\u5668\u4e0a\u8bbe\u7f6e\u8d1f\u8f7d\u5747\u8861\u529f\u80fd - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2024-03-04T10:47:48+00:00","dateModified":"2024-05-04T00:19:43+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/4ba4019495123db3038fd0809e6959c9"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e4%bd%bf%e7%94%a8nginx%e6%9e%84%e5%bb%ba%e7%9a%84web%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e8%ae%be%e7%bd%ae%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1%e5%8a%9f%e8%83%bd%e3%80%82\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e4%bd%bf%e7%94%a8nginx%e6%9e%84%e5%bb%ba%e7%9a%84web%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e8%ae%be%e7%bd%ae%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1%e5%8a%9f%e8%83%bd%e3%80%82\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e4%bd%bf%e7%94%a8nginx%e6%9e%84%e5%bb%ba%e7%9a%84web%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e8%ae%be%e7%bd%ae%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1%e5%8a%9f%e8%83%bd%e3%80%82\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5728\u4f7f\u7528NGINX\u6784\u5efa\u7684Web\u670d\u52a1\u5668\u4e0a\u8bbe\u7f6e\u8d1f\u8f7d\u5747\u8861\u529f\u80fd"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/4ba4019495123db3038fd0809e6959c9","name":"\u65b0, \u97f5","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d484b6c6e4ae82e8a9efea989e1d2af46d9b6ef128101e63b18f559fca0ae627?s=96&d=mm&r=g","caption":"\u65b0, \u97f5"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunxin\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e4%bd%bf%e7%94%a8nginx%e6%9e%84%e5%bb%ba%e7%9a%84web%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e8%ae%be%e7%bd%ae%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1%e5%8a%9f%e8%83%bd%e3%80%82\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/33156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=33156"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/33156\/revisions"}],"predecessor-version":[{"id":97196,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/33156\/revisions\/97196"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=33156"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=33156"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=33156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}