nginx实现动静分离

仅仅是为了动静分离的测试验证;
动态部分用python处理,请求/test/angular/返回test.html页面;
静态部分用test.html页面加载几个js,通过nginx服务器加载;

nginx配置
nginx监听88端口;
所有以“/”结尾的动态请求,都由8000端口处理;
所有以js,map结尾的都由nginx处理;

    server {
        listen 88;
        server_name localhost;

        location ~ \/$ {
            proxy_pass http://192.168.174.132:8000;
        }
        location ~ \.(js|map)$ {
            root /home/wfq/nginx/wfq/js;
        }
    }

js保存地址/home/wfq/nginx/wfq/js

[email protected]:~/nginx/wfq/js$ ls
angular-route.min.js  angular-route.min.js.map  angular.min.js  angular.min.js.map  jquery-3.2.1.min.js  test.js

这里写图片描述

test.html

<!DOCTYPE html>
<html>
<head>
{% load staticfiles %}
<meta charset="utf-8">
    <script src="http://192.168.174.132:88/angular.min.js"></script>
    <script src="http://192.168.174.132:88/angular-route.min.js"></script>
    <script src="http://192.168.174.132:88/jquery-3.2.1.min.js"></script>
    <script src="http://192.168.174.132:88/test.js"></script>
</head>
<body>
    <p>test页面加载这几个js,js通过nginx服务器加载</p>
    <p>动态处理的请求通过python处理</p>
    <p>仅仅做动静分离测试</p>
</div>
</body>
</html>

nginx正则匹配

常用的正则匹配规则

^~ : 标识符后面跟一个字符串。Nginx将在这个字符串匹配后停止进行正则表达式的匹配,如 location ^~ /images/,它在匹配了/images/这个字符串后就停止搜索其它正则的location

= : 标识精确查找地址,如 location = / ,只会匹配uri为/的请求

~ : 区分大小写的匹配

~* : 不区分大小写的匹配

!~ : 对区分大小写的匹配取非

!~* : 对不区分大小写的匹配取非

经常会用到的正则表达式有

  • ? + . () | ^ $

特殊字符说明{n} : 重复n次

{n,} : 重复n次或更多次

{n,m} : 重复n到m次

*? : 重复任意次,但尽可能少重复

+? : 重复1次或更多次,但尽可能少重复

?? : 重复0次或1次,但尽可能少重复

{n,m}? : 重复n到m次,但尽可能少重复

{n,}? : 重复n次以上,但尽可能少重复

参考博客并感谢

文章来源: nginx实现动静分离

人吐槽 人点赞

猜你喜欢

发表评论

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

查看评论:nginx实现动静分离