标签:display ast 时间 https sla none segment ams 并且
upstream test_upstream { #ip_hash; server 127.0.0.1:8867; server 127.0.0.1:8870; } server{ server_name localhost; listen 8869; location / { proxy_pass http://test_upstream; } }
server { listen 8870; server_name localhost; root "E:\upstream"; location / { index index.php index.html; } location ~ \.php(.*)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; #fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; } } // 另一个server文件相似,监听不同端口,目录不同,配置不列出来了
PHP测试代码
<?php $date = date(‘H:i:s‘); file_put_contents(‘./access.log‘, "$date --- request arrived\n", FILE_APPEND); echo ‘upstream directive must be outside server block.‘; sleep(5); file_put_contents(‘./access.log‘, "response return \n", 8);
<?php $date = date(‘H:i:s‘); file_put_contents(‘./access.log‘, "$date --- request arrived(upstream dir)\n", 8); phpinfo(); file_put_contents(‘./access.log‘, "response return(upstream dir)\n", 8);
(1)此策略会根据请求的先后时间顺序分发请求(为了方便区分,一个PHP测试代码里加上了延时5秒,另一个PHP脚本没加延时,并且写入日志文件进行分析判断),在测试中发现:打开一个标签页发起请求(在请求有延时的脚本没有返回结果前,再次刷新就会被轮询到另一个服务端口了,之前的请求就停止了~这个可以根据设置的日志判断出来)我设置的是在请求刚到达的时候写入一次日志,然后延时5秒后再写入一次日志。这样按照上面的操作(有延时那个PHP脚本没有返回结果前刷新页面,记住手速要快~)。当前请求的那个脚本就停止了(看日志会发现只写入一次)。
标签:display ast 时间 https sla none segment ams 并且
原文地址:https://www.cnblogs.com/bneglect/p/13553204.html