Tomcat详解(八)——Tomcat与Nginx实现动静分离

简介: Tomcat详解(八)——Tomcat与Nginx实现动静分离

今天继续给大家介绍Linux运维相关知识,本文主要内容是配置Nginx和Tomcat实现动静分离。
阅读本文,您需要有一定的Tomcat和Nginx配置基础,如果您对此还存在困惑,欢迎您查阅我博客内的相关文章,相信您一定会有所收获!

一、实战背景
本次我们尝试实现现如今生产环境中常见架构的一部分,使用Nginx进行前端的负载分担,使用Tomcat作为真正的后端。同时,进行网站动静分离部署,Nginx作为前端处理静态文件,Tomcat作为后端处理JSP文件。在本次实战中,我们配置的是Jforum论坛。
本次实战设备及IP地址如下:
Nginx:192.168.136.12
Tomcat:192.168.136.101

二、Nginx配置
我们在正常安装Nginx后,修改Nginx的配置文件。

三、Tomcat配置
对于Tomcat,我们正常上传Jforum论坛,解压后进行部署,将解药后的所有文件放到tomcat安装后的webapps/ROOT目录下。
在http模块下和server模块上,添加如下内容:

upstream tomcat {
server 192.168.136.101:8080;
}
1
2
3
在server模块内,将原有的location内容添加并修改为如下所示:

location / {
root /var/www/html;
index index.html index.htm;
}
location ~ ..jsp {
root html;
index index.html index.htm;
proxy_set_header Host $host;
proxy_pass http://tomcat;
}
1
2
3
4
5
6
7
8
9
10
上述配置,主要目的是将.jsp文件送到后端Tomcat处进行解析,将其他类型的文件放到Nginx设备下/var/www/html目录下进行解析。

四、效果检验
最后,让我们来检验一下刚才配置的成果。首先,我们开启Nginx和Tomcat的服务,尝试访问以下Nginx的端口,结果如下所示:

可以看到,由于我们设置了动静分离,因此可以访问到后端的Tomcat安装页面,但是由于还没有将静态的文件复制到Nginx设备上,因此页面显示不全,有一些页面文件没有加载成功。
我们尝试将style.css文件复制到Nginx设备上。注意,该文件在templates/default/styles目录下,同样的,我们也需要将该文件放到Nginx的该目录下。
上述配置完成后,我们再次尝试访问设备,发现结果如下:

可以看到,由于我们人为的将style.css文件放到了Nginx设备上,导致Nginx设备上存在该静态文件,因此,我们看到的页面发生了变化。由此可见,我们的Nginx+Tomcat动静分离配置成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/123277316

目录
相关文章
|
13天前
|
缓存 Java 应用服务中间件
nginx的正向代理和反向代理以及tomcat
Nginx的正向代理和反向代理功能在不同的场景中具有重要作用,正向代理主要用于客户端访问控制和匿名浏览,而反向代理则用于负载均衡和高可用性服务。Tomcat作为Java Web应用服务器,与Nginx结合使用,可以显著提升Web应用的性能和稳定性。通过合理配置Nginx和Tomcat,可以构建高效、稳定和可扩展的Web服务架构。
87 11
|
6月前
|
应用服务中间件 nginx
Nginx Location 深入剖析及动静分离简易配置
Nginx Location 深入剖析及动静分离简易配置
86 3
|
5月前
|
Java 应用服务中间件 Shell
Nginx+Keepalived+Tomcat 实现Web高可用集群
Nginx+Keepalived+Tomcat 实现Web高可用集群
152 0
|
2月前
|
前端开发 Java 应用服务中间件
Tomcat和Nginx的资源路径映射
Tomcat和Nginx的资源路径映射
53 1
|
7月前
|
Ubuntu 前端开发 JavaScript
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
|
5月前
|
前端开发 Java 应用服务中间件
在Linux中,tomcat和nginx的区别是什么?
在Linux中,tomcat和nginx的区别是什么?
|
5月前
|
缓存 负载均衡 Java
Tomcat多实例及nginx反向代理tomcat
运行多个Tomcat实例并使用nginx作为反向代理
96 3
|
6月前
|
存储 缓存 前端开发
(三)Nginx一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化...想要的这都有!
早期的业务都是基于单体节点部署,由于前期访问流量不大,因此单体结构也可满足需求,但随着业务增长,流量也越来越大,那么最终单台服务器受到的访问压力也会逐步增高。时间一长,单台服务器性能无法跟上业务增长,就会造成线上频繁宕机的现象发生,最终导致系统瘫痪无法继续处理用户的请求。
190 1
|
2月前
|
缓存 应用服务中间件 网络安全
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
145 7
|
3月前
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解