01. LAMP 系列教程(一)| 详解 Linux 环境下部署 HTTPD 服务
02. LAMP 系列教程(二)| 如何在 Linux 环境下部署 AWStats 分析系统来监控 Web 站点?
03. LAMP 系列教程(三)| 一文读懂 HTTPD 服务的访问控制
04. LAMP 系列教程(四)| MySQL 数据库系统(一)
05. LAMP 系列教程(五)| MySQL 数据库系统(二)- SQL语句的基本操作
06. LAMP 系列教程(六)| MySQL 数据库系统(三)- 数据库的用户授权
07. LAMP 系列教程(七)| MySQL 数据库系统(四)- 数据库的备份与恢复
08. LAMP 系列教程(八)| 带你轻松玩转 LAMP 网站架构平台(一)
09. LAMP 系列教程(九)| LAMP 架构应用案例 - 部署 PHPMyAdmin 系统(二)
01. Nginx 系列教程(一)| 手把手教你在 Linux 环境下搭建 Nginx 服务
02. Nginx 系列教程(二)| 一文带你读懂 Nginx 的正向与反向代理
03. Nginx 系列教程(三)| 一文带你读懂 Nginx 的负载均衡
Nginx 动静分离,简单来说,就是把动态
和静态
请求分开,这里所说的不是将动态页面
和静态页面
物理分离,可以理解为:Nginx
处理静态页面,Tomcat
处理动态页面。
静态页面
:是一个页面对应一个内容,也就是一对一的关系,在互联网架构中,页面几乎为不变的
或者是页面发生变化频率较低的
。比如:html 页面,js/css 样式文件等;
与其匹配的技术架构来加速。比如:Squid、Nginx、CDN,而静态页面
最大的优点
:速度快、跨平台、跨服务器。
无论如何访问都只是让服务器传数据给请求端,并不做脚本计算及读取后台数据库,提高访问速度及降低了部分安全隐患。
采用静态页面的方法
:可将数据库及后台系统与前台进行划分,两者间没有绝对的联系,从而提高站点安全。
静态页面的特点
每个网页都有一个固定的 URL
,且网页URL
以.htm
、.html
、.shtml
等常见形式为后缀
,而不含有 ?
;
网页内容发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都将保存在网站服务器上,也就是说,保存在服务器上的文件,每个网页都是一个独立的文件;
内容相对稳定,容易被搜索引擎所检索;
没数据库的支持,网站制作和维护方面工作量大,当网站信息量很大时,完全依靠静态网页制作方式较困难;
交互性较差,功能方面有较大的限制;
运行数据快;
动态页面
:是一对多
访问,通过一个页面可以根据若干参数返回其不同的数据
,在互联网架构中,不同的用户访问不同的动态场景页面请求,都可能是不一样的页面。比如:淘宝京东商品列表页面、百度搜索引擎结果页面等;
动态页面,与其之匹配的技术架构,比如:分层架构
、服务化架构
、数据库
、缓存架构
;
动态页面的特点
以数据库技术为基础,可大大降低网站维护的工作量;
采用动态网页技术的网站可以实现更多的功能;
不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;
动静分离
是指:静态页面
与动态页面
分开不同系统访问的架构设计方法。
静态页面
:访问路径短,速度快,几毫秒;
动态页面
:访问路径长,速度慢,几十毫秒甚至几百毫秒,架构扩展性要求高;
1、 在Nginx
服务器环境下,准备静态资源,用于访问,在根目录下创建data
目录,并在该目录里面创建两个文件夹image
、www
,在image
文件夹里上传一张本地图片,www
文件夹里创建一个html
文件。
# cd /data/
# ll
总用量 8
drwxr-xr-x. 2 root root 4096 3月 29 19:14 image
drwxr-xr-x. 2 root root 4096 3月 29 19:13 www
# cd image/
# ls
游戏.jpg
# cd ../www/
# ls
20200331.html
# cat 20200331.html
<h1>This is a static page!</h1>
2、 修改nginx.conf
配置文件
添加监听端口、访问名字、重点添加location
。
# vim /usr/local/nginx/conf/nginx.conf
39 server {
40 listen 80;
41 server_name 192.168.1.10;
42
43 #charset koi8-r;
44
45 #access_log logs/host.access.log main;
46
47 location /www/ {
48 # proxy_pass http://myserver;
49 root /data/;
50 index index.html index.htm;
51 }
52 location /image/ {
53 root /data/;
54 autoindex on;
55 }
3、 重启Nginx
服务
# ./nginx -s stop
# ./nginx
4、 验证效果
在客户端浏览器中输入:http://192.168.1.10/image/
和http://192.168.1.10/www/20200331.html
分别进行测试动静分离是否成功,删除后端tomcat
服务器上的某个静态文件,查看是否能访问,如果可以访问说明静态资源Nginx
直接返回了,无须在通过后端Tomcat
服务器;
通过本篇文章我们介绍了什么是 Nginx 动静分离
、 什么是静态页面和动态页面以及它们各自的特点
、动静分离的架构设计图
和动静分离实操案例
等;
总体上来说,动静分离
是将原本需要动态生成的站点通过以静态站点的优化技术,如实际情况中,数据量不大时,可生成静态页面数据不多的业务,适合于页面静态化
优化。
这篇文章总体结构不长,但希望大家逻辑要清晰,彼此间都有所收获。
如果对你有所帮助,烦请大家也多多留言互动
、点个在看
、转发
,这都是一种支持!混个脸熟什么的,万一下期赠书活动中选中你了呢!好了,就简单介绍这么多吧,我们下期再见!
扫描下方二维码,添加杰哥微信,备注:地区/城市-职业方向/学校-昵称
,即可加入杰哥的IT之旅读者群
,群内仅供学习交流、日常互动、资源分享、经验分享等,一定要记得备注,我会尽快通过好友验证的。
1、 万字长文带你了解最常用的开源 Squid 代理服务器
2、 一款常用的 Squid 日志分析工具
3、 为什么要学习 Markdown?究竟有什么用?
4、 GitHub 标星 2.5K+!教你通过玩游戏的方式学习 VIM!
5、 GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
6、 Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
7、 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中文趋势榜第一!
8、 RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
9、 Nginx 系列教程(一)| 手把手教你在 Linux 环境下搭建 Nginx 服务
10、 Nginx 系列教程(二)| 一文带你读懂 Nginx 的正向与反向代理
11、 Nginx 系列教程(三)| 一文带你读懂 Nginx 的负载均衡
今天的推荐不知道大家喜欢吗?如果你喜欢,请在文章底部留言和点赞,以表示对我的支持,你们的留言
和点赞
是我持续更新的动力哦,感谢大家!
1、点个赞,让更多的人看到这篇文章,顺便激励下我,嘻嘻。
2、关注我的原创微信公众号「杰哥的IT之旅」
,专注于IT技术干货文章,以及不定期的分享学习资料,实用工具,面试经验
等,当然了还有内推机会
哦,期待你的关注!