立Flag学习Ng缓存及压缩ampampamp动静分离amp
立Flag学习Ng缓存及压缩动静分离https动静分离缓存配置及Gzip配置https配置缓存及压缩locationqq。png{expires2s;缓存2秒expires2m;缓存2分钟expires2h;缓存2小时expires2d;缓存2天roothtmlgzip;}locationchrome。png{缓存2分钟expires2m;roothtmlgzip;}这里要注意看浏览器支持什么压缩格式location(。)。(htmljscssjpgjpegpnggif){启用gzip压缩,默认是off,不启用gzipon;对js、css、jpg、png、gif格式的文件启用gzip压缩功能gziptypesapplicationjavascripttextcssimagejpegimagepngimagegif;gzipminlength1024;所压缩文件的最小值,小于这个的不会压缩gzipbuffers41k;设置压缩响应的缓冲块的大小和个数,默认是内存一个页的大小gzipcomplevel1;压缩水平,默认1。取值范围19,取值越大压缩比率越大,但越耗cpu时间roothtmlgzip;}动静分离
https:www。cnblogs。comgongjingyun123p11424805。html
https:blog。51cto。comwgkgood1094236
https:blog。51cto。com44020712087071
https:www。cnblogs。comwajikap6575656。html
一句话就是节省服务器资源静态文件是不变的,因此不需要重复地从应用服务器中不断地抽取。动静分离后静态资源不再需要从服务器中获取就节省了服务器的带宽静态资源响应也就更快一些
那ng实现动静分离的原理是啥?
带正则匹配的location来指定匹配项来区分动态和静态的文件来进行处理的。
单台服务器实现动静分离从ng中获取location{rootappngstaticRout;index。php;}location。(pngjpgmp4){指定图片路径rootappngstaticRoutimages;压缩gzipon;。。。。。}指向其他服务器location。php{staticRoutpass127。0。0。1:8900;。。。。。}
多台服务器实现动静分离静态资源upstreamstatic{server127。0。0。1:800;}动态资源upstreamdynamic{server127。0。0。1:801;}server{listen80;servernamejimmy。com;location。(jpgpnggif){proxypasshttp:static;proxysetheaderHosthttphost;}location。jsp{proxypasshttp:dynamic;proxysetheaderHosthttphost;}}https配置
https交互过程
浏览器使用公钥,把数据加密后,再发送出去。经过公钥加密内容,只有有私钥才能解密读取
nginx配置https的时候,需要两个东西:(此两样需购买)key,私钥。放在nginx服务器里面,仅此一份证书,公钥,供浏览器去下载
配置参考官网:
http:nginx。orgendocshttpconfiguringhttpsservers。htmlserver{listen443ssl;servernamewww。example。com;sslcertificatewww。example。com。crt;sslcertificatekeywww。example。com。key;。。。}
openssl安装(略)
自己生成公钥私钥测试(仅能测试,不能用于生产)创建服务器私钥执行后输入密码(自己设置)opensslgenrsades3outserver。key1024创建签名请求证书(CSR)opensslreqnewkeyserver。keyoutserver。csr加载ssl支持ng并去除私钥密码opensslrsainserver。keyoutservernopass。key最后标记证书使用啥该的私钥和csropensslx509reqdays365inserver。csrsignkeys
封面图(侵权删)