「笔记」Nginx总结

2018年10月2日补充:
在这里插入图片描述

代理服务器

  • 含义:「客户端」在发送请求时,先发送给「代理服务器」,「代理服务器」接受请求后转发给「服务端」,「服务端」处理请求后返回数据给「代理服务器」,「代理服务器」存储数据并转发给「客户端」
  • 目的:
    1. 提高访问速度:「客户端」访问相同的站点数据时,直接从「代理服务器」中读取,起到缓存的作用
    2. 防火墙:可为「服务端」过滤某些不安全的请求信息
    3. 翻墙看片 可访问受限网点:「客户端」访问受限时,可通过不受限的「代理服务器」访问目标站点

正向、反向代理

正向代理:架设在「客户端」与「服务端」之间,用于代理内部网络对 Internet 的连接请求

image-20180924181643483

反向代理:架设在「服务端」,缓存热点请求的页面同时将请求转发给内部对应的服务器

image-20180924181957609

反向代理的应用:

  • 防御外网对内网服务器的恶性攻击(访问安全控制)
  • 缓存热点数据
  • 负载均衡
    • 转发
    • 故障移除
    • 恢复添加

Nginx实现负载均衡

  1. 分发策略

    • 轮询:你一个,我一个,他一个
    • 最少连接数:谁不忙,就给谁
    • 权重:你一个,我两个,他三个,权重与访问成正比,应用于服务器性能不均的场景
    • IP_HASH:依据访问 IP 的固定 HASH 值进行分配, 解决Session共享问题
  2. 配置

    upstream ydc-coding {
    	# 配置权重
        server 116.196.66.192:8081 weight=3;
        server 116.196.66.192:8082 weight=2; 
    	# 不参与负载
        server 116.196.66.192:8083 down; 
    	# 备胎
        server 116.196.66.192:8084 backup; 
        } 
     
     server {
            listen       80;
            server_name  ydc-coding.com;
            #charset koi8-r;
            #access_log  logs/host.access.log  main;
            location / {
                proxy_pass   http://ydc-coding;
                index  index.html index.htm;
            }
         } 
    
    
  3. Keepalived + Nginx 实现高可用

    Nginx作为负载均衡器,所有请求都到了Nginx,可见Nginx处于非常重点的位置,如果Nginx服务器宕机后端web服务将无法提供服务,影响严重。

    为了避免负载均衡服务器的宕机故障,需要建立一个备份机。主备机上都运行高可用(High Availability)监控程序,通过传送心跳信息来监控对方的运行状况。当备份机不能在一定的时间内收到对方的正常心跳时,它就接管主服务器的服务IP并继续提供负载均衡服务;当备份管理器又从主管理器收到“I am alive”这样的信息时,它就释放服务IP地址,这样的主服务器就开始再次提供负载均衡服务。

    配置安装:Keepalived之——Keepalived + Nginx 实现高可用 Web 负载均衡

RD常用操作

在实际开发中,很少能自己去配置这些东西,关于Nginx这块,更多的是去申请配置 新增location新增域名机器调整等操作。

新增域名:

upstream ydc-coding {
 	server 116.196.66.192:8081;
	server 116.196.66.192:8082;
}
location / {
   proxy_pass http://ydc-coding;
}

新增location

location /Bug {
    proxy_pass http://ydc-coding;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Scheme $scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

机器调整:

upstream ydc-coding {
 	server 116.196.66.192:8083;
	server 116.196.66.192:8084;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章