登 录
注 册
< 系统运维
Linux
计算机系统
系统工具
常用特殊命令
常用shell脚本
Nginx基本概念
Nginx多端口代理
Nginx负载均衡配置
Nginx负载均衡策略
Nginx动静分离
Nginx高可用
热门推荐>>>
中台架构
中台建设与架构
Hadoop
源码分析-NN启动(三)
HBase
HBased对接Hive
Python
数据导出工具
Flink
3分钟搭建Flink SQL测试环境
Kafka
Kafka对接Flume
深度学习
卷积神经网络
数据结构与算法
选择合适的算法
MySQL
数据备份恢复
计算机系统
信号量同步线程
Hive
Hive调优参数大全
其他框架
Azkaban Flow1.0与2.0
ClickHouse
表引擎-其他类型
技术成长
最好的职业建议
精选书单
技术成长书单—机器学习
技术资讯
数据在线:计算将成为公共服务
开发工具
IntelliJ IDEA 20年发展回顾(二)
系统工具
Mac命令行工具
虚拟化
内存虚拟化概述
云原生
云原生构建现代化应用
云服务
一文搞懂公有云、私有云...
Java
Spring Boot依赖注入与Runners
Go
Go函数与方法
SQL
SQL模板
安全常识
一文读懂SSO
当前位置:
首页
>>
Linux
>>
Nginx动静分离
Nginx动静分离
2021-12-25 15:36:02 星期六 阅读:800
![](/static/images/article_images/1640419088.8734314.jpeg) 动静分离简单来说就是把动态请求和静态请求分开,可以理解为使用Nginx处理静态页面,而Tomcat处理动态页面(比如有些请求需要与数据库交互后才能返回的),从而减轻所有请求的访问Tomcat的压力 如上图 **实现动静分离大致有两种方案** 1、纯粹把静态文件独立成单独的域名,放在独立的服务器上。这种方式是目前比较主流推荐的方案; 2、动态文件跟静态文件混合在一起发布,通过Nginx来分开。 通过location指定不同的后缀名实现不同的请求转发,通过expires参数设置浏览器缓存过期时间,减少与服务器之间的请求和流量。 #### 配置示例 通过Nginx实现静态资源的访问:在不需要启动Tomcat服务的情况下,能够访问服务器指定目录下文件。 比如:在服务器的/tmp/data下建立两个目录images和docs,且往这两个目录放入一些测试文件,通过配置Nginx,实现通过浏览器可访问这些静态资源,而不需要Tomcat服务。 准备测试数据,在服务器的/tmp/data目录下创建两个目录images、docs,并上传测试文件。准备好的目录结构如下图 ``` cd /tmp/data tree ├── docs │ ├── aaa.html │ ├── bbb.html │ └── ccc.html └── images ├── hadoop.png ├── hbase.png └── kafka.png 2 directories, 6 files ``` 接下来通过配置Nginx来访问这些静态静态文件。 ``` cd /usr/local/nginx/conf/ vim nginx.conf ``` 配置HTTP块下面的server子块内容 ``` listen 80; server_name 192.168.1.6; # 静态资源所在的服务器 ``` 配置该server子块下面的location模块 ``` # 配置静态资源在服务器的位置 location /images/ { root /tmp/data/; autoindex on;# 列出该目录下的所有内容 } location /docs/ { root /tmp/data/; index index.html index.htm; } ``` 测试 重新启动Nginx ``` cd /usr/local/nginx sbin/nginx -s stop sbin/nginx #启动 ``` 浏览器输入分别输入 http://192.168.1.6/docs/aaa.html http://192.168.1.6/docs/bbb.html http://192.168.1.6/docs/ccc.html 显示如下 ![](/static/images/article_images/1640417679.0683649.jpeg) 浏览器输入 http://192.168.1.6/images/ 显示如下,将images目录下的所有文件都列出来了 ![](/static/images/article_images/1640417744.1962237.jpeg)