Nginx动静分离
因为Nginx在处理静态资源的时候,效率是非常高的,而且Nginx的并发访问量也是名列前茅,而Tomcat则相对比较弱一些,所以把静态资源交个Nginx后,可以减轻Tomcat服务器的访问压力并提高静态资源的访问速度。动静分离以后,降低了动态资源和静态资源的耦合度。如动态资源宕机了也不影响静态资源的展示。
环境配置
使用Nginx的反向代理,将请求转给Tomcat进行处理。
1 2 3 4 5 6 7 8 9 10
| upstream webservice { server 192.168.200.146:8080; # web服务器的地址 } server{ listen 80; server_name localhost; location /demo { proxy_pass http://webservice; } }
|
具体实现
1.将demo.war项目中的静态资源都删除掉,重新打包生成一个war包
2.将war包部署到tomcat中,把之前部署的内容删除掉
1 2 3
| 进入到tomcat的webapps目录下,将之前的内容删除掉 将新的war包复制到webapps下 将tomcat启动
|
3.在Nginx所在服务器创建如下目录,并将对应的静态资源放入指定的位置
其中index.html页面的内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="js/jquery.min.js"></script> <script> $(function(){ $.get('http://192.168.200.133/demo/getAddress',function(data){ $("#msg").html(data); }); }); </script> </head> <body> <img src="images/logo.png"/> <h1>Nginx如何将请求转发到后端服务器</h1> <h3 id="msg"></h3> <img src="images/mv.png"/> </body> </html>
|
4.配置Nginx的静态资源与动态资源的访问
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| upstream webservice{ server 192.168.200.146:8080; } server { listen 80; server_name localhost;
#动态资源 location /demo { proxy_pass http://webservice; } #静态资源 location ~/.*\.(png|jpg|gif|js){ root html/web; gzip on; }
location / { root html/web; index index.html; } }
|