{"id":921,"date":"2022-09-09T09:52:51","date_gmt":"2022-09-09T01:52:51","guid":{"rendered":"https:\/\/www.qiangzhenshuai.com\/?p=921"},"modified":"2022-09-27T15:59:21","modified_gmt":"2022-09-27T07:59:21","slug":"nginx-%e4%b8%83%e5%b1%82%e8%b4%9f%e8%bd%bd","status":"publish","type":"post","link":"https:\/\/www.qiangzhenshuai.com\/?p=921","title":{"rendered":"NGINX-\u4e03\u5c42\u8d1f\u8f7d"},"content":{"rendered":"\r\n<h1>1.\u4e03\u5c42\u8d1f\u8f7d\u5747\u8861-\u9759\u6001<\/h1>\r\n\r\n\r\n\r\n<h2>\u73af\u5883\u51c6\u5907<\/h2>\r\n\r\n\r\n\r\n<h4>\u673a\u5668<\/h4>\r\n\r\n\r\n\r\n<p>lb<\/p>\r\n\r\n\r\n\r\n<p>web01\u3001web02<\/p>\r\n\r\n\r\n\r\n<h4>web01\u914d\u7f6e<\/h4>\r\n\r\n\r\n\r\n<p>[root@web01 ~]$ mkdir -p \/code\/proxy<br \/>[root@web01 ~]$ echo &#8220;proxy.dmxsp.com&#8221; `hostname` `hostname -I` &gt;\/code\/proxy\/index.html<br \/>[root@web01 ~]$ cat \/code\/proxy\/index.html<br \/>proxy.dmxsp.com web01 10.0.0.45 172.16.1.45<\/p>\r\n\r\n\r\n\r\n<h4>\u5199\u914d\u7f6e\u6587\u4ef6<\/h4>\r\n\r\n\r\n\r\n<p>[root@web01 ~]$ cat \/etc\/nginx\/conf.d\/proxy.dmxsp.com.conf<br \/>server {<br \/>listen 80;<br \/>server_name proxy.dmxsp.com;<br \/>location \/ {<br \/>root \/code\/proxy;<br \/>index index.html;<br \/>}<br \/>}<\/p>\r\n\r\n\r\n\r\n<h4>\u68c0\u67e5\u8bed\u6cd5<\/h4>\r\n\r\n\r\n\r\n<p>[root@web01 ~]$ nginx -t<br \/>nginx: the configuration file \/etc\/nginx\/nginx.conf syntax is ok<br \/>nginx: configuration file \/etc\/nginx\/nginx.conf test is successful<\/p>\r\n\r\n\r\n\r\n<h4>\u91cd\u542fnginx<\/h4>\r\n\r\n\r\n\r\n<p>[root@web01 ~]$ systemctl reload nginx.service<\/p>\r\n\r\n\r\n\r\n<h4>\u547d\u4ee4\u884c\u6d4b\u8bd5<\/h4>\r\n\r\n\r\n\r\n<p>[root@web01 ~]$ curl -H Host:proxy.dmxsp.com 10.0.0.45<br \/>proxy.dmxsp.com web01 10.0.0.45 172.16.1.45<\/p>\r\n\r\n\r\n\r\n<h4>web02\u914d\u7f6e<\/h4>\r\n\r\n\r\n\r\n<p>[root@web02 ~]$ mkdir -p \/code\/proxy<br \/>[root@web02 ~]$ echo &#8220;proxy.dmxsp.com&#8221; `hostname` `hostname -I` &gt;\/code\/proxy\/index.html<br \/>[root@web02 ~]$ cat \/code\/proxy\/index.html<br \/>proxy.dmxsp.com web02 10.0.0.145 172.16.1.145<\/p>\r\n\r\n\r\n\r\n<h4>\u5199\u914d\u7f6e\u6587\u4ef6<\/h4>\r\n\r\n\r\n\r\n<p>[root@web02 ~]$ cat \/etc\/nginx\/conf.d\/proxy.dmxsp.com.conf<br \/>server {<br \/>listen 80;<br \/>server_name proxy.dmxsp.com;<br \/>location \/ {<br \/>root \/code\/proxy;<br \/>index index.html;<br \/>}<br \/>}<\/p>\r\n\r\n\r\n\r\n<h4>\u68c0\u67e5\u8bed\u6cd5<\/h4>\r\n\r\n\r\n\r\n<p>[root@web01 ~]$ nginx -t<br \/>nginx: the configuration file \/etc\/nginx\/nginx.conf syntax is ok<br \/>nginx: configuration file \/etc\/nginx\/nginx.conf test is successful<\/p>\r\n\r\n\r\n\r\n<h4>\u91cd\u542fnginx<\/h4>\r\n\r\n\r\n\r\n<p>[root@web01 ~]$ systemctl reload nginx.service<\/p>\r\n\r\n\r\n\r\n<h4>\u547d\u4ee4\u884c\u6d4b\u8bd5<\/h4>\r\n\r\n\r\n\r\n<p>[root@web02 ~]$ curl -H Host:proxy.dmxsp.com 10.0.0.145<br \/>proxy.dmxsp.com web02 10.0.0.145 172.16.1.145<\/p>\r\n\r\n\r\n\r\n<h2>lb\u914d\u7f6e<\/h2>\r\n\r\n\r\n\r\n<h4>upstream\u6a21\u5757<\/h4>\r\n\r\n\r\n\r\n<figure>\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td>Syntax<\/td>\r\n<td>upstream\u00a0name\u00a0{ &#8230; }<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Default<\/td>\r\n<td>\u2014<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Context<\/td>\r\n<td>http<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<\/figure>\r\n\r\n\r\n\r\n<h4>\u5199\u914d\u7f6e\u6587\u4ef6<\/h4>\r\n<p>[root@lb ~]$ cat \/etc\/nginx\/conf.d\/proxy.dmxsp.com.conf <br \/>upstream dmxsp {<br \/>server 10.0.0.45:80;<br \/>server 10.0.0.145:80;<br \/>}<br \/>server {<br \/>listen 80;<br \/>server_name proxy.dmxsp.com;<br \/>location \/ {<br \/>proxy_pass http:\/\/dmxsp;<br \/>include proxy_params;<br \/>}<br \/>}<\/p>\r\n<h4>\u68c0\u67e5\u8bed\u6cd5<\/h4>\r\n<p>\r\n\r\n<\/p>\r\n<p>[root@lb ~]$ nginx -t<br \/>nginx: the configuration file \/etc\/nginx\/nginx.conf syntax is ok<br \/>nginx: configuration file \/etc\/nginx\/nginx.conf test is successful<\/p>\r\n<p>\r\n\r\n<\/p>\r\n<h4>\u91cd\u542fnginx<\/h4>\r\n<p>\r\n\r\n<\/p>\r\n<p>[root@lb ~]$ systemctl reload nginx.service<\/p>\r\n<h4>\u9875\u9762\u6d4b\u8bd5<\/h4>\r\n<p><a href=\"https:\/\/www.qiangzhenshuai.com\/?attachment_id=930\" rel=\"attachment wp-att-930\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-930\" src=\"https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e03\u5c42\u8d1f\u8f7d\u6d4b\u8bd51.png?resize=468%2C258&#038;ssl=1\" alt=\"\" width=\"468\" height=\"258\" srcset=\"https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e03\u5c42\u8d1f\u8f7d\u6d4b\u8bd51.png?w=468&amp;ssl=1 468w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e03\u5c42\u8d1f\u8f7d\u6d4b\u8bd51.png?resize=300%2C165&amp;ssl=1 300w\" sizes=\"(max-width: 468px) 100vw, 468px\" data-recalc-dims=\"1\" \/><\/a> <a href=\"https:\/\/www.qiangzhenshuai.com\/?attachment_id=931\" rel=\"attachment wp-att-931\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-931\" src=\"https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e03\u5c42\u8d1f\u8f7d\u6d4b\u8bd52.png?resize=472%2C222&#038;ssl=1\" alt=\"\" width=\"472\" height=\"222\" srcset=\"https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e03\u5c42\u8d1f\u8f7d\u6d4b\u8bd52.png?w=472&amp;ssl=1 472w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e03\u5c42\u8d1f\u8f7d\u6d4b\u8bd52.png?resize=300%2C141&amp;ssl=1 300w\" sizes=\"(max-width: 472px) 100vw, 472px\" data-recalc-dims=\"1\" \/><\/a><\/p>\r\n<h1>2.\u4e03\u5c42\u8d1f\u8f7d\u5747\u8861-\u52a8\u6001<\/h1>\r\n<h4>web01\u300102\u51c6\u5907<\/h4>\r\n<p>[root@web01 ~]$ cat \/etc\/nginx\/conf.d\/blog.wordpress.com.conf<br \/>server {<br \/>listen 80;<br \/>server_name blog.wordpress.com;<br \/>root \/code\/wordpress;<br \/>location \/ {<br \/>index index.html index.php;<br \/>}<\/p>\r\n<p>location ~ \\.php {<br \/>fastcgi_pass 127.0.0.1:9000;<br \/>fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<br \/>include fastcgi_params;<br \/>}<br \/>}<\/p>\r\n<p>[root@web02 ~]$ cat \/etc\/nginx\/conf.d\/blog.wordpress.com.conf <br \/>server {<br \/>listen 80;<br \/>server_name blog.wordpress.com;<br \/>root \/code\/wordpress;<br \/>location \/ {<br \/>index index.html index.php;<br \/>}<\/p>\r\n<p>location ~ \\.php {<br \/>fastcgi_pass 127.0.0.1:9000;<br \/>fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<br \/>include fastcgi_params;<br \/>}<br \/>}<\/p>\r\n<h4>bl\u914d\u7f6e\u6587\u4ef6<\/h4>\r\n<p>[root@lb ~]$ cat \/etc\/nginx\/conf.d\/web.wordpress.com.conf <br \/>upstream wordpress {<br \/>server 10.0.0.45:80;<br \/>server 10.0.0.145:80;<br \/>}<br \/>server {<br \/>listen 80;<br \/>server_name blog.wordpress.com;<br \/>location \/ {<br \/>proxy_pass http:\/\/wordpress;<br \/>include proxy_params;<br \/>}<br \/>}<\/p>\r\n<h4>\u68c0\u67e5\u8bed\u6cd5<\/h4>\r\n<p>\r\n\r\n<\/p>\r\n<p>[root@lb ~]$ nginx -t<br \/>nginx: the configuration file \/etc\/nginx\/nginx.conf syntax is ok<br \/>nginx: configuration file \/etc\/nginx\/nginx.conf test is successful<\/p>\r\n<p>\r\n\r\n<\/p>\r\n<h4>\u91cd\u542fnginx<\/h4>\r\n<p>\r\n\r\n<\/p>\r\n<p>[root@lb ~]$ systemctl reload nginx.service<\/p>\r\n<h4>\u6d4b\u8bd5<\/h4>\r\n<p><a href=\"https:\/\/www.qiangzhenshuai.com\/?attachment_id=932\" rel=\"attachment wp-att-932\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-932\" src=\"https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/nginx\u8d1f\u8f7d\u52a8\u6001\u6d4b\u8bd5.png?resize=640%2C319&#038;ssl=1\" alt=\"\" width=\"640\" height=\"319\" srcset=\"https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/nginx\u8d1f\u8f7d\u52a8\u6001\u6d4b\u8bd5.png?w=994&amp;ssl=1 994w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/nginx\u8d1f\u8f7d\u52a8\u6001\u6d4b\u8bd5.png?resize=300%2C149&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/nginx\u8d1f\u8f7d\u52a8\u6001\u6d4b\u8bd5.png?resize=768%2C382&amp;ssl=1 768w\" sizes=\"(max-width: 640px) 100vw, 640px\" data-recalc-dims=\"1\" \/><\/a> <a href=\"https:\/\/www.qiangzhenshuai.com\/?attachment_id=933\" rel=\"attachment wp-att-933\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-933\" src=\"https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/nginx\u8d1f\u8f7d\u52a8\u6001\u65e5\u5fd7.png?resize=640%2C304&#038;ssl=1\" alt=\"\" width=\"640\" height=\"304\" srcset=\"https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/nginx\u8d1f\u8f7d\u52a8\u6001\u65e5\u5fd7.png?w=1409&amp;ssl=1 1409w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/nginx\u8d1f\u8f7d\u52a8\u6001\u65e5\u5fd7.png?resize=300%2C142&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/nginx\u8d1f\u8f7d\u52a8\u6001\u65e5\u5fd7.png?resize=1024%2C486&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/nginx\u8d1f\u8f7d\u52a8\u6001\u65e5\u5fd7.png?resize=768%2C365&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/nginx\u8d1f\u8f7d\u52a8\u6001\u65e5\u5fd7.png?w=1280&amp;ssl=1 1280w\" sizes=\"(max-width: 640px) 100vw, 640px\" data-recalc-dims=\"1\" \/><\/a><\/p>\r\n<h4>wireshark\u6293\u5305<\/h4>\r\n<p>\u8fc7\u6ee4\u6761\u4ef6 http and ( ip.dst == 10.0.0.45 or ip.dst == 10.0.0.145 )<\/p>\r\n<p>ip.addr \u8fc7\u6ee4ip<br \/>ip.dst \u76ee\u6807ip\u662f&#8230;.<br \/>ip.src \u6e90ip\u662f&#8230;..<\/p>\r\n<h1>3.\u52a8\u9759\u5206\u79bb<\/h1>\r\n<h4>lb\u914d\u7f6e<\/h4>\r\n<p>[root@lb ~]$ cat \/etc\/nginx\/conf.d\/web.wordpress.com.conf<br \/>upstream wordpress {<br \/>server 10.0.0.45:80;<br \/>}<br \/>upstream wordpress_jt {<br \/>server 10.0.0.145:80;<br \/>}<br \/>server {<br \/>listen 80;<br \/>server_name web.wordpress.com;<br \/>location \/ {<br \/>proxy_pass http:\/\/wordpress;<br \/>include proxy_params;<br \/>}<br \/>location ~ \\.php$ {<br \/>proxy_pass http:\/\/wordpress;<br \/>include proxy_params;<br \/>}<br \/>location ~ \\.(jpg|png|bmp|jpeg|gif|ico|js|css)$ {<br \/>proxy_pass http:\/\/wordpress_jt;<br \/>include proxy_params;<br \/>}<br \/>}<\/p>\r\n<h4>\u6d4b\u8bd5<\/h4>\r\n<p><a href=\"https:\/\/www.qiangzhenshuai.com\/?attachment_id=965\" rel=\"attachment wp-att-965\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-965\" src=\"https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e03\u5c42\u52a8\u9759\u5206\u79bb.png?resize=640%2C193&#038;ssl=1\" alt=\"\" width=\"640\" height=\"193\" srcset=\"https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e03\u5c42\u52a8\u9759\u5206\u79bb.png?w=1918&amp;ssl=1 1918w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e03\u5c42\u52a8\u9759\u5206\u79bb.png?resize=300%2C91&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e03\u5c42\u52a8\u9759\u5206\u79bb.png?resize=1024%2C309&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e03\u5c42\u52a8\u9759\u5206\u79bb.png?resize=768%2C232&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e03\u5c42\u52a8\u9759\u5206\u79bb.png?resize=1536%2C464&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e03\u5c42\u52a8\u9759\u5206\u79bb.png?w=1280&amp;ssl=1 1280w\" sizes=\"(max-width: 640px) 100vw, 640px\" data-recalc-dims=\"1\" \/><\/a><\/p>\r\n<h1>4.\u8c03\u5ea6\u7b97\u6cd5<\/h1>\r\n<h2>\u9759\u6001\u7b97\u6cd5<\/h2>\r\n<p>rr \u8f6e\u8be2\u7b97\u6cd5: 1\u4e00\u6b211\u4e2a<br \/>wrr \u52a0\u6743\u8f6e\u8be2:(\u540e\u7aef\u8282\u70b9 \u670d\u52a1\u5668\u914d\u7f6e\u4e0d\u540c)<\/p>\r\n<p>web01 1c1g<br \/>web02 1c1g<br \/>web03 4c8g<\/p>\r\n<p>upstream blog {<br \/>server 10.0.0.45:80 weight=1;<br \/>server 10.0.0.145:80 weight=1;<br \/>server 10.0.0.235:80 weight=4;<br \/>}<\/p>\r\n<h2>\u52a8\u6001\u7b97\u6cd5<\/h2>\r\n<h3>least_conn<\/h3>\r\n<p>\u6700\u5c0f\u8fde\u63a5\u6570,\u8d1f\u8f7d\u5747\u8861\u4f1a\u5b9a\u671f\u68c0\u67e5\u540e\u7aef\u670d\u52a1\u5668\u7684\u8fde\u63a5\u6570<\/p>\r\n<p>\u6307\u5b9aupstream\u4f7f\u7528\u7684\u8d1f\u8f7d\u5747\u8861\u7b97\u6cd5\uff0c\u5c06\u8bf7\u6c42\u4f20\u9012\u5230\u6d3b\u52a8\u8fde\u63a5\u6570\u6700\u5c11\u7684\u670d\u52a1\u5668\uff0c\u5e76\u8003\u8651\u670d\u52a1\u5668\u7684\u6743\u91cd<\/p>\r\n<p>\u5982\u679c\u6709\u591a\u4e2a\u8fd9\u6837\u7684\u670d\u52a1\u5668\uff0c\u5219\u7ed3\u5408wrr\u548cleast_conn\u4e00\u8d77\u8c03\u5ea6<\/p>\r\n<p>upstream blog {<br \/>least_conn;<br \/>server 10.0.0.45:80 weight=1;<br \/>server 10.0.0.145:80 weight=1;<br \/>server 10.0.0.235:80 weight=4;<br \/>}<\/p>\r\n<h3>ip_hash<\/h3>\r\n<p>\u5bf9\u7528\u6237\u5ba2\u6237\u7aefip\u8fdb\u884chash,\u6bcf\u6b21\u7528\u6237\u90fd\u4f1a\u8bbf\u95ee\u540c\u4e00\u53f0\u670d\u52a1\u5668<\/p>\r\n<p>\u597d\u5904: \u89e3\u51b3\u7528\u6237\u767b\u5f55\u72b6\u6001\u95ee\u9898(\u4f1a\u8bdd\u5171\u4eab\/\u767b\u5f55\u4f1a\u8bdd)<br \/>\u7f3a\u70b9: \u5bfc\u81f4\u540e\u7aef\u8282\u70b9\u8d1f\u8f7d\u4e0d\u5747<\/p>\r\n<p>upstream blog {<br \/>ip_hash;<br \/>server 10.0.0.45:80 weight=1;<br \/>server 10.0.0.145:80 weight=1;<br \/>server 10.0.0.235:80 weight=1;<br \/>}<\/p>\r\n<h3>url_hash<\/h3>\r\n<p>\u5bf9\u5e94\u7528\u6237\u8bf7\u6c42\u4e2d\u7684url\u8fdb\u884chash,\u6bcf\u6b21\u7528\u6237\u8bbf\u95ee\u76f8\u540c\u7684url,\u8bbf\u95ee\u76f8\u540c\u7684\u540e\u7aef\u8282\u70b9<\/p>\r\n<p>\u5e94\u7528\u573a\u666f: \u914d\u7f6e\u7f13\u5b58\u670d\u52a1\u5668,\u8ba9\u7528\u6237\u6307\u5b9a\u7684url\/uri,\u8bbf\u95ee\u7f13\u5b58\u670d\u52a1\u5668<\/p>\r\n<p>upstream blog {<br \/>hash $requst_uri; #\u5bf9\u6307\u5b9a\u7684\u53d8\u91cf\u8fdb\u884chash<br \/>server 10.0.0.45:80 weight=1;<br \/>server 10.0.0.145:80 weight=1;<br \/>server 10.0.0.235:80 weight=1;<br \/>}<\/p>\r\n<h1>5.upstream\u6a21\u5757\u914d\u7f6e<\/h1>\r\n\r\n\r\n\r\n<h4>upstream \u6a21\u5757\u4e2d\u7684 server\u53ef\u7528\u7684\u53c2\u6570<\/h4>\r\n\r\n\r\n\r\n<figure>\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td>Syntax<\/td>\r\n<td>server\u00a0address\u00a0[parameters]<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Default<\/td>\r\n<td>\u2014<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>Context<\/td>\r\n<td>upstream<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<\/figure>\r\n\r\n\r\n\r\n<h4>server\u4e2d\u53ef\u7528\u7684\u53c2\u6570<\/h4>\r\n\r\n\r\n\r\n<figure class=\"wp-block-table\">\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td>weight<\/td>\r\n<td>\u8bbe\u7f6e\u6743\u91cd<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>max_conns<\/td>\r\n<td>\u8bbe\u7f6e\u67d0\u4e2a\u8282\u70b9\u6700\u5927\u8fde\u63a5\u6570<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>max_fails<\/td>\r\n<td>\u8bbe\u7f6enginx\u8d1f\u8f7d\u5747\u8861\u68c0\u67e5\u540e\u7aef\u8282\u70b9\u5931\u8d25\u6b21\u6570 3 \u6b21(\u4e00\u822c\u516c\u53f8) 10\u6b21(CDN)<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>fail_timeout<\/td>\r\n<td>\u8d85\u8fc7\u6700\u5927\u5931\u8d25\u6b21\u6570\u540e,\u7ecf\u8fc7fail_timeout\u65f6\u95f4,\u518d\u6b21\u68c0\u67e5\u8282\u70b9\u662f\u5426\u53ef\u7528 \u9ed8\u8ba410\u79d2<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>backup<\/td>\r\n<td>\u8bbe\u7f6e\u4e3a\u5907\u7528\u6a21\u5f0f,\u5176\u4ed6\u8282\u70b9\u90fd\u6302\u4e86\u7684\u65f6\u5019\u542f\u52a8backup\u670d\u52a1\u5668<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>down<\/td>\r\n<td>\u5904\u4e8e\u5173\u95ed\u72b6\u6001,\u4e00\u822c\u7528\u6765\u6307\u5b9a\u670d\u52a1\u5668(\u5904\u4e8e\u7ef4\u62a4\u72b6\u6001)<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<\/figure>\r\n\r\n\r\n\r\n<h4>\u5199\u914d\u7f6e\u6587\u4ef6<\/h4>\r\n\r\n\r\n\r\n<p>[root@lb ~]$ cat \/etc\/nginx\/conf.d\/proxy.dmxsp.com.conf<br \/>upstream dmxsp {<br \/>server 10.0.0.45:80 weight=1 max_fails=3 fail_timeout=20;<br \/>server 10.0.0.145:80 weight=1 max_fails=3 fail_timeout=20;<br \/>}<br \/>server {<br \/>listen 80;<br \/>server_name proxy.dmxsp.com;<br \/>location \/ {<br \/>proxy_pass http:\/\/dmxsp;<br \/>include proxy_params;<br \/>}<br \/>}<\/p>\r\n\r\n\r\n\r\n<h4>\u6d4b\u8bd5<\/h4>\r\n\r\n\r\n\r\n<p>[root@lb ~]$ for n in {1..10000};do curl -H Host:proxy.dmxsp.com 10.0.0.63 ; date +%T;sleep 1 ; done<br \/>proxy.dmxsp.com web01 10.0.0.45 172.16.1.45<br \/>17:25:45<br \/>proxy.dmxsp.com web02 10.0.0.145 172.16.1.145<br \/>17:25:46<br \/>proxy.dmxsp.com web01 10.0.0.45 172.16.1.45<br \/>17:25:47<br \/>proxy.dmxsp.com web02 10.0.0.145 172.16.1.145<br \/>17:25:48<br \/>proxy.dmxsp.com web01 10.0.0.45 172.16.1.45<br \/>17:25:49<br \/>proxy.dmxsp.com web02 10.0.0.145 172.16.1.145<br \/>17:25:50<br \/>proxy.dmxsp.com web01 10.0.0.45 172.16.1.45<br \/>17:25:51<br \/>proxy.dmxsp.com web02 10.0.0.145 172.16.1.145<br \/>17:25:52<br \/>proxy.dmxsp.com web01 10.0.0.45 172.16.1.45<br \/>17:25:53<\/p>\r\n<h1>6.\u8d1f\u8f7d\u5747\u8861\u4e0e\u4f1a\u8bdd\u4fdd\u6301<\/h1>\r\n<h2>\u4ec0\u4e48\u662f\u4f1a\u8bdd\u4fdd\u6301\uff0c\u6709\u4ec0\u4e48\u4f5c\u7528<\/h2>\r\n<p>\u4f1a\u8bdd\u4fdd\u6301\u662f\u6307\u5728\u8d1f\u8f7d\u5747\u8861\u5668\u4e0a\u6709\u4e00\u79cd\u673a\u5236\uff0c\u5728\u4f5c\u8d1f\u8f7d\u5747\u8861\u7684\u540c\u65f6\uff0c\u8fd8\u4fdd\u8bc1\u540c\u4e00\u7528\u6237\u76f8\u5173\u8fde\u7684\u8bbf\u95ee\u8bf7\u6c42\u4f1a\u88ab\u5206\u914d\u5230\u540c\u4e00\u53f0\u670d\u52a1\u5668\u4e0a\u3002<br \/>\u4f1a\u8bdd\u4fdd\u6301\u6709\u4ec0\u4e48\u4f5c\u7528\u5462\uff0c\u4e3e\u4f8b\u8bf4\u660e\u4e00\u4e0b<br \/>\u5982\u679c\u6709\u4e00\u4e2a\u7528\u6237\u8bbf\u95ee\u8bf7\u6c42\u88ab\u5206\u914d\u5230\u670d\u52a1\u5668A\uff0c\u5e76\u4e14\u5728\u670d\u52a1\u5668A\u767b\u5f55\u4e86\uff0c\u5e76\u4e14\u5728\u5f88\u77ed\u7684\u65f6\u95f4\uff0c\u8fd9\u4e2a\u7528\u6237\u53c8\u53d1\u51fa\u4e86\u4e00\u4e2a\u8bf7\u6c42\uff0c\u5982\u679c\u6ca1\u6709\u4f1a\u8bdd\u4fdd\u6301\u529f\u80fd\u7684\u8bdd\uff0c\u8fd9\u4e2a\u7528\u6237\u7684\u8bf7\u6c42\u5f88\u6709\u53ef\u80fd\u4f1a\u88ab\u5206\u914d\u5230\u670d\u52a1\u5668B\u53bb\uff0c\u8fd9\u4e2a\u65f6\u5019\u5728\u670d\u52a1\u5668B\u4e0a\u662f\u6ca1\u6709\u767b\u5f55\u7684\uff0c\u6240\u4ee5\u4f60\u8981\u91cd\u65b0\u767b\u5f55\uff0c\u4f46\u662f\u7528\u6237\u5e76\u4e0d\u77e5\u9053\u81ea\u5df1\u7684\u8bf7\u6c42\u88ab\u5206\u914d\u5230\u4e86\u54ea\u91cc\uff0c\u7528\u6237\u7684\u611f\u89c9\u5c31\u662f\u767b\u5f55\u4e86\uff0c\u600e\u4e48\u53c8\u8981\u767b\u5f55\uff0c\u7528\u6237\u4f53\u9a8c\u5f88\u4e0d\u597d\u3002<br \/>\u8fd8\u6709\u4f60\u5728\u6dd8\u5b9d\u4e0a\u9762\u4e70\u4e1c\u897f\uff0c\u4ece\u767b\u5f55\uff1d\u300b\u62cd\u5f97\u4e1c\u897f\uff1d\u300b\u6dfb\u52a0\u5730\u5740\uff1d\u300b\u4ed8\u6b3e\uff0c\u8fd9\u662f\u4e00\u4e2a\u4e00\u7cfb\u5217\u7684\u8fc7\u7a0b\uff0c\u4e5f\u53ef\u4ee5\u7406\u89e3\u6210\u4e00\u6b21\u64cd\u4f5c\u8fc7\u7a0b\uff0c\u6240\u6709\u8fd9\u4e00\u7cfb\u5217\u7684\u64cd\u4f5c\u8fc7\u7a0b\u90fd\u5e94\u5f53\u7531\u4e00\u53f0\u670d\u52a1\u5668\u5b8c\u6210\uff0c\u800c\u4e0d\u80fd\u88ab\u8d1f\u8f7d\u5747\u8861\u5668\u5206\u914d\u5230\u4e0d\u540c\u7684\u670d\u52a1\u5668\u4e0a\u3002<br \/>\u4f1a\u8bdd\u4fdd\u6301\u90fd\u4f1a\u6709\u65f6\u95f4\u7684\u9650\u5236\uff08\u6620\u5c04\u5230\u56fa\u5b9a\u67d0\u4e00\u53f0\u7684\u670d\u52a1\u5668\u9664\u5916\uff0c\u5982\uff1aip_hash\uff09,\u5404\u79cd\u8d1f\u8f7d\u5747\u8861\u5de5\u5177\u90fd\u4f1a\u63d0\u4f9b\u8fd9\u79cd\u4f1a\u8bdd\u4fdd\u6301\u65f6\u95f4\u7684\u8bbe\u7f6e\uff0cLVS\uff0capache\u7b49\u3002\u8fdephp\u8bed\u8a00\u90fd\u63d0\u4f9b\u4e86\u4f1a\u8bdd\u4fdd\u6301\u65f6\u95f4\u7684\u8bbe\u5b9asession.gc_maxlifetime<br \/>\u4f1a\u8bdd\u4fdd\u6301\u65f6\u95f4\u7684\u8bbe\u5b9a\u8981\u5927\u4e8esession\u751f\u5b58\u65f6\u95f4\u7684\u8bbe\u5b9a\uff0c\u8fd9\u6837\u53ef\u4ee5\u51cf\u5c11\u9700\u8981\u540c\u6b65session\u7684\u60c5\u51b5\uff0c\u4f46\u662f\u4e0d\u80fd\u675c\u7edd\u3002\u6240\u4ee5\u540c\u6b65session\u8fd8\u662f\u8981\u505a\u7684\u3002<\/p>\r\n<h2>session\u540c\u6b65<\/h2>\r\n<p>\u4e3a\u4ec0\u4e48\u8981\u8fdb\u884csession\u540c\u6b65\uff0c\u8bf4\u4f1a\u8bdd\u4fdd\u6301\u7684\u65f6\u5019\u5df2\u7ecf\u63d0\u5230\u4e86\u3002\u5177\u4f53\u65b9\u6cd5\u8bf7\u53c2\u8003web\u96c6\u7fa4\u65f6session\u540c\u6b65\u76843\u79cd\u65b9\u6cd5<\/p>\r\n<p>\u5728\u505a\u4e86web\u96c6\u7fa4\u540e\uff0c\u4f60\u80af\u5b9a\u4f1a\u9996\u5148\u8003\u8651session\u540c\u6b65\u95ee\u9898\uff0c\u56e0\u4e3a\u901a\u8fc7\u8d1f\u8f7d\u5747\u8861\u540e\uff0c\u540c\u4e00\u4e2aIP\u8bbf\u95ee\u540c\u4e00\u4e2a\u9875\u9762\u4f1a\u88ab\u5206\u914d\u5230\u4e0d\u540c\u7684\u670d\u52a1\u5668\u4e0a\uff0c\u5982\u679csession\u4e0d\u540c\u6b65\u7684\u8bdd\uff0c\u4e00\u4e2a\u767b\u5f55\u7528\u6237\uff0c\u4e00\u4f1a\u662f\u767b\u5f55\u72b6\u6001\uff0c\u4e00\u4f1a\u53c8\u4e0d\u662f\u767b\u5f55\u72b6\u6001\u3002\u6240\u4ee5\u672c\u6587\u5c31\u6839\u636e\u8fd9\u79cd\u60c5\u51b5\u7ed9\u51fa\u4e09\u79cd\u4e0d\u540c\u7684\u65b9\u6cd5\u6765\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898<\/p>\r\n<h4>\u5229\u7528\u6570\u636e\u5e93\u540c\u6b65session<\/h4>\r\n<p>\u5728\u505a\u591a\u670d\u52a1\u5668session\u540c\u6b65\u65f6\u6211\u6ca1\u6709\u7528\u8fd9\u79cd\u65b9\u6cd5\uff0c\u5982\u679c\u975e\u8981\u7528\u8fd9\u79cd\u65b9\u6cd5\u7684\u8bdd\uff0c\u6211\u60f3\u8fc7\u4e8c\u79cd\u65b9\u6cd5\uff1a<\/p>\r\n<p>\u7528\u4e00\u4e2a\u4f4e\u7aef\u7535\u8111\u5efa\u4e2a\u6570\u636e\u5e93\u4e13\u95e8\u5b58\u653eweb\u670d\u52a1\u5668\u7684session\uff0c\u6216\u8005\uff0c\u628a\u8fd9\u4e2a\u4e13\u95e8\u7684\u6570\u636e\u5e93\u5efa\u5728\u6587\u4ef6\u670d\u52a1\u5668\u4e0a\uff0c\u7528\u6237\u8bbf\u95eeweb\u670d\u52a1\u5668\u65f6\uff0c\u4f1a\u53bb\u8fd9\u4e2a\u4e13\u95e8\u7684\u6570\u636e\u5e93check\u4e00\u4e0bsession\u7684\u60c5\u51b5\uff0c\u4ee5\u8fbe\u5230session\u540c\u6b65\u7684\u76ee\u7684\u3002<\/p>\r\n<p>\u8fd9\u79cd\u65b9\u6cd5\u662f\u628a\u5b58\u653esession\u7684\u8868\u548c\u5176\u4ed6\u6570\u636e\u5e93\u8868\u653e\u5728\u4e00\u8d77\uff0c\u5982\u679cmysql\u4e5f\u505a\u4e86\u96c6\u7fa4\u4e86\u8bdd\uff0c\u6bcf\u4e2amysql\u8282\u70b9\u90fd\u8981\u6709\u8fd9\u5f20\u8868\uff0c\u5e76\u4e14\u8fd9\u5f20session\u8868\u7684\u6570\u636e\u8868\u8981\u5b9e\u65f6\u540c\u6b65\u3002<\/p>\r\n<p>\u8bf4\u660e\uff1a\u7528\u6570\u636e\u5e93\u6765\u540c\u6b65session\uff0c\u4f1a\u52a0\u5927\u6570\u636e\u5e93\u7684\u8d1f\u62c5\uff0c\u6570\u636e\u5e93\u672c\u6765\u5c31\u662f\u5bb9\u6613\u4ea7\u751f\u74f6\u9888\u7684\u5730\u65b9\uff0c\u5982\u679c\u628asession\u8fd8\u653e\u5230\u6570\u636e\u5e93\u91cc\u9762\uff0c\u65e0\u7591\u662f\u96ea\u4e0a\u52a0\u971c\u3002\u4e0a\u9762\u7684\u4e8c\u79cd\u65b9\u6cd5\uff0c\u7b2c\u4e00\u70b9\u65b9\u6cd5\u8f83\u597d\uff0c\u628a\u653esession\u7684\u8868\u72ec\u7acb\u5f00\u6765\uff0c\u51cf\u8f7b\u4e86\u771f\u6b63\u6570\u636e\u5e93\u7684\u8d1f\u62c5<\/p>\r\n<h4>\u5229\u7528cookie\u540c\u6b65session<\/h4>\r\n<p>session\u662f\u6587\u4ef6\u7684\u5f62\u52bf\u5b58\u653e\u5728\u670d\u52a1\u5668\u7aef\u7684\uff0ccookie\u662f\u6587\u4ef6\u7684\u5f62\u52bf\u5b58\u5728\u5ba2\u6237\u7aef\u7684\uff0c\u600e\u4e48\u5b9e\u73b0\u540c\u6b65\u5462\uff1f\u65b9\u6cd5\u5f88\u7b80\u5355\uff0c\u5c31\u662f\u628a\u7528\u6237\u8bbf\u95ee\u9875\u9762\u4ea7\u751f\u7684session\u653e\u5230cookie\u91cc\u9762\uff0c\u5c31\u662f\u4ee5cookie\u4e3a\u4e2d\u8f6c\u7ad9\u3002\u4f60\u8bbf\u95eeweb\u670d\u52a1\u5668A\uff0c\u4ea7\u751f\u4e86session\u628a\u5b83\u653e\u5230cookie\u91cc\u9762\u4e86\uff0c\u4f60\u8bbf\u95ee\u88ab\u5206\u914d\u5230web\u670d\u52a1\u5668B\uff0c\u8fd9\u4e2a\u65f6\u5019\uff0cweb\u670d\u52a1\u5668B\u5148\u5224\u65ad\u670d\u52a1\u5668\u6709\u6ca1\u6709\u8fd9\u4e2asession\uff0c\u5982\u679c\u6ca1\u6709\uff0c\u5728\u53bb\u770b\u770b\u5ba2\u6237\u7aef\u7684cookie\u91cc\u9762\u6709\u6ca1\u6709\u8fd9\u4e2asession\uff0c\u5982\u679c\u4e5f\u6ca1\u6709\uff0c\u8bf4\u660esession\u771f\u7684\u4e0d\u5b58\uff0c\u5982\u679ccookie\u91cc\u9762\u6709\uff0c\u5c31\u628acookie\u91cc\u9762\u7684sessoin\u540c\u6b65\u5230web\u670d\u52a1\u5668B\uff0c\u8fd9\u6837\u5c31\u53ef\u4ee5\u5b9e\u73b0session\u7684\u540c\u6b65\u4e86\u3002<\/p>\r\n<p>\u8bf4\u660e\uff1a\u8fd9\u79cd\u65b9\u6cd5\u5b9e\u73b0\u8d77\u6765\u7b80\u5355\uff0c\u65b9\u4fbf\uff0c\u4e5f\u4e0d\u4f1a\u52a0\u5927\u6570\u636e\u5e93\u7684\u8d1f\u62c5\uff0c\u4f46\u662f\u5982\u679c\u5ba2\u6237\u7aef\u628acookie\u7981\u6389\u4e86\u7684\u8bdd\uff0c\u90a3\u4e48session\u5c31\u65e0\u4ece\u540c\u6b65\u4e86\uff0c\u8fd9\u6837\u4f1a\u7ed9\u7f51\u7ad9\u5e26\u6765\u635f\u5931\uff1bcookie\u7684\u5b89\u5168\u6027\u4e0d\u9ad8\uff0c\u867d\u7136\u5b83\u5df2\u7ecf\u52a0\u4e86\u5bc6\uff0c\u4f46\u662f\u8fd8\u662f\u53ef\u4ee5\u4f2a\u9020\u7684<\/p>\r\n<h4>\u5229\u7528memcache\u540c\u6b65session<\/h4>\r\n<p>memcache\u53ef\u4ee5\u505a\u5206\u5e03\u5f0f\uff0c\u5982\u679c\u6ca1\u6709\u8fd9\u529f\u80fd\uff0c\u4ed6\u4e5f\u4e0d\u80fd\u7528\u6765\u505asession\u540c\u6b65\u3002\u4ed6\u53ef\u4ee5\u628aweb\u670d\u52a1\u5668\u4e2d\u7684\u5185\u5b58\u7ec4\u5408\u8d77\u6765\uff0c\u6210\u4e3a\u4e00\u4e2a&#8221;\u5185\u5b58\u6c60&#8221;\uff0c\u4e0d\u7ba1\u662f\u54ea\u4e2a\u670d\u52a1\u5668\u4ea7\u751f\u7684sessoin\u90fd\u53ef\u4ee5\u653e\u5230\u8fd9\u4e2a&#8221;\u5185\u5b58\u6c60&#8221;\u4e2d\uff0c\u5176\u4ed6\u7684\u90fd\u53ef\u4ee5\u4f7f\u7528\u3002<\/p>\r\n<p>\u4f18\u70b9\uff1a\u4ee5\u8fd9\u79cd\u65b9\u5f0f\u6765\u540c\u6b65session\uff0c\u4e0d\u4f1a\u52a0\u5927\u6570\u636e\u5e93\u7684\u8d1f\u62c5\uff0c\u5e76\u4e14\u5b89\u5168\u6027\u6bd4\u7528cookie\u5927\u5927\u7684\u63d0\u9ad8\uff0c\u628asession\u653e\u5230\u5185\u5b58\u91cc\u9762\uff0c\u6bd4\u4ece\u6587\u4ef6\u4e2d\u8bfb\u53d6\u8981\u5feb\u5f88\u591a\u3002<\/p>\r\n<p>\u7f3a\u70b9\uff1amemcache\u628a\u5185\u5b58\u5206\u6210\u5f88\u591a\u79cd\u89c4\u683c\u7684\u5b58\u50a8\u5757\uff0c\u6709\u5757\u5c31\u6709\u5927\u5c0f\uff0c\u8fd9\u79cd\u65b9\u5f0f\u4e5f\u5c31\u51b3\u5b9a\u4e86\uff0cmemcache\u4e0d\u80fd\u5b8c\u5168\u5229\u7528\u5185\u5b58\uff0c\u4f1a\u4ea7\u751f\u5185\u5b58\u788e\u7247\uff0c\u5982\u679c\u5b58\u50a8\u5757\u4e0d\u8db3\uff0c\u8fd8\u4f1a\u4ea7\u751f\u5185\u5b58\u6ea2\u51fa\u3002<\/p>\r\n<h2>\u4f1a\u8bdd\u5171\u4eab-phpmyadmin<\/h2>\r\n<h4>\u73af\u5883\u51c6\u5907<\/h4>\r\n<p>lb<\/p>\r\n<p>web01\u3001web02<\/p>\r\n<p><a href=\"https:\/\/demo.phpmyadmin.net\/master-config\/\">phpmyadmin\u5b98\u7f51<\/a><\/p>\r\n<h4>\u5b89\u88c5phpmyadmin<\/h4>\r\n<p>[root@web01 ~]$unzip phpMyAdmin-5.2.0-all-languages.zip<\/p>\r\n<p>[root@web01 ~]$mv phpMyAdmin-5.2.0-all-languages \/code\/phpmyadmin<\/p>\r\n<h4>web01\u300102\u914d\u7f6e\u6587\u4ef6<\/h4>\r\n<p>[root@web01 ~]$ cat \/etc\/nginx\/conf.d\/blog.phpmyadmin.com.conf <br \/>server {<br \/>listen 80;<br \/>server_name blog.phpmyadmin.com;<br \/>root \/code\/phpmyadmin;<br \/>location \/ {<br \/>index index.html index.php;<br \/>}<\/p>\r\n<p>location ~ \\.php {<br \/>fastcgi_pass 127.0.0.1:9000;<br \/>fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<br \/>include fastcgi_params;<br \/>}<br \/>}<\/p>\r\n<h4>\u4fee\u6539phpmyadmin\u6587\u4ef6<\/h4>\r\n<p>[root@web01 ~]$ cd \/code\/phpmyadmin\/<br \/>[root@web01 \/code\/phpmyadmin]$ cp config.sample.inc.php config.inc.php<br \/>[root@web01 \/code\/phpmyadmin]$ vim +30 config.inc.php<\/p>\r\n<p>$cfg[&#8216;Servers&#8217;][$i][&#8216;host&#8217;] = &#8216;172.16.1.26&#8217;;<\/p>\r\n<h4>\u9875\u9762\u8bbf\u95ee<\/h4>\r\n<p><a href=\"https:\/\/www.qiangzhenshuai.com\/?attachment_id=944\" rel=\"attachment wp-att-944\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-944\" src=\"https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/phpmyadmin\u9875\u9762\u8bbf\u95ee\u62a5\u9519.png?resize=640%2C132&#038;ssl=1\" alt=\"\" width=\"640\" height=\"132\" srcset=\"https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/phpmyadmin\u9875\u9762\u8bbf\u95ee\u62a5\u9519.png?w=1451&amp;ssl=1 1451w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/phpmyadmin\u9875\u9762\u8bbf\u95ee\u62a5\u9519.png?resize=300%2C62&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/phpmyadmin\u9875\u9762\u8bbf\u95ee\u62a5\u9519.png?resize=1024%2C211&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/phpmyadmin\u9875\u9762\u8bbf\u95ee\u62a5\u9519.png?resize=768%2C158&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/phpmyadmin\u9875\u9762\u8bbf\u95ee\u62a5\u9519.png?w=1280&amp;ssl=1 1280w\" sizes=\"(max-width: 640px) 100vw, 640px\" data-recalc-dims=\"1\" \/><\/a> <a href=\"https:\/\/www.qiangzhenshuai.com\/?attachment_id=943\" rel=\"attachment wp-att-943\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-943\" src=\"https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/phpmyadmin\u767b\u5f55.png?resize=640%2C351&#038;ssl=1\" alt=\"\" width=\"640\" height=\"351\" srcset=\"https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/phpmyadmin\u767b\u5f55.png?w=1602&amp;ssl=1 1602w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/phpmyadmin\u767b\u5f55.png?resize=300%2C164&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/phpmyadmin\u767b\u5f55.png?resize=1024%2C561&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/phpmyadmin\u767b\u5f55.png?resize=768%2C421&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/phpmyadmin\u767b\u5f55.png?resize=1536%2C842&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/phpmyadmin\u767b\u5f55.png?w=1280&amp;ssl=1 1280w\" sizes=\"(max-width: 640px) 100vw, 640px\" data-recalc-dims=\"1\" \/><\/a><\/p>\r\n<h4>\u89e3\u51b3\u65b9\u6848<\/h4>\r\n<p>[root@web01 \/code\/phpmyadmin]$ chown -R nginx.nginx \/var\/lib\/php\/session<\/p>\r\n<h2>\u8d1f\u8f7d\u5747\u8861<\/h2>\r\n<h4>\u914d\u7f6e\u6587\u4ef6<\/h4>\r\n<p>[root@lb ~]$ cat \/etc\/nginx\/conf.d\/blog.phpmyadmin.com.conf <br \/>upstream php {<br \/>server 10.0.0.45:80;<br \/>server 10.0.0.145:80;<br \/>}<br \/>server {<br \/>listen 80;<br \/>server_name blog.phpmyadmin.com ;<br \/>location \/ {<br \/>proxy_pass http:\/\/php;<br \/>include proxy_params;<br \/>}<br \/>}<\/p>\r\n<h3>\u9875\u9762\u767b\u5f55\u65f6\u4f1a\u53d1\u73b0\u4e00\u76f4\u5728\u767b\u5f55\u754c\u9762\u8fdb\u4e0d\u53bb<\/h3>\r\n<h4>\u89e3\u51b3\u65b9\u6848\u4e00<\/h4>\r\n<h4>ip_hash\uff08\u6bcf\u6b21\u7528\u6237\u90fd\u4f1a\u8bbf\u95ee\u540c\u4e00\u53f0\u670d\u52a1\u5668\u7f3a\u70b9\uff0c\u5bfc\u81f4\u540e\u7aef\u8282\u70b9\u8d1f\u8f7d\u4e0d\u5747\uff09<\/h4>\r\n<h4>\u914d\u7f6e\u6587\u4ef6<\/h4>\r\n<p>[root@lb ~]$ cat \/etc\/nginx\/conf.d\/blog.phpmyadmin.com.conf <br \/>upstream php {<br \/>ip_hash;<br \/>server 10.0.0.45:80;<br \/>server 10.0.0.145:80;<br \/>}<br \/>server {<br \/>listen 80;<br \/>server_name blog.phpmyadmin.com ;<br \/>location \/ {<br \/>proxy_pass http:\/\/php;<br \/>include proxy_params;<br \/>}<br \/>}<\/p>\r\n<h4>\u89e3\u51b3\u65b9\u6848\u4e8c<\/h4>\r\n<h4>redis<\/h4>\r\n<h4>\u6570\u636e\u5e93\u5b89\u88c5redis<\/h4>\r\n<p>[root@mysqldb ~]$ yum install -y redis<\/p>\r\n<h4>\u4fee\u6539\u914d\u7f6e\u6587\u4ef6<\/h4>\r\n<p>[root@mysqldb ~]$ vim \/etc\/redis.conf<\/p>\r\n<p>[root@mysqldb ~]$ grep ^bind -n \/etc\/redis.conf<br \/>61:bind 127.0.0.1 172.16.1.26 10.0.0.26<\/p>\r\n<h4>\u542f\u52a8<\/h4>\r\n<p>[root@mysqldb ~]$ systemctl restart redis.service<\/p>\r\n<h4>\u67e5\u770b\u7aef\u53e3\u662f\u5426\u542f\u52a8<\/h4>\r\n<p>[root@mysqldb ~]$ ss -lntup |grep redis<br \/>tcp LISTEN 0 128 10.0.0.26:6379 *:* users:((&#8220;redis-server&#8221;,pid=11134,fd=6))<br \/>tcp LISTEN 0 128 172.16.1.26:6379 *:* users:((&#8220;redis-server&#8221;,pid=11134,fd=5))<br \/>tcp LISTEN 0 128 127.0.0.1:6379 *:* users:((&#8220;redis-server&#8221;,pid=11134,fd=4))<\/p>\r\n<h4>\u4fee\u6539web01\u300102\u914d\u7f6e\u6587\u4ef6php.ini<\/h4>\r\n<p>[root@web01 ~]$ grep -m 2 -n ^session. \/etc\/php.ini<br \/>1231:session.save_handler = redis<br \/>1264:session.save_path = &#8220;tcp:\/\/172.16.1.26:6379&#8221;<\/p>\r\n<p>;session.save_path = &#8220;tcp:\/\/172.16.1.26:6379?auth=123\u201c \u5982\u679credis\u5b58\u5728\u5bc6\u7801\uff0c\u4f7f\u7528\u8be5\u65b9\u5f0f<\/p>\r\n<h3>\u6ce8\u91ca\u9ed8\u8ba4\u7684\u914d\u7f6e<\/h3>\r\n<p>[root@web01 ~]$ tail -4 \/etc\/php-fpm.d\/www.conf<br \/>;php_value[session.save_handler] = files<br \/>;php_value[session.save_path] = \/var\/lib\/php\/session<br \/>php_value[soap.wsdl_cache_dir] = \/var\/lib\/php\/wsdlcache<\/p>\r\n<h4>\u91cd\u542f<\/h4>\r\n<p>[root@web01 ~]$ systemctl reload php-fpm<\/p>\r\n<h4>\u9875\u9762\u6d4b\u8bd5<\/h4>\r\n<p><a href=\"https:\/\/www.qiangzhenshuai.com\/?attachment_id=946\" rel=\"attachment wp-att-946\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-946\" src=\"https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e0d\u8bc6\u522bredis.png?resize=640%2C160&#038;ssl=1\" alt=\"\" width=\"640\" height=\"160\" srcset=\"https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e0d\u8bc6\u522bredis.png?w=1274&amp;ssl=1 1274w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e0d\u8bc6\u522bredis.png?resize=300%2C75&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e0d\u8bc6\u522bredis.png?resize=1024%2C256&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.qiangzhenshuai.com\/wp-content\/uploads\/2022\/09\/\u4e0d\u8bc6\u522bredis.png?resize=768%2C192&amp;ssl=1 768w\" sizes=\"(max-width: 640px) 100vw, 640px\" data-recalc-dims=\"1\" \/><\/a><\/p>\r\n<h4>\u89e3\u51b3\u65b9\u6848<\/h4>\r\n<p>[root@web01 ~]$ yum install php72w-pecl-redis.x86_64<\/p>\r\n<h4>redis\u67e5\u770b\u5171\u4eab<\/h4>\r\n<p>[root@mysqldb ~]$ redis-cli <br \/>127.0.0.1:6379&gt; keys *<br \/>1) &#8220;PHPREDIS_SESSION:3ab0ca7566c75c1c2d1940bd4b086097&#8221;<br \/>2) &#8220;PHPREDIS_SESSION:6cb72dca399147fc2487ab8a5f9113d9&#8221;<br \/>3) &#8220;PHPREDIS_SESSION:1d87fe3424f0b78e1d3fb407ce31aeda&#8221;<br \/>4) &#8220;PHPREDIS_SESSION:98cc7553f81c4c4b868e60023df06b1a&#8221;<\/p>\r\n<h1>7.\u57fa\u4e8eURI\u8f6c\u53d1<\/h1>\r\n<h4>web01\u914d\u7f6e<\/h4>\r\n<p>[root@web01 ~]$ mkdir -p \/code\/uri\/static<br \/>[root@web01 ~]$ echo web01 static &gt; \/code\/uri\/static\/index.html<\/p>\r\n<p>[root@web01 ~]$ cat \/etc\/nginx\/conf.d\/dmxsp.uri.com.conf<br \/>server {<br \/>listen 80;<br \/>server_name dmxsp.uri.com;<br \/>root \/code\/uri;<br \/>location \/static {<br \/>index index.html;<br \/>}<br \/>}<\/p>\r\n<h4>web02\u914d\u7f6e<\/h4>\r\n<p>[root@web02 ~]$ mkdir -p \/code\/uri\/dong<br \/>[root@web02 ~]$ echo web02 dong &gt; \/code\/uri\/dong\/index.html<\/p>\r\n<p>[root@web02 ~]$ cat \/etc\/nginx\/conf.d\/dmxsp.uri.com.conf <br \/>server {<br \/>listen 80;<br \/>server_name dmxsp.uri.com;<br \/>root \/code\/uri;<br \/>location \/dong {<br \/>index index.html;<br \/>}<br \/>}<\/p>\r\n<h4>\u6d4b\u8bd5<\/h4>\r\n<p>[root@lb ~]$ curl -H Host:dmxsp.uri.com 10.0.0.45\/static\/<br \/>web01 static<br \/>[root@lb ~]$ curl -H Host:dmxsp.uri.com 10.0.0.145\/dong\/<br \/>web02 dong<\/p>\r\n<h4>lb\u914d\u7f6e<\/h4>\r\n<p>[root@lb ~]$ cat \/etc\/nginx\/conf.d\/dmxsp.uri.com.conf<br \/>upstream static {<br \/>server 10.0.0.45:80;<br \/>}<br \/>upstream dong {<br \/>server 10.0.0.145:80;<br \/>}<\/p>\r\n<p>server {<br \/>listen 80;<br \/>server_name dmxsp.uri.com;<br \/>location \/ {<br \/>proxy_pass http:\/\/static;<br \/>include proxy_params;<br \/>}<br \/>location \/static {<br \/>proxy_pass http:\/\/static;<br \/>include proxy_params;<br \/>} <br \/>location \/dong {<br \/>proxy_pass http:\/\/dong;<br \/>include proxy_params;<br \/>}<br \/>}<\/p>\r\n<h4>\u6d4b\u8bd5<\/h4>\r\n<p>[root@lb ~]$ curl -H Host:dmxsp.uri.com 10.0.0.63\/static\/<br \/>web01 static<br \/>[root@lb ~]$ curl -H Host:dmxsp.uri.com 10.0.0.63\/dong\/<br \/>web02 dong<\/p>\r\n<h1>8.\u57fa\u4e8euser_agent\u8f6c\u53d1<\/h1>\r\n<h4>lb\u914d\u7f6e<\/h4>\r\n<p>[root@lb ~]$ cat \/etc\/nginx\/conf.d\/dmxsp.uri.com.conf<br \/>upstream static {<br \/>server 10.0.0.45:80;<br \/>}<br \/>upstream dong {<br \/>server 10.0.0.145:80;<br \/>}<\/p>\r\n<p>server {<br \/>listen 80;<br \/>server_name dmxsp.uri.com;<br \/>location \/ { <br \/>if ($http_user_agent ~* &#8220;android|iphone|ipad&#8221;) { <br \/>proxy_pass http:\/\/static; <br \/>}<br \/>if ($http_user_agent ~* MSIE ) { <br \/>return 200 &#8220;please do not use ie&#8221;; <br \/>}<br \/>proxy_pass http:\/\/dong; <br \/>include proxy_params; <br \/>}<br \/>}<\/p>\r\n<h1>9.\u8d1f\u8f7d\u5747\u8861\u591a\u7ea7\u4ee3\u7406\u53ca<b>\u591a\u7ea7\u4ee3\u7406\u771f\u5b9eIP<\/b><\/h1>\r\n<h2>\u4e00\u7ea7\u4ee3\u7406<\/h2>\r\n<h4>lb\u914d\u7f6e<\/h4>\r\n<p>[root@lb ~]$ vim \/etc\/nginx\/conf.d\/3log.dmxsp.com.conf<br \/>server {<br \/>listen 80;<br \/>server_name 3log.dmxsp.com;<br \/>location \/ {<br \/>proxy_pass http:\/\/10.0.0.45;<br \/>include proxy_params;<br \/>}<br \/>}<\/p>\r\n<h2>\u4e8c\u7ea7\u4ee3\u7406<\/h2>\r\n<h4>web01\u914d\u7f6e<\/h4>\r\n<p>[root@web01 ~]$ vim \/etc\/nginx\/conf.d\/3log.dmxsp.com.conf <br \/>server {<br \/>listen 80;<br \/>server_name 3log.dmxsp.com;<br \/>location \/ {<br \/>proxy_pass http:\/\/10.0.0.145;<br \/>}<br \/>}<\/p>\r\n<h4>web02 web\u670d\u52a1<\/h4>\r\n<p>[root@web02 ~]$ vim \/etc\/nginx\/conf.d\/3log.dmxsp.com.conf<br \/>server {<br \/>listen 80;<br \/>server_name 3log.dmxsp.com;<br \/>root \/code\/3log;<br \/>location \/ {<br \/>index index.php;<br \/>}<br \/>location ~ \\.php {<br \/>fastcgi_pass 127.0.0.1:9000;<br \/>fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<br \/>include fastcgi_params;<br \/>}<br \/>}<\/p>\r\n<h2>\u771f\u5b9eip<b>http_realip_module<\/b><\/h2>\r\n<h4>\u914d\u7f6e\u6587\u4ef6<\/h4>\r\n<p>server {<br \/>listen 80;<br \/>server_name 3log.dmxsp.com;<br \/>root \/code\/3log;<br \/>set_real_ip_from 10.0.0.63;<br \/>set_real_ip_from 10.0.0.45;<br \/>real_ip_header X-Forwarded-For;<br \/>real_ip_recursive on;<br \/>location \/ {<br \/>index index.php;<br \/>}<br \/>location ~ \\.php {<br \/>fastcgi_pass 127.0.0.1:9000;<br \/>fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<br \/>include fastcgi_params;<br \/>}<br \/>}<\/p>\r\n<p>set_real_ip_from 10.0.0.45;\uff1a\u6307\u5b9a\u4ee3\u7406\u7684ip\u5730\u5740<br \/>set_real_ip_from 10.0.0.63;\uff1a\u6307\u5b9a\u4ee3\u7406\u7684ip\u5730\u5740<br \/>real_ip_header X-Forwarded-For;\uff1a\u771f\u5b9e\u7684\u5ba2\u6237\u7aefip\u5730\u5740\u8bb0\u5f55\u518d\u6765 XFF\u5934\u4e2d.<br \/>real_ip_recursive on;\uff1a\u5728XFF\u5934\u4e2d\u628a\u4ee3\u7406\u7684ip\u6392\u9664\u6389<\/p>\r\n<h4>proxy_params\u914d\u7f6e\u6587\u4ef6\u4e66\u5199<\/h4>\r\n<p>[root@lb ~]$ cat \/etc\/nginx\/proxy_params <br \/>proxy_set_header Host $http_host;<br \/>proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br \/>proxy_set_header X-Real-IP $remote_addr;<\/p>\r\n<p>proxy_connect_timeout 30;<br \/>proxy_read_timeout 60;<br \/>proxy_send_timeout 60;<\/p>\r\n<p>proxy_buffering on;<br \/>proxy_buffer_size 8k;<br \/>proxy_buffers 4 64k;<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>1.\u4e03\u5c42\u8d1f\u8f7d\u5747\u8861-\u9759\u6001 \u73af\u5883\u51c6\u5907 \u673a\u5668 lb web01\u3001web02 web01\u914d\u7f6e [root@web01  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[19],"tags":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=\/wp\/v2\/posts\/921"}],"collection":[{"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=921"}],"version-history":[{"count":16,"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=\/wp\/v2\/posts\/921\/revisions"}],"predecessor-version":[{"id":966,"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=\/wp\/v2\/posts\/921\/revisions\/966"}],"wp:attachment":[{"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=921"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=921"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.qiangzhenshuai.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=921"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}