Nginx面试

1 Nginx负载均衡算法

nginx 的 upstream目前支持 4 种方式的分配
0)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
1)、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
2)、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
3)、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4)、url_hash(第三方)
根据url的hash结果分配
 
2 静态http服务器配置

将服务器上的静态文件(如html, 图片)通过http协议展现给客户端

1
2
3
4
5
server {
listen 80; # 端口号
location / {
    root /usr/share/nginx/html; # 静态文件路径
}

3 反向代理

客户端本来可以直接通过HTTP协议访问某网站应用服务器,网站管理员可以在中间加上一个Nginx,客户端请求Nginx
,Nginx请求应用服务器,然后将结果返回给客户端,此时Nginx就是反向代理服务器。
1
2
3
4
5
server {
  listen 80;
  location / {
    proxy_pass http://192.168.20.1:8080; # 应用服务器HTTP地址
}

4 负载均衡配置

upstream tomcatcluster {
    server 127.0.0.1:8080;
    server 127.0.0.1:8081;
}

server {
    listen 8090;
    server_name localhost;

    location / {
      proxy_pass http://tomcatcluster;
    }

}

 5 虚拟主机配置

 暂略

6 正向代理和反向代理区别

a.代理服务器如果配置在客户端即为正向代理,如果配置在服务端即为反向代理,和机器个数没有关系

b.正向代理代替客户端去发送请求,反向代理代替服务端接受请求

c.正是因为正向代理代替客户端发送请求,正向代理服务器和客户端对外表现为一个客户端,所以正向代理隐藏了真实的客户端;
反向代理代替服务端接受请求,反向代理服务器和真实服务器对外表现为一个服务端,所以反向代理服务器隐藏真实的服务端

综上, 本质上代理服务器还是那个代理服务器,如果替客户端干活就是正向代理,如果替服务端干活就是反向代理

 

 

 
posted @   剑阁丶神灯  阅读(47)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示