仅仅是为了动静分离的测试验证;
动态部分用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
wfq@ubuntu:~/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次以上,但尽可能少重复