• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

springboot+nginx实现负载均衡和动静分离

武飞扬头像
萌萌萌新!
帮助1

首先,在idea中创建springboot项目,把该项目修改端口号后分别打包三次

 学新通学新通

 学新通

另注意,打包的时候可以在pom.xml中指定打包的包名,我这里分别设置了不同的包名,好区分

学新通 

 然后把三个jar包放在linux下的usr/local目录下(static是等下静态分离的)

学新通

 然后配置nginx配置文件

学新通

上面的upstream表示把请求分配到不同的服务器中

下面的location /myweb 表示访问/myweb时会将请求跳转到上面的那个upstream中 

这里的www.myweb.com是自己随便取的名字,注意上下的名字要相同,一个一个地对应。

然后就可以启动nginx,运行3个jar包(注意关闭防火墙systemctl stop firewalld)

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

java -jar 01-myweb.jar &

java -jar 02-myweb.jar &

java -jar 03-myweb.jar &

 这里负载均衡就实现了,在浏览器上输入192.168.175.128/myweb就会由nginx向三个服务器发送请求。

动静分离的话,准备好一张图片

学新通

 复制static文件夹,到这里

学新通

 这里要特别注意:因为我配置了server.servlet.context-path=/myweb

所以静态资源不能直接放在static里,要在static文件夹里新建一个名为myweb的文件夹,把原来static里面的静态资源文件放到myweb里

学新通

 学新通

 然后在原来的nginx配置文件的server中加上这个,表示访问的路径中包含括号里的,就会到linux中的/usr/local/myweb2/static里面获取资源文件

学新通

 这里就实现动静分离了,访问静态资源文件时就是从nginx中获取。

为什么要在static里再创建一个myweb文件夹呢?

因为root表示的是本地磁盘根路径,表示的是192.168.175.128(我的地址),

然而在浏览器上发出请求的地址是192.168.175.128/myweb

myweb是我配置的项目名,只有加上这个才能访问到我的myweb项目

用户访问静态资源文件是192.168.175.128/myweb/静态资源文件

相当于/usr/local/myweb2/static/myweb/静态资源文件

如果我们不创建一个myweb文件夹的话,我们的静态资源文件就存放在

相当于/usr/local/myweb2/static/静态资源文件

这样用户当然访问不到静态资源文件。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggbfgg
系列文章
更多 icon
同类精品
更多 icon
继续加载