01.Nginx可以理解成为一个代理运营商在计算机网络中。用户发送的请求在Nginx中处理,而后分配给相关的服务器
02.在Nginx文件中conf文件件,中修改nginx.conf文件
首先先去监听和获取请求,使用关键字server
这个是浏览器url中输入localhost时候,获取请求。
#每一个反向代理都是一个服务
server {
#配置监听端口
listen 80;
#配置监听的域名
server_name localhost;
#进行反向代理的配置 / 拦截所有用户的请求
location / {
#root关键字 代标着文件的目录信息
root html;
#index 关键字,默认的欢迎页面
index index.html index.htm;
}
}
例如:url中输入image.jt.com 会自动转到本机目录D:/JT_IMAGE/(关键字是root)
#配置图片服务器
server {
listen 80;
server_name image.jt.com;
location / {
root D:/JT_IMAGE/;//真实的磁盘地址
}
}
这个是服务器请求获取配置,url中输入manage.jt.com时候会转到http://localhost:8091(关键字是proxy_pass)
#用户通过http://manage.jt.com:80跳转到localhost:8091服务中
#配置后台管理服务器
server {
listen 80;
#监听域名 禁止重复,域名唯一
server_name manage.jt.com;
#配置反向代理 / 表示拦截用户的全部请求
location / {
#实现http请求的转发,发起请求获取后台服务器数据
proxy_pass http://localhost:8091;
}
}
说明:我们自己指定的域名是需要本机解析的,所以我们要在hosts文件中配置本机ip与域名的映射,这
样我们自己配置的域名才可以被我们本机解析到。
hosts文件的位置如图所示:
编写hosts文件:
04
项目的图片回显功能示意图:
-
当用户发起请求时首先经过本地的hosts文件.将请求转向到本地服务器.
2.Nginx服务启动监听用户请求.当接收到用户图片访问请求时.实现反向代理.实现真实数据的动态获取
负载均衡策略:
需要搭建tomcat服务器集群,共同抗击高并发.这时需要使用反向代理服务器.同时配置负载均衡. 如图所示:
配置集群:
#配置windows集群 默认是轮询策略
upstream jtWindows {
server localhost:8081;
server localhost:8082;
server localhost:8083;
}
#配置后台管理服务器
server {
listen 80;
server_name manage.jt.com;
location / {
#实现http请求的转发
proxy_pass http://jtWindows;
}
}
负载均衡:
#配置windows集群 默认是轮询策略
upstream jtWindows {
server localhost:8081;
server localhost:8082;
server localhost:8083;
}
权重:
#配置windows集群 默认是轮循策略 权重
upstream jtWindows {
server localhost:8081 weight=6;
server localhost:8082 weight=3;
server localhost:8083 weight=1;
}
06.Nginx属性:
Down属性
说明:如果服务器宕机,可以在配置文件中标识为down.这样以后不会再访问故障机.
upstream jtWindows {
server localhost:8081 down;
server localhost:8082;
server localhost:8083;
}
BACKUP属性
说明:备用机设置,正常情况下该服务器不会被访问.当主机全部宕机或者主机遇忙时,该服务器才会访问.
upstream jtWindows {
server localhost:8081 down;
server localhost:8082;
server localhost:8083 backup;
}
宕机服务器高可用实现
说明:当服务器宕机时,如果访问的失败达到最大失败次数,则标识为down.自动完成.在一定的周期之内,如
果服务器恢复正常,则还会尝试访问故障机.
max_fails=1 最大的失败次数
fail_timeout=60s; 设定周期为60秒
upstream jtWindows {
server localhost:8081 max_fails=1 fail_timeout=60s;
server localhost:8082 max_fails=1 fail_timeout=60s;
server localhost:8083 max_fails=1 fail_timeout=60s;
}