目录
- 为什么要学习Nginx
- 什么是正向代理,什么是反向代理
- 什么是负载均衡
- 下载Windows版本
- 实现代理
为什么要学习Nginx
我们在3个服务器上面部署了相同的项目,那么用户访问的时候,到底要到哪个服务器上面进行访问。而且,3个服务器上面的项目生成的session是保存在自己的服务器上面的,这个咋解决,不能实现共享。
所以,我们需要加一层,使用一个中间件。这个中间件的作用就是,实现负载均衡,用户只需要访问这个中间件,那么这个中间件就自己去找到底要访问哪个服务器,并且不会让所有的人都访问一个服务器,实现负载均衡。
什么是正向代理,什么是反向代理
代理客户端,就是VPN,就是正向代理
代理服务端,就是你就是一直访问一个域名,但是这个域名去找哪个服务器,你是不知道的,这个就是反向代理
什么是负载均衡
实现的功能就是不可以让用户访问的都在一个服务器上面,不然一个服务器一直接受访问,会爆的,让多个服务器一起工作,就是负载均衡。
下载Windows版本
实现代理
代码语言:javascript复制 upstream jing{
server 127.0.0.1:8080 weight = 3;
server 127.0.0.1:8081 weight = 1;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
proxy_pass http://jing;
}
代码语言:javascript复制节点说明:
在http节点里添加:
#定义负载均衡设备的 Ip及设备状态
upstream myServer {
server 127.0.0.1:9090 down;
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup;
}
在需要使用负载的Server节点下添加
proxy_pass http://myServer;
upstream 每个设备的状态:
down 表示单前的server暂时不参与负载 ,表示一台服务器进行维护了,不参与了
weight 默认为1.weight越大,负载的权重就越大。
max_fails :允许请求失败的次数默认为1.当超过最大次数时
,返回proxy_next_upstream 模块定义的错误
fail_timeout: max_fails 次失败后,暂停的时间。 意思是最大次数请求失败之后,我再这个时间之内,不会再次访问这个
backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。(当其他的都有问题,我就访问这个服务器)