这里演示一个端口1001,其他两个自行创建
<?php $http = new swoole_http_server("0.0.0.0", 1001); $http->on("start", function ($server) { echo "Swoole http server is started at http://127.0.0.1:1001\n"; }); $http->on("request", function ($request, $response) { $response->header("Content-Type", "text/plain"); $response->end("Hello World 1003 \n"); }); $http->start();
upstream nginx { server 127.0.0.1:1001; server 127.0.0.1:1002; server 127.0.0.1:1003; }
server { listen 80; server_name nginx.liaosp.top; index index.html index.htm index.php; #error_page 404 /404.html; location / { proxy_pass http://nginx; } }
指定轮询几率,weight和訪问比率成正比,用于后端服务器性能不均的情况。例如以下所看到的。10.0.0.88的訪问比率要比10.0.0.77的訪问比率高一倍。
upstream linuxidc{ server 10.0.0.77 weight=5; server 10.0.0.88 weight=10; }
每一个请求按訪问ip的hash结果分配。这样每一个訪客固定訪问一个后端服务器,能够解决session的问题。
upstream favresin{ ip_hash; server 10.0.0.10:8080; server 10.0.0.11:8080; }
按后端服务器的响应时间来分配请求。响应时间短的优先分配。
与weight分配策略相似。
upstream favresin{ server 10.0.0.10:8080; server 10.0.0.11:8080; fair; }
按訪问url的hash结果来分配请求,使每一个url定向到同一个后端服务器。后端服务器为缓存时比較有效。
注意:在upstream中加入hash语句。server语句中不能写入weight等其他的參数,hash_method是使用的hash算法。
upstream resinserver{ server 10.0.0.10:7777; server 10.0.0.11:8888; hash $request_uri; hash_method crc32; }
upstream还能够为每一个设备设置状态值,这些状态值的含义分别例如以下:
down 表示单前的server临时不參与负载.
weight 默觉得1.weight越大,负载的权重就越大。
max_fails :同意请求失败的次数默觉得1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误.
fail_timeout : max_fails次失败后。暂停的时间。
backup: 其他全部的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
upstream bakend{ #定义负载均衡设备的Ip及设备状态 ip_hash; server 10.0.0.11:9090 down; server 10.0.0.11:8080 weight=2; server 10.0.0.11:6060; server 10.0.0.11:7070 backup; }
原文:https://www.cnblogs.com/xinzai66227/p/fuzaijunheng-swoole-centos.html