nginx|nginx 配置反向代理和负载均衡

本贴最后更新于 1863 天前,其中的信息可能已经东海扬尘

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 配置反向代理需要以下几步:

  1. 启动测试程序
  2. 配置 server 文件
  3. 使用浏览器测试

启动测试程序

这里就不重复造轮子了,可直接拿以前的 DEMO 来启动,参考文章如下:
https://www.javastudy.cloud/articles/2019/11/02/1572707309375.html
也可自行生成 springboot 的 web 项目
端口用默认的 8080 启动如下图所示:
image.png

配置 server 文件

在 conf.d 文件夹中新建 test.conf(文末可下载配置)
image.png
这里面要注意两点, server_name 和 proxy_pass 不能用 127.0.0.1 , 要用主机的局域网 ip
使用 docker exec -it docker-nginx nginx -s reload 或者重启容器

使用浏览器测试

在浏览器中输入 http://192.168.1.128/test/testNginx 可看到如下输出:
image.png

负载均衡

负载均衡只需在原有的基础上添加 upstream 即可,首先换一个端口, 换一个输出,再启动一个程序,可以用 Idea 启动一个, 然后打包, 用 java -jar xxx.jar 命令再启动一个
image.png
然后在 test.conf 中添加 upstream 的配置
image.png
然后重启 nginx 容器,在浏览器中输入 http://192.168.1.128/test/testNginx
可得到如下不同的结果
image.png

DEMO 总评

nginx 做反向代理和负载均衡几乎是现在 web 开发中必备的,但是要注意,应用一定要是无状态的,而且应用一旦采用这种部署,后面分布式的各种问题就来了,如定时任务总不能两台都执行吧, 只要一台执行就行了, 缓存总不能两台都返库吧, 一台就行了等等,加油吧少年!

DEMO 下载

dockernginx.zip

  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    492 引用 • 926 回帖
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    313 引用 • 547 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...