锁屏面试题百日百刷,每个工作日保持更新面试题。锁屏面试题app、小程序现已上线,官网地址:https://www.demosoftware.cc/#/introductionPage。已收录了每日更新的面试题的所有内容,还蕴含特色的解锁屏幕温习面试题、每日编程题目邮件推送等性能。让你在面试中后人一步,吊打面试官!接下来的是今日的面试题:

====Nginx负载平衡怎么实现的?策略有哪些?
为了防止服务器解体,大家会通过负载平衡的形式来分担服务器压力。将对台服务器组成一个集群,当用户拜访时,先拜访到一个转发服务器,再由转发服务器将拜访散发到压力更小的服务器。
Nginx负载平衡实现的策略有以下五种:
1、轮询(默认)
每个申请按工夫程序逐个调配到不同的后端服务器,如果后端某个服务器宕机,能主动剔除故障零碎。
upstream backserver {
server 192.168.0.12;
server 192.168.0.13;
}
2、权重 weight
weight的值越大调配到的拜访概率越高,次要用于后端每台服务器性能不平衡的状况下。其次是为在主从的状况下设置不同的权值,达到正当无效的地利用主机资源。
upstream backserver {
server 192.168.0.12 weight=2;
server 192.168.0.13 weight=8;
}
3、ip_hash( IP绑定)
每个申请按拜访IP的哈希后果调配,使来自同一个IP的访客固定拜访一台后端服务器, 并且能够无效解决动静网页存在的session共享问题。
upstream backserver {
ip_hash;
server 192.168.0.12:88;
server 192.168.0.13:80;
}
4、fair(第三方插件)
必须装置upstream_fair模块。
比照 weight、ip_hash更加智能的负载平衡算法,fair算法能够依据页面大小和加载工夫长短智能地进行负载平衡,响应工夫短的优先调配。哪个服务器的响应速度快,就将申请调配到那个服务器上。
upstream backserver {
server server1;
server server2;
fair;
}
url_hash(第三方插件)
必须装置Nginx的hash软件包
按拜访url的hash后果来调配申请,使每个url定向到同一个后端服务器,能够进一步提高后端缓存服务器的效率。
upstream backserver {
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
}

====Nginx配置高可用性怎么配置(负载平衡怎么做配置)?
当上游服务器(实在拜访服务器),一旦呈现故障或者是没有及时相应的话,应该间接轮训到下一台服务器,保障服务器的高可用
Nginx配置代码:
server {
listen 80;
server_name www.lijie.com;
location / {
指定上游服务器负载平衡服务器
proxy_pass http://backServer;
nginx与上游服务器(实在拜访的服务器)超时工夫 后端服务器连贯的超时工夫_发动握手等
候响应超时工夫
proxy_connect_timeout 1s;
nginx发送给上游服务器(实在拜访的服务器)超时工夫
proxy_send_timeout 1s;
nginx承受上游服务器(实在拜访的服务器)超时工夫
proxy_read_timeout 1s;
index index.html index.htm;
}
}

====Nginx怎么判断别IP不可拜访?
如果拜访的ip地址为192.168.9.115,则返回403
if ($remote_addr = 192.168.9.115) {
return 403;
}

====nginx怎么限度浏览器拜访?
不容许谷歌浏览器拜访 如果是谷歌浏览器返回500
if ($http_user_agent ~ Chrome) {
return 500;
}

====nginx中Rewrite全局变量是什么?
$args 这个变量等于申请行中的参数,同$query_string
$content length 申请头中的Content-length字段。
$content_type 申请头中的Content-Type字段。
$document_root 以后申请在root指令中指定的值。
$host 申请主机头字段,否则为服务器名称。
$http_user_agent 客户端agent信息
$http_cookie 客户端cookie信息
$limit_rate 这个变量能够限度连贯速率。
$request_method 客户端申请的动作,通常为GET或POST。
$remote_addr 客户端的IP地址。
$remote_port 客户端的端口。
$remote_user 曾经通过Auth Basic Module验证的用户名。
$request_filename 以后申请的文件门路,由root或alias指令与URI申请生成。
$scheme HTTP办法(如http,https)。
$server_protocol 申请应用的协定,通常是HTTP/1.0或HTTP/1.1。
$server_addr 服务器地址,在实现一次零碎调用后能够确定这个值。
$server_name 服务器名称。
$server_port 申请达到服务器的端口号。
$request_uri
蕴含申请参数的原始URI,不蕴含主机名,如”/foo/bar.php?arg=baz”。
$uri 不带申请参数的以后URI,$uri不蕴含主机名,如”/foo/bar.html”。
$document_uri 与$uri雷同。

更多面试题或学习资源可查看我主页或评论获取