美文网首页Nginx
springboot+ngnix 端口转发和实现负载均衡

springboot+ngnix 端口转发和实现负载均衡

作者: tangBiao_ | 来源:发表于2020-07-03 23:14 被阅读0次

    这是基于windows环境搭的。其实和linux环境搭建,差不多,发这篇文章是想让自己明白配置的原理。也是想让自己的项目彻底实现前后端分离。

    下面是一个标准的springboot的项目,前端所有静态文件 我放在static里面,接下来我把剪切出来,

    彻底把他消失在springboot里面,

    剪切完毕,我把static放在nginx.exe 同级目录下,

    打开conf文件里面的,编辑nginx.conf文件

    我先把server_name 改成127.0.01;(80端口只能让nginx占用)

    然后修改 location

    location /{     root  d:/ngnix/nginx-1.18.0/static; index index.html index.htm;         }

    root: 路径填写当前绝对路径下的static

    这个时候重新启动nginx .  命令:  nginx -s reload (每次编辑完nginx.conf 都要执行该命令)

    如果没启动nginx ,直接启动nginx就行。

    这个时候输入 127.0.0.1  就进入页面,这个时候访问的static下的index.html页面

    然后 我启动后台服务,端口6326。设置context-path : /test

    这个时候我想调这个项目的端口6326怎么办,我在location下  额外 新增一个location/test

    location /test{

    proxy_pass http://127.0.0.1:6326; #1m~Ym~G~Lm~Z~D端m~O1m~Wm~T1m~H~P项m~[1m~Tm~Z~Dm~S?25h

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_set_header X-Forwarded-Proto $scheme;

    proxy_set_header X-Forwarded-Port $server_port;

            }

    然后index.js的请求路径

    解释下我的意思,我在页面请求路径是test开头,是因为我想请求后台服务,必须以test开头才能请求 这个没毛病这个时候当我请求以test开头的路径,会把我index.js 的url 覆盖成

    127.0.0.1:6326/test/people_context, 也就是说表面代码是/test/people_context ,实际请求变成了

    127.0.0.1:6326/test/people_context

    为什么呢。。因为当你请求test开头的路径,刚好映射到 你配置的 location /test{}, 然后他会默认把test前面的location 替换你配置的 http://127.0.0.1:6326,

    调一下提交功能,

    如果我要实现负载均衡,我在linux下部署了一个项目,在本地起了一个项目,配置如下:

    linux启动项目成功,(忽略命令,命令是我自己制作的)

    第一次调提交 提示linux 说明我调到了linux下的服务

    第二次调到了windows ,实现负载均衡

    ,

    相关文章

      网友评论

        本文标题:springboot+ngnix 端口转发和实现负载均衡

        本文链接:https://www.haomeiwen.com/subject/cxdeqktx.html