Nginx反向代理配置
上图需求二配置方式:
1.配置好JDk
2.部署tomcat,需要复制tomcat 修改server.xml文件等。 保持默认监听8080,8081端⼝
3.修改nginx配置,并重新加载
nginx 安装有两种方式一种是联网一键下载,Nginx 配置文件在 /etc/nginx
目录下,一种是源码包可以无网下载,有两个配置文件启动地方一个是安装包存放位置,一个是/usr/local/nginx/conf下,启动要看你的主要安装启动目录一般是 cd usr/local/nginx/sbin
./nginx 启动
4.在/usr/local/nginx/sbin下执行 ./nginx -s reload 。重新加载nginx配置。在线版使用sudo service nginx start # 启动 nginx 服务
location 语法如下:
在nginx配置⽂件中,location主要有这⼏种形式:
location [=|~|~*|^~] /uri/ { … }
1)正则匹配(严格区分大小写) location ~ /lagou { } 2)不区分⼤⼩写的正则匹配 location ~* /lagou { } 3)匹配路径的前缀(ip端口后是这个路径就行,后面有无他不管) location ^~ /lagou { } 4)精确匹配(ip端口后的全路径就是这个路径,在多个/...都不行) location = /lagou { } 5)普通路径前缀匹配(ip端口后是这个路径就行,后面有无他不管) location /lagou { }
^代表以什么开头 ,~代表区分大小写,上面第三个^~反过来~^也是一样的
优先级 4 > 3 > 2 > 1 > 5
负载均衡配置
Nginx负载均衡策略
轮询
默认策略,每个请求按时间顺序逐⼀分配到不同的服务器,如果某⼀个服务器下线,能⾃动剔除
upstream lagouServer{
server 111.229.248.243:8080;
server 111.229.248.243:8082;
}
location /abc {
proxy_pass http://lagouServer/;
}
weight权重
weight代表权重,默认每⼀个负载的服务器都为1,权重越⾼那么被分配的请求越多(⽤于服务器性能不均衡的场景)
upstream lagouServer{
server 111.229.248.243:8080 weight=1;
server 111.229.248.243:8082 weight=2;
}
ip_hash
每个请求按照ip的hash结果分配,每⼀个客户端的请求会固定分配到同⼀个⽬标服务器处理,可以解决session问题,例如:你今天只用电脑登陆这个网站,nginx会记录一下这个ip进行hash计算的结果,来标记相应请求的⽬标服务器,那么在ip不变情况下,你的请求只会在同⼀个⽬标服务器处理,可以解决session共享的问题。
upstream lagouServer{
ip_hash;
server 111.229.248.243:8080;
server 111.229.248.243:8082;
}
动静分离配置
111.111.111.111:9090/static/abc.html的这个请求在被下图拦截后会去nginx文件下的staticData中找/static/abc.html下的abc.html文件
------------------------------------------与正文内容无关------------------------------------
如果觉的文章写对各位读者老爷们有帮助的话,麻烦点赞加关注呗!小弟在这拜谢了!
如果您觉得我的文章在某些地方写的不尽人意或者写的不对,从而让你对你人生观产生颠覆(概不负责),需要斧正,麻烦在评论区不吝赐教,作者看到后会根据您的提示查阅文章进行修改,还这世间一个公理一片蓝天