Nginx学习总结(10)——Nginx前后端分离将多个请求转发到多个Tomcat,负载均衡反向代理
一、谈谈“渲染”
相信好多人都挺听过“渲染”这个词,但不清楚它是什么意思?前端开发以为这是后端的活儿,后端开发以为是前端的事儿,推着推着就不了了之。其实渲染很简单,不说概念,直接举例:
1、 后端渲染:以JSP为例,可以分成三步
a、编写标签或Java代码(可以称之为模板)
b、在JSP编译阶段被转换成Servlet编译为Servlet Class
c、执行编译后的代码,将响应(模板执行结果)返回给页面
优势:减少前端工作,前端只需要设计纯页面,其他的都由后端来做;
缺点:依赖于服务器端,增大服务器压力,前后端职责分工不明确;
应用场景:在页面不太多、渲染压力不大、服务器端能够承受范围内可以使用后端渲染。
2、 前端渲染:以基于js的模板引擎为例
a、编写模板代码
b、通过模板引擎将模板转化为脚本语言,拼接在JS中(第一次拼接,以后使用缓存)
c、页面加载执行JS
优势:减少服务器压力,前后端职责可以很好地分开,后端只做Json数据接口,前端进行渲染;
缺点:前端渲染依赖于客户端,增大的前端压力,需要代理服务器、末班渲染引擎的支持;
应用场景:在前端页面较多,前端开发人员能力较强,需要前后端分离的场景可以使用前端渲染(前端渲染是趋势)。
二、谈谈nginx
1、谈谈为什么会用到nginx?
首先明确一件事,浏览器可以发出请求吗?可以!那我们为什么要用到服务器呢?因为我们的前端如果不依赖服务器,页面就只能访问本地资源而不能访问服务器上的资源,而我们的后台一定是写在服务器上的。所以举个例子,我们在使用Tomcat服务器时,就必须把前端资源架在Tomcat上,才能访问后台的servlet。如下图所示:
所以当我们希望前后端分离时,前端的资源就不能放在Tomcat上面,那如何获得Tomcat的资源的?这就用到了nginx,如下图所示:
2、谈谈nginx的反向代理
有反向代理必有正向代理,先谈谈正向代理:一般默认的代理都是正向代理,用户访问不了一个资源,然后通过代理服务器去访问这个资源,将响应带回给用户。关键在于用户知道自己访问的是其他服务器的资源,代理服务器不会掩饰URL。
而反向代理是,代理服务器也是在中间层,但是用户不知道自己访问的资源是其他服务器的资源,代理服务器会掩饰URL。
3、谈谈如何使用nginx反向代理tomcat
(1)首先打开nginx,两种方式,一种是直接点击ngnix.exe,一种是使用命令行,cd到nginx目录下,start nginx,无报错即启动成功
(2)启动成功后,如何验证,因为ngnix.conf核心配置文件默认配置监听80端口,所以浏览器打开localhost,看到如下显示:
(3)下一步就是配置反向代理Tomcat,打开conf目录下的nginx.conf文件,主要看35行左右开始的代码,下面是我修改过的代码:
主要修改lacation属性,使所有的请求都被转发到http://localhost:8080的Tomcat服务器下处理:
listen:是监听的端口,即用户访问nginx服务的端口
server_name:服务名,经过测试并不会影响到什么
location:定义资源类型与服务器中资源地址url的映射关系,可在/后面定义资源类型,可设置多个location
其中proxy_pass代表要反向代理的服务器资源url,只要资源类型匹配,在这个url下的子路径资源都可以访问到,
其中root代表本地的资源路径,同样只要资源类型匹配,这个路径下的子目录资源都可以被访问到,
一个location中只能配置一个root或proxy_pass。
(4)修改后ngnix.conf文件后,使用nginx -s reload指令,重启ngnix,如果没有报错即重启成功
(5)发出请求,获得Json,url显示依然是80端口的资源,即我们说的反向代理的特点,掩饰url,效果如下图所示:
事实上,nginx是将请求转发到Tomcat服务器,是8080端口下的资源,如下图所示:
(6)如果不光有Tomcat服务器的资源,那么就需要定义多个location,比如,jsp资源请求就转发到Tomcat服务器下,PHP、html、js、css等资源资源可以转到Apache服务器目录下,如下图配置示例:
location ~ .jsp$ {
proxy_pass http://localhost:8080;
} location ~ .(html|js|css|png|gif)$ {
root D:/software/developerTools/server/apache-tomcat-7.0.8/webapps/ROOT;
}
Nginx学习总结(10)——Nginx前后端分离将多个请求转发到多个Tomcat,负载均衡反向代理相关推荐
- nginx安装、nginx前端配置、后端配置、前后端分离配置、https支持(ssl配置)、负载均衡配置、nginx location详解
nginx配置 一.nginx安装 二.nginx配置 仅前端配置 仅后端配置 前后分离配置(1) 前后分离配置(2) 前后不分离配置 https/ssl配置 负载均衡配置 数据压缩配置 三.完整ng ...
- Linux中 Nginx+uwsgi部署flask项目 Nginx负载均衡 反向代理
Nginx是一款自由的.开源的.高性能HTTP服务器和反向代理服务器. 轻量级,同样起web服务,比 apache占用更少的内存及资源 抗并发, nginx处理请求是异步非阻塞的,而 apache则是 ...
- 前端网页发布到nginx_通过nginx部署前端代码实现前后端分离
实现前后端分离,可以让前后端独立开发.独立部署.独立单测,双方通过JSON进行数据交互. 对于前端开发人员来说,不用每次调试都需要启动或配置Java/Tomcat运行环境:对于后端开发人员来说 ,也不 ...
- Shiro学习笔记-----小组开发前后端分离项目---登陆认证盐值加密
当下我正在参与的学校前后端分离的实习项目,有了登录系统的需求,于是我在了解到Shiro是当下主流的安全框 架后,毅然决然开启了学习Shiro的旅程 首先来谈谈什么是Shiro,Apache Shiro ...
- springBoot 解决前后端分离项目中跨越请求,同源策略
今天在做项目的过程,采用前后端分离技术的时遇到采用ajax请求无法访问后台接口,按F12,查看浏览器运行状态时,报如下错误 为了解决浏览的同源策略,就必须了解什么是同源策略. 1.什么是同源策略 同源 ...
- 架构之Nginx(负载均衡/反向代理)
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器 ,也是一个 IMAP/POP3/SMTP 代理 服务器 . Nginx 是由 Igor Sys ...
- Nginx安装/负载均衡/反向代理配置与调优
[Nginx安装] Linux下直接使用包管理安装 sudo apt-get install nginx 使用whereis命令查看安装位置 whereis nginx #sbin下代表nginx可执 ...
- 负载均衡反向代理 动静分离
#!/bin/bash IP=192.168.186.77 WG=192.168.186.2 YM=255.255.255.0 DIR=/etc/sysconfig/network-scripts W ...
- 前后端分离时ajax发送请求时后端能接送,但是前端的response为空时
困扰了一天的问题,使用ajax向后端发送请求,后端成功接收并且处理,但是返回前端时在前端调用response时发现后端返回的数据为空 . success:function (response) {if ...
最新文章
- 生命游戏 c语言,c++生命游戏源码
- 《EMCAScript6入门》读书笔记——24.编程风格
- Ubuntu13.10下编译安装opencv2.4.9
- 使用PIE/PIF值判断DVD刻录机的刻录品质
- loadrunner11完整卸载
- 2008年具有高校自主选拔录取资格的考生名单 - 江苏版
- 2.请求安全-- MD5的必要性以及实际应用场景
- [SQL] 常用查询脚本
- 对排名前3000位博主进行数据分析
- 简单的NLPIR分词 JAVA 实现
- 我的世界有宠物系统服务器,我的世界:如果Minecraft加入战斗宠物系统,推荐5大最强生物!...
- 两个平面的位置关系和判定方程组解_2018年高考数学总复习第九章平面解析几何第2讲两直线的位置关系学案!...
- 全国大学生“高教杯“成图大赛:轴类零件的快速建模
- 《伟大的小细节:互联网产品设计中的微创新思维》——3.4 身份特征与使用习惯因素...
- 2019年涨工资指南:为什么要学AI、AI薪资水平和就业前景分析
- PS网页设计教程XI——在PS中创建柔和的绿色环保的网页布局
- Ucore与xv6文件系统分析
- 跟着bob学win10 ump 学习笔记: lesson57 Weather
- 数据库访问技术的总结 一
- IP获取方法一:网页JS获取当前地理位置(省市区)
热门文章
- hashcode是什么意思_面试官:说一下HashMap原理,为什么会产生死循环
- python 字符串数组_python用法笔记(数组(list、touple、dict)、字符串)
- pytest allure测试报告_用Pytest+Allure生成漂亮的HTML图形化测试报告
- 限定位宽比较大小_自己之前买电脑整理的一些电脑知识,比较粗糙,仅供参考。...
- 稳定服务器头像,WordPress 修复 Gravatar 头像稳定服务器地址
- python unique函数_《Python编程从入门到实践》json数据可视化练习详解
- 算法 c语言_C语言中10个经典的算法,学会它,利用它
- mysql utf8转gbk cmd_utf8转成gbk
- slurm安装配置_安装Slurm_鲲鹏高性能计算解决方案_安装指南_Slurm 18.08.7 安装指南_Slurm的安装配置_华为云...
- python3 copy_Python3 深浅拷贝