Nginx的应用之动静分离

Nginx 的动静分离

我们通过中间件将动态请求和静态请求进行分离,减少了不必要的请求消耗和延时。

动静分离后,即使动态服务不可用,但静态资源不会受到影响。

应用实例

1、准备环境

系统角色主机名IP服务
CentOS 7.2反向代理Nginx_Proxy192.168.1.10Nginx:v1.16.1
CentOS 7.2静态资源Nginx_Static192.168.1.11Nginx:v1.16.1
CentOS 7.2动态资源Tomcat_Server192.168.1.12Tomcat/7.0.76

2、配置服务器

2.1、在Nginx Static主机中配置静态资源(以图片为例)

[root@Nginx_Static]# vim /etc/nginx/conf.d/static.conf
server {listen 80;server_name static.com;root /data/www/static;index index.html;location ~* .*\.(png|jpg|gif)$ {root /data/www/static/images;}
}
#准备存放图片的目录及图片
[root@Nginx_Static]# mkdir -pv /data/www/static/images
[root@Nginx_Static]# wget -O /data/www/static/images/nginx.png http://nginx.org/nginx.png
[root@Nginx_Static]# systemctl restart nginx

2.2、在 Tomcat_Server主机中配置动态资源(以随机数为例)

#安装Tomcat,并编辑随机数的jsp文件
[root@Tomcat_Server]# yum -y install tomcat
[root@Tomcat_Server]# mkdir /usr/share/tomcat/webapps/ROOT
[root@Tomcat_Server]# vim /usr/share/tomcat/webapps/ROOT/java.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<HTML><HEAD><TITLE>JSP Test Page</TITLE></HEAD><BODY><%Random rand = new Random();out.println("<h1>Random number:</h1>");out.println(rand.nextInt(99)+100);%></BODY>
</HTML>#重启tomcat服务
[root@Tomcat_Server]# 

2.3、在Nginx_Proxy主机上配置代理,实现访问jsp和png

[root@Nginx_Proxy]# vim /etc/nginx/conf.d/proxy.conf
upstream static {server 192.168.1.11:80;
}
upstream java {server 192.168.1.12:8080;
}server {listen 80;server_name proxy.com;location / {root /data/www/whole;index index.html;}location ~ .*\.(png|jpg|gif)$ {proxy_pass http://static;}location ~ .*\.jsp$ {proxy_pass http://java;}
}
#重启nginx
[root@Nginx_Proxy]# systemctl restart nginx 

2.4、通过代理服务器测试访问动态及静态资源

1562333-20190826232727523-1191445210.png

1562333-20190826232747036-1075673509.png

2.5、在Nginx_Proxy主机上将动态和静态资源合并为html文件

[root@Nginx_Proxy]# mkdir /data/www/whole
[root@Nginx_Proxy]# vim /data/www/whole/index.html
<html lang="en">
<head><meta charset="UTF-8" /><title>测试ajax和跨域访问</title><script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
</head>
<script type="text/javascript">
$(document).ready(function(){$.ajax({type: "GET",url: "http://proxy.com/java.jsp",success: function(data) {$("#get_data").html(data)},error: function() {alert("fail!!,请刷新再试!");}});
});
</script><body><h1>测试动静分离</h1><img src="http://proxy.com/nginx.png"><div id="get_data"></div></body>
</html>

2.6、使用浏览器测试访问,动态及静态资源能否加载在一个html文件中

1562333-20190826232807415-1860252604.png

2.7、关闭静态资源的nginx服务后,发现静态内容无法访问,但动态内容可以正常浏览

1562333-20190826232817252-1655158987.png

2.8、关闭动态资源的tomcat服务后,发现动态内容无法访问,但静态内容可以正常浏览

1562333-20190826232827788-1380633641.png

转载于:https://www.cnblogs.com/Smbands/p/11415727.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410046.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3d打印英语文献_锐医学院 | 只需10分钟!解读康复医学文献+英语学习

文献解读英语学习只需10分钟锐医学院致力于专业康复教育培训同时&#xff0c;也在康复领域专家的合作下&#xff0c;一直在研究康复领域最前沿所取得的研究成果、存在的问题以及发展趋势进行系统和全面的叙述和评论与各领域康复专业人士分享。文献解读有助于发现前沿性问题&…

node.js通过回调函数获取异步函数的返回结果

html文件代码<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>我的node.js首页</title> </head> <body></body> </html> 通过buffer流读取html文件var fs require(fs);…

bigdecimal 保留两位小数_一律使用 BigDecimal,避免后患?

你知道的越多&#xff0c;不知道的就越多&#xff0c;业余的像一棵小草&#xff01;你来&#xff0c;我们一起精进&#xff01;你不来&#xff0c;我和你的竞争对手一起精进&#xff01;编辑&#xff1a;业余草zhuanlan.zhihu.com/p/94144867推荐&#xff1a;https://www.xttbl…

tcp 四次挥手_tcp三次握手和四次挥手

SYN&#xff1a;一个很小的包&#xff0c;tcp的第一个包&#xff08;同步序列编号&#xff09;ACK:确认响应SYN、ACK:为1表示确认连接FIN表示关闭连接&#xff0c;PSH表示有 DATA数据传输&#xff0c;RST表示连接重置。Acknowledge number(ack)&#xff1a;确认号&#xff0c;大…

ssh登录服务器提示错误no hostkey alg

ssh登录服务器提示错误no hostkey alg ssh root192.168.1.100 -vvv提示失败&#xff1a;no hostkey alg 登录到192.168.1.100服务器 rm -rf /etc/ssh/ssh*key systemctl restart sshd #我还是移走了&#xff0c;没有删除。因为之前安装了telnet服务&#xff0c;因此不用担心连…

ms查约束具体代码_ECCV 2020附代码论文合集(CNN,图像分割)

ECCV 2020 共接受 1361 篇论文&#xff0c;涵盖了包括目标检测&#xff0c;语义分割&#xff0c;图像分类&#xff0c;点云&#xff0c;图像重建&#xff0c;神经网络模型等热门主题。对计算机视觉感兴趣的小伙伴们也许你们已经阅读完论文并对论文的内容跃跃欲试了吧&#xff0…

路径规划算法_自动驾驶汽车路径规划算法浅析

自动驾驶汽车的路径规划算法最早源于机器人的路径规划研究&#xff0c;但是就工况而言却比机器人的路径规划复杂得多&#xff0c;自动驾驶车辆需要考虑车速、道路的附着情况、车辆最小转弯半径、外界天气环境等因素。本文将为大家介绍四种常用的路径规划算法&#xff0c;分别是…

【转载】interpolation(插值)和 extrapolation(外推)的区别

根据已有数据以及模型&#xff08;函数&#xff09;预测未知区域的函数值&#xff0c;预测的点在已有数据范围内就是interpolation&#xff08;插值&#xff09;&#xff0c; 范围外就是extrapolation&#xff08;外推&#xff09;。 The Difference Between Extrapolation and…

vue computed使用_vue computed正确使用方式

最近面试中&#xff0c;遇到一个小伙子&#xff0c;谈到了vue中的 computed 和 watch 区别&#xff0c;最后得到了一个让我瞠目结舌的答案&#xff0c;只用 watch&#xff0c;从不用 computed 模板内的表达式非常便利&#xff0c;但是设计它们的初衷是用于简单运算的。在模板中…

Apache实验-目录别名

一、作用介绍 在一些情况下&#xff0c;我们的资源文件都在非/var/www/html目录下&#xff0c;例如/var/www/html/sohu。这样的话我们在输入网址的时候就需要在网站根目录下再输入完整的目录。所以我们可以定义一个别名来替代这个路径。可以简写网站的网址。 二、实例操作 目前…

黑苹果适合什么用途?_黑苹果系统,Ozmosis和四叶草、变色龙相比有什么区别和优势?...

黑苹果单系统&#xff0c;Ozmosis和四叶草、变色龙相比有什么区别和优势&#xff1f;黑苹果系统用于影视后期处理ozmosis由于调试灵活性差&#xff0c;每次调试都要刷bios&#xff0c;主板厂商提供的bios也就8mb&#xff0c;要把&#xff0c;ozmosis引导程序放进去&#xff0c;…

Apache的虚拟主机

一、虚拟主机的分类 基于IP的虚拟主机&#xff1a;一台服务器&#xff0c;多个ip&#xff0c;搭建多个网站 基于端口的虚拟主机&#xff1a;一台服务器&#xff0c;一个ip&#xff0c;利用不同端口&#xff0c;搭建多个网站 基于域名的虚拟主机&#xff1a;一台服务器&#xff…

zabbix解决中文乱码

解决中文乱码 yum install -y wqy-microhei-fonts #解决方法 中文乱码 \cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf #或者是服务器没有安装中文转载于:https://www.cnblogs.com/zhaojingyu/p/11438733.html

springboot启动过程_spring5/springboot2源码学习 -- spring boot 应用的启动过程

推荐阅读&#xff1a;Spring全家桶笔记&#xff1a;SpringSpring BootSpring CloudSpring MVC疫情期间“闭关修炼”&#xff0c;吃透这本Java核心知识&#xff0c;跳槽面试不心慌2020“闭关”跳槽季&#xff0c;啃透分布式三大技术&#xff1a;限流、缓存、通讯基本环境开发工具…

不出来信号 quartus_男人一旦动了真情,会向你发出这6个“信号”不爱的人装不出来...

恋爱的时候&#xff0c;女人都想知道一个男人是否真的爱你&#xff0c;是否真的在乎你&#xff0c;女人常常在猜测男人的心思。而对一个聪明的女人来说&#xff0c;她们会用眼睛&#xff0c;用心观察身边的那个男人。有人说如果男人对女人动了真情&#xff0c;他会在女人面前表…

python turtle画烟花_用Python写一个绚丽的烟花!

Python人工智能 - 一节课快速认识人工智能必备语言:python - 创客学院直播室​www.makeru.com.cn 哈喽大家好&#xff0c;小编来教大家如何用Python写一个绚丽的烟花&#xff0c;下面我们开始吧~ Turtle库Turtle&#xff0c;也叫海龟渲染器&#xff0c;使用Turtle库画图也叫海龟…

zabbix详解

官网地址 https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/zabbix_agent 使用率 转载于:https://www.cnblogs.com/zhaojingyu/p/11440579.html

怎么把整个网站的代码中的一个词去掉_【杭州南牛网络】网站优化的最新优化方法...

【杭州南牛网络】如果你是一名企业主&#xff0c;你有建立企业官方网站的经验&#xff0c;在2-3年的运营过程中&#xff0c;我相信你至少对网站做了一次修改&#xff0c;甚至对SEO战略进行了重大调整。 原因很简单&#xff1a;当我们刚开始建一家公司时&#xff0c;很多时间都是…

数字电影打包内容(Packaging)

在数字电影领域&#xff0c;打包&#xff08;Packaging&#xff09;是指将节目素材&#xff08;含图像、声音和字幕&#xff09;按照一定的规则进行封装和组织&#xff0c;以用于节目传输和存储。在数字电影发展初期&#xff0c;下发到影院的数字节目没有统一的播放格式&#x…

阿里云盾AliYunDun服务IO超高

停止阿里云盾AliYunDun服务解决大量写磁盘问题&#xff0d;小内存ECS服务器 阿里云数据库在没备案&#xff0c;涉及大量IO操作时会自动启动阿里云盾这个服务&#xff0c;会导致服务器变得很卡&#xff0c;一直持续百分之99&#xff0c;一顿重启没有什么卵用&#xff01; 最后关…