Nginx——反向代理 & 负载均衡(无理论,案例实操)

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: Nginx——反向代理 & 负载均衡(无理论,案例实操)

1.开篇


有关Nginx的下载安装、相关理论内容,这里就不再多说了,详情可以参考我的这几篇文章:

https://szh-forever-young.blog.csdn.net/article/details/117992752


https://szh-forever-young.blog.csdn.net/article/details/117998893

https://szh-forever-young.blog.csdn.net/article/details/117993883

下面直接进行反向代理和负载均衡的案例实操。

2.反向代理案例一


首先启动tomcat,端口号我修改为了8082


然后转到nginx的配置文件nginx.conflisten表示监听80端口,服务器ip192.168.40.130location则表示当收到192.168.40.130发来的请求时,做一次请求转发,转发到http://127.0.0.1:8082,也就是tomcat的官网首页。

3.反向代理案例二


首先启动两台tomcat,端口号分别为80818082


分别在这两台tomcatwebapps目录下,创建一个文件,其中存放一个 a.html 的页面。


转到nginx的配置文件中,在server块中做如下配置,此时监听9001端口,服务器地址仍然是linux本机ip,下面两个location是指:当请求路径中包含tomcat1的时候将请求转发至指定的tomcat,当请求路径中包含tomcat2的时候将请求转发至另一台指定的tomcat


修改完配置文件,这里先将nginx停掉,然后再次启动测试。

4.负载均衡


因为要做负载均衡,这个和反向代理不同。负载均衡是说当nginx收到某些请求时,会将这些请求按照一定的算法(轮询、权重值、ip hash等)来将这些请求均衡的分发到不同的tomcat服务器中。

所以我们这里首先要在两台tomcatwebapps目录下创建相同的目录tomcat,在其中创建好一个简单的html页面。


转到nginx的配置文件,upstream XXX表示的是数据转发块,也就是通过server块中的proxy_pass来搭配使用,当监听的地址:192.168.40.130:8080可以省略不写)发来请求时,会根据proxy_pass定义的http://myServer做请求转发,而myServer中有两个地址分别对应两台tomcat,所以这些请求就被平摊到了这两台tomcat中。


修改完nginx.conf配置文件,我们将nginx停掉,再次重启测试。


第一次访问,nginx将该请求转发到了8082这台tomcat;刷新浏览器页面,可以看到nginx又将该请求转发到了8081这台tomcat

同样的url,多次发出请求,并不是说一直是8081、或者一直是8082,而是8081一次、8082一次,其实这里默认采用了轮询算法,可以看到nginx80818082这两台tomcat做了负载均衡。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
负载均衡 网络协议 算法
一文读懂什么是Nginx?它能否实现IM的负载均衡?
Nginx(及其衍生产品)是目前被大量使用的服务端反向代理和负载均衡方案,从某种意义上来讲,Nginx几乎是低成本、高负载Web服务端代名词。 如此深入人心的Nginx,很多人也想当然的认为,在IM或消息推送等场景下是否也能使用Nginx来解决负载均衡问题? 另外,即时通讯网的论坛和QQ群里也经常有人问起,Nginx是否能支持TCP、UDP、WebSocket的负载
421 4
|
Ubuntu 应用服务中间件 网络安全
Nginx伪流媒体服务器搭建详细说明以及案例
Nginx伪流媒体服务器搭建步骤如下:1. 安装Nginx,根据系统选择命令;2. 编辑配置文件(/etc/nginx/nginx.conf),添加mp4相关设置;3. 创建视频目录/usr/share/nginx/html/videos并上传视频;4. 重启Nginx应用更改;5. 通过浏览器访问视频,如http://your_server_ip/videos/example.mp4。注意启用mp4模块,确保视频格式支持伪流媒体播放。
768 159
|
负载均衡 前端开发 应用服务中间件
Tomcat的负载均衡和动静分离(与nginx联动)
总的来说,负载均衡和动静分离是提高Web应用性能的两个重要手段。通过合理的配置和使用,我们可以让Web应用更好地服务于用户。
422 21
|
负载均衡 Java 应用服务中间件
Tomcat与Nginx的负载均衡与动静分离技巧
总的来说,Tomcat和Nginx各有各的优点,在负载均衡和动静分离这两方面它们都有很好的应用。灵活使用这两个工具能够让Web应用具有更好的扩展性和用户体验。
407 14
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
507 11
|
负载均衡 算法 应用服务中间件
Nginx长连接负载均衡详细说明以及案例
本文详细介绍了Nginx长连接负载均衡的配置与原理。长连接(Keepalive)允许客户端和服务器保持连接,减少建立和关闭连接的开销。Nginx支持多种负载均衡算法,如轮询、IP哈希等。通过在Nginx配置文件中使用`upstream`模块和`keepalive`指令,可以实现长连接负载均衡,从而提高系统的性能和响应速度。示例配置展示了如何设置后端服务器组、长连接数及HTTP/1.1协议,确保连接复用,降低延迟。
825 5
|
负载均衡 应用服务中间件 nginx
如何使用nginx实现负载均衡?
如何使用nginx实现负载均衡?
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
435 2
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
1018 3
|
负载均衡 应用服务中间件 nginx
解决nginx配置负载均衡时invalid host in upstream报错
在Windows环境下,配置Nginx 1.11.5进行负载均衡时遇到问题,服务无法启动。错误日志显示“invalid host in upstream”。检查发现上游服务器列表中,192.168.29.128的主机地址无效。负载均衡配置中,两个服务器地址前误加了"http://"。修正方法是删除上游服务器列表和proxy_pass中的"http://"。问题解决后,Nginx服务应能正常启动。
1276 4
解决nginx配置负载均衡时invalid host in upstream报错