使用nginx实现动静分离

本文为大家分享了使用nginx实现动静分离的具体内容,供大家参考,具体内容如下

一、什么是动静分离

动静分离是指在web服务器架构中,将静态页面与动态页面或者静态内容接口和动态内容接口分开不同系统访问的架构设计方法,进而提升整个服务访问性能和可维护性。

nginx 的动静分离,指的是由 nginx 将客户端请求进行分类转发,静态资源请求(如html、css、图片等)由静态资源服务器处理,动态资源请求(如 jsp页面、servlet程序等)由 tomcat 服务器处理,tomcat 本身是用来处理动态资源的,同时 tomcat 也能处理静态资源,但是 tomcat 本身处理静态资源的效率并不高,而且还会带来额外的资源开销。利用 nginx 实现动静分离的架构,能够让 tomcat 专注于处理动态资源,静态资源统一由静态资源服务器处理,从而提升整个服务系统的性能 。

二、使用nginx实现动静分离

案例:

在Windows浏览器中输入 192.168.1.103/jsp/hello.jsp,跳转到提前准备好的 jsp 页面,这个动态资源请求是有tomcat服务器处理的;输入 192.168.1.103/image/pika.jpg,跳转到提前准备好的图片,这个静态资源请求是由 linux 主机处理的;输入 192.168.1.103/page/a.html,跳转到提前准备好的 html 页面,这个静态资源请求是由 linux 主机处理的。

(1)准备工作

① 在 linux 根目录下新建 static 目录,并在此目录下分别新建 image 目录和 page 目录,在 image 目录中放入准备好的图片 pika.jpg,在 page 目录中放入准备好的页面 a.html

② 在 tomcat 下的 webapps 目录下 新建 jsp 目录,在 jsp 目录中放入提前准备好的页面 hello.jsp

③ 关闭 linux 系统的防火墙或者开放需要被访问的端口

(2)具体配置

① 修改 linux 系统中nginx的配置文件 nginx.conf,默认在 /usr/local/nginx/conf 目录下。
将配置文件中server块的内容修改成如下形式:

② 保存修改并启动 nginx ,在Windows浏览器中输入相应请求地址,测试成功的结果如下所示:

<1> 访问 192.168.1.103/jsp/hello.jsp

<2> 访问 192.168.1.103/image/pika.jpg

<3> 访问 192.168.1.103/page/a.html

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • nginx实现动静分离实例讲解

    为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度.降低原 来单个服务器的压力. 简单来说,就是使用正则表达式匹配过滤,然后交个不同的服务器. 1.准备环境 准备一个nginx代理 两个http 分别处理动态和静态. 1.配置编译安装的nginx为反向代理upstream: upstream static { server 10.0.105.196:80 weight=1 max_fails=1 fail_timeout=60s; } upstream php {

  • 使用Nginx+uWsgi实现Python的Django框架站点动静分离

    由于: Django处理静态文件不太友好: 以后有可能需要处理php或者其他资源的请求: 所以考虑结合nginx,使用nignx做它擅长的路由分发功能:同时做动静分离,即Http请求统一由Nginx进行分发,静态文件由Nginx处理,并返回给客户端:而动态的请求,则分发到uWsgi,由uWsgi再分发给Django进行处理.即客户端 <-> nginx <-> socket <-> uwsgi <-> Django 一.环境 系统:centOS 6 pyth

  • nginx实现负载均衡和动静分离

    nginx配置(windows配置),供大家参考,具体内容如下 以下是我的项目用到的一份配置文件 #user nobody; worker_processes 4; #进程数,一般cpu是几核就写多少 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024;#单

  • nginx实现tomcat动静分离详解

    1.为什么要实现动静分离 1)nginx的处理静态资源能力超强 主要是nginx处理静态页面的效率远高于tomcat的处理能力,如果tomcat的请求量为1000次,则nginx的请求量为6000次,tomcat每秒的吞吐量为0.6M,nginx的每秒吞吐量为3.6M,可以说,nginx处理静态资源的能力是tomcat处理能力的6倍,优势可见一斑. 2)动态资源和静态资源分开,使服务器结构更清晰. 2.动静分离原理 服务端接收来自客户端的请求中,有一部分是静态资源的请求,例如html,css,j

  • Nginx+Tomcat实现负载均衡、动静分离的原理解析

    一.Nginx 负载均衡实现原理 1.Nginx 实现负载均衡是通过反向代理实现 反向代理(Reverse Proxy) 是指以 代理服务器(例:Nginx) 来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器(例:Tomcat),并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器(例:Nginx)对外就表现为一个反向代理服务器. 我们从客户端的视野来看,实际上客户端并不知道真实的服务提供者是哪台服务器,它只知道它请求了反向代理服务器.因

  • Nginx配合Apache或Tomcat的动静分离基本配置实例

    其实本人比较喜欢nginx跑静态和做负载反向代理,动态php还是交给apache处理比较稳定,jsp就交给tomcat.resin或jboss.nginx跑静态的能力是无与伦比的,是目前web服务器里最强的.nginx和apache.tomcat.resin的动静分离配置其实很简单,就几句配置,稳定性也非常好. 1.nginx和apache的动静分离配置: 把下面配置放到nginx配置文件相应的server { }里面,如果使用其他端口号,改一下就行: #所有php的动态页面均交由apache处

  • Nginx实现动静分离的示例代码

    结合本文场景,需要安装Nginx和Java环境(运行SpringBoot项目). 1.1 关于Linux系统安装Nginx可以参考我的文章---(传送门). 1.2 本文SpringBoot使用了Thymeleaf模板,项目端口号为8888. 1.3 在本地/Users/dalaoyang/Downloads/static文件内存放了jquery.js 2.什么是动静分离? 在弄清动静分离之前,我们要先明白什么是动,什么是静. 在Web开发中,通常来说,动态资源其实就是指那些后台资源,而静态资源

  • 部署Nginx+Apache动静分离的实例详解

    Nginx动静分离介绍 Nginx的静态处理能力很强,但是动态处理能力不足,因此,在企业中常用动静分离技术 针对PHP的动静分离 静态页面交给Nginx处理 动态页面交给PHP-FPM模块或Apache处理 在Nginx的配置中,是通过location配置段配合正则匹配实现静态与动态页面的不同处理方式 反向代理原理 Nginx不仅能作为Web服务器,还具有反向代理.负载均衡和缓存的功能 Nginx通过proxy模块实现将客户端的请求代理至上游服务器,此时nginx与上游服务器的连接是通过http

  • 简单实现nginx+tomcat的反向代理与动静分离

    windows下测试 nginx+tomcat实现java web项目的动静分离 1. 安装nginx,访问静态资源 安装成功后,启动nginx,浏览器输入http://localhost/出现欢迎页面. 在nginx下依次建立目录 static\test1\js\common,并将jquery.XX.js 放进去. PS: static 代表静态文件主目录,test1 代表tomcat下的项目名称,本机使用jquery-1.12.1.min.js 修改配置文件nginx.conf,添加如下配置

  • nginx实现动静分离的方法示例

    目录 在server1上部署nginx 在server上部署lnmp node3部署httpd 实现分离部署 本文主要介绍了nginx实现动静分离的方法示例,具有一定的学习价值,具体如下 环境: 系统/主机名 IP地址 服务 Redhat8 :server1 192.168.244.131 nginx Redhat8:server2 192.168.244.133 lnmp Content7:node3 192.168.244.142 httpd 在三台主机上关闭防火墙 [root@server

随机推荐