javaDEMO
本网站记录了最全的各种 JavaDEMO ,保证下载,复制就是可用的,包括基础的, 集合的, spring 的, Mybatis 的等等各种,助力你从菜鸟到大牛,记得收藏哦~~
https://www.javastudy.cloud
nginx 配置反向代理和负载均衡
参考文档:
http://nginx.org/en/docs/http/load_balancing.html
负载均衡是在反向代理的基础之上,所以就在这里一并给了出来.同样本篇 DEMO 基于上文使用 docker 安装 nginx:
https://www.javastudy.cloud/articles/2019/11/16/1573871715899.html
nginx 配置反向代理需要以下几步:
- 启动测试程序
- 配置 server 文件
- 使用浏览器测试
启动测试程序
这里就不重复造轮子了,可直接拿以前的 DEMO 来启动,参考文章如下:
https://www.javastudy.cloud/articles/2019/11/02/1572707309375.html
也可自行生成 springboot 的 web 项目
端口用默认的 8080 启动如下图所示:
配置 server 文件
在 conf.d 文件夹中新建 test.conf(文末可下载配置)
这里面要注意两点, server_name 和 proxy_pass 不能用 127.0.0.1 , 要用主机的局域网 ip
使用 docker exec -it docker-nginx nginx -s reload
或者重启容器
使用浏览器测试
在浏览器中输入 http://192.168.1.128/test/testNginx
可看到如下输出:
负载均衡
负载均衡只需在原有的基础上添加 upstream 即可,首先换一个端口, 换一个输出,再启动一个程序,可以用 Idea 启动一个, 然后打包, 用 java -jar xxx.jar
命令再启动一个
然后在 test.conf 中添加 upstream 的配置
然后重启 nginx 容器,在浏览器中输入 http://192.168.1.128/test/testNginx
可得到如下不同的结果
DEMO 总评
nginx 做反向代理和负载均衡几乎是现在 web 开发中必备的,但是要注意,应用一定要是无状态的,而且应用一旦采用这种部署,后面分布式的各种问题就来了,如定时任务总不能两台都执行吧, 只要一台执行就行了, 缓存总不能两台都返库吧, 一台就行了等等,加油吧少年!
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于