博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx之动静分离
阅读量:2053 次
发布时间:2019-04-28

本文共 1075 字,大约阅读时间需要 3 分钟。

一、动静分离原因

以Tomcat服务器为例,Tomcat可以用来解析jsp页面,处理Servlet,但是Tomcat处理静态资源的能力并不是很强。如果可以将动态资源与静态资源相分离,这样就可以大大提高服务器的性能。Nginx可以帮我们处理静态资源,Tomcat可以用来处理动态资源,这样就可以大大提高效率,优化性能。

二、动静分离实现

首先,我们应了解路径匹配规则

=

=/aaa/1.jpg

路径严格匹配,路径必须一模一样才会匹配到

^~

^~/aaa

只要是指定路径开头的路径都可以匹配

~

~.png$

区分大小写按正则匹配路径

~*

~*.png$

不区分大小写按正则匹配路径

/

/

通用匹配,所有路径都可以匹配到

 

 

 

 

 

 

我们可以通过路径规则,来拦截请求,譬如,以/static,为开头的url地址,访问的是静态资源。然后,其他的便是访问动态资源。这种简易的规则,进行动静分离。

【1】在D://static下放置我们的静态资源

【2】在每个服务器中,各放置我们的项目war包

【3】修改Nginx配置文件

upstream ccc{

        server localhost:8081 weight=5;
        server localhost:8082 weight=3;
        server localhost:8083 down;
    }

    server {

        listen 80;
        server_name www.cccmall.com;
        location /{
            proxy_pass http://ccc;
        }
        location ^~/static {
            root d://;
            index index.html;
        }
    }

分析:

首先,根据路径匹配的优先级表明(越精确,越优先),所以,当以www.cccmall.com/static/1.html访问的时候,不会先去走“/”中。^~/static表示以/static开头的url地址。

如果有www.cccmall.com/static/1.html访问的时候,Nginx会将d://static/1.html静态资源返回给用户。

如果有www.cccmall.com/order/detail访问的时候,Nginx可能会将localhost:8081/webapps中项目名称/order/detail动态资源返回给用户。

大家注意:

root               用于指向nginx服务器中的本地磁盘地址、

index             表示默认页面

proxy_pass  用于处理请求转发,可以是单个地址,也可以是upstream定义的多个地址

 

转载地址:http://dfdlf.baihongyu.com/

你可能感兴趣的文章
一个简单大方的赞后+1,踩后-1js动画效果
查看>>
新手学习编程的最佳方式
查看>>
从json_encode过来的的字符串被返回到html页面时的解析
查看>>
linux虚拟机局域网网卡配置
查看>>
用js判断是否为手机浏览,如果是手机浏览就跳转到手机站
查看>>
每天一个linux命令(26):用SecureCRT来上传和下载文件(转载自竹子)
查看>>
定时启动计划任务(转载自网络)
查看>>
Javascript的RegExp对象(转载自网络)
查看>>
rwx对于文件和目录的意义
查看>>
借助csv用PHP生成excel文件
查看>>
使用SimpleXML解析xml文件数据
查看>>
php读取excel文档内容(转载)
查看>>
vim基本命令(转载自网络)
查看>>
Linux学习(二十二)Shell基础(二)变量、环境变量配置文件
查看>>
Linux学习(二十四)正则表达式(二)sed
查看>>
Linux学习(二十三)正则表达式(一)grep/egrep
查看>>
Linux学习(二十六)日常管理(一)w、vmstat、top、sar、nload、iostat、iotop
查看>>
Linux学习(二十五)正则表达式(三)awk
查看>>
js和php写日历
查看>>
shell递归遍历目录的方法
查看>>