nginx是一款俄罗斯程序设计师lgor Sysoev开发的高性能web服务器软件产品,主要功能在于反向代理转发,缓存等。
本地前端开发的ajax,转发到json文件实现mock,再转到外网服务器实现调试,而不用更改本地代码
本地文件访问不想在idea的tomcat内配置
下载源:http://nginx.org/en/download.html 选择nginx/Windows-1.15.1
conf/nginx.conf为配置文件,具体配置含义参考 https://www.cnblogs.com/liang-wei/p/5849771.html
配置http中server的location,对url进行正则匹配后转发。
location ~*^/(admin|emap|dhmap) {
limit_except GET POST DELETE OPTIONS{
deny all;
}
#tomcat端口80
proxy_pass http://127.0.0.1:80;
}
location ~*^/upload/emap(.*).(gif|png|jpg|bmp|jpeg|ico|js|css|html|exe|apk|swf|xml)$ {
root D:/tomcatXXX/apache-tomcat-7.0.59/webapps;
}
#alias不同于root,会把url路径替换,而不是拼上
location ^~ /v1.0/pmms/device/query/ {
alias D:/del/;
index mock.json;
}
location /module {
proxy_pass http://10.35.163.250:9000/edit;
}
#增加response报头
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods “POST,GET,OPTIONS”;
add_header Access-Control-Allow-Headers “Origin,Authorization,Accept”;
add_header Access-Control-Allow-Credentials true;
#不了解跨域,请向31261索要另一篇文章-ajax跨域实战
支持4种负载策略,分别为轮询(默认)、weight(指定轮询几率)、ip_hash(按ip的hash值结果分配,同一会话绑定)、fair(第三方,按响应时间分配)、url_hash(第三方,根据url分配)
#tomcat负载均衡池
upstream tomcat_pool{
#不同端口的server
server 127.0.0.1:80;
server 127.0.0.1:81;
server 127.0.0.1:82;
check interval=5000 rise=2 fall=5 timeout=1000 type=tcp default_down=false;
#负载策略为ip_hash
ip_hash;
}
#tomcat转发
location ~*^/(admin|emap|dhmap) {
limit_except GET POST DELETE OPTIONS{
deny all;
}
#tomcat端口80
proxy_pass http://tomcat_pool;
}
缓存可根据url等策略,支持缓存的持续时间,使用次数,击中概率修改。
参考地址https://blog.csdn.net/wangjianno2/article/details/75201020
nginx的内置属性即变量
具体属性含义参考https://blog.csdn.net/weixin_36429334/article/details/69619487
set $cus_val “www.baidu.com”
要定制nginx,需要懂源码,且用符合其规范的C编程,这点很难,而openResty框架集成了lua脚本和nginx的业务关联,可以利用lua实现更好的业务定制,可以查询redis、mysql等。
主要表现在rewrite、access、content等阶段的控制
具体可参考https://blog.csdn.net/xu_ya_fei/article/details/41964495
windows下cmd界面启动为start nginx,关闭为nginx.exe -s stop
linux下调对应sh脚本即可