应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

nginx处理静态资源

10935人阅读 2019/6/14 17:44 总访问:5182515 评论:1 收藏:0 手机
分类: 软件架构


如果我们使用了nginx反向代理后,直接去项目中请求我们的静态资源会比较慢,当然我们有条件使用cdn更好,没有

不使用cdn,也可以我们请求静态资源直接请求nginx就不转发一次了也可以提高一点访问的效率。


简单的配置文件:

  1.     server {
  2.         listen       8090 ;
  3.         server_name  localhost;
  4.         #charset koi8-r;
  5.         #access_log  logs/host.access.log  main;
  6.         location / {               #其他资源只能走转发即可
  7.             root   html;
  8.             index  index.html index.htm;
  9.             proxy_pass  http://localhost;
  10.         }
  11.         location ~.*\.(js|css|jpg|png)?$  #监听静态资源的请求
  12.         {         
  13.         root C:/Users/Administrator/Desktop/nginx-1.12.2/nginx-1.12.2;#设置静态资源的存储位置
  14.         expires 1h;
  15.         }
  16.     }

这里主要就是两个东西:

一个是接听静态资源的请求:

  1. location ~.*\.(js|css|jpg|png)?$

一个就是请求的具体地址:

  1. root C:/Users/Administrator/Desktop/nginx-1.12.2/nginx-1.12.2;#设置静态资源的存储位置


我们在nginx所在目录新建了一个content文件夹,然后你们放了几个简单的css,js

如果配置成功后,我们访问静态资源,就可以不需要转发一次了,直接就请求nginx下面的资源



当然配置一次可能访问会不成功,看日志,看日志!,nginx的日志是个好东西,一般都是路径错误什么的,

仔细检查一下就知道了。


比如我们把静态资源的路径配置成这样:就是一个/

  1. location ~.*\.(js|css|jpg|png)?$  #监听静态资源的请求
  2. {         
  3. root /;#静态资源的路径
  4. expires 1h;
  5. }

然后我们在去访问资源就会访问不到:

日志就会发现是路径不对:

看路径就会知道它请求的地址是:C:/content/mystyle.css,但是我们真正的资源地址并不是整个,所以找不到就会报错了

,它认为/就是c盘了。


配置成相对路径的学习过程

 总感觉写绝对路径不好 ,nginx换了位置后就访问不到了,当然也许我们做分布式文件存储不会把到放到nginx的文件夹中去,但是还是可以尝试一下,nginx相对路径的配置方法


直接设置成root的尝试:

  1. location ~.*\.(js|css|jpg|png)?$  #监听静态资源的请求
  2. {         
  3. root root;#静态资源的路径
  4. expires 1h;
  5. }

但是访问并不行找的路径是这个:  路径多了一个root出来

然后我就想,既然多了一个root出来,那我不写行不行,然后试了一下不行留空是不行的!

然后尝试了一下留一个空字符串就行了!

  1. location ~.*\.(js|css|jpg|png)?$  #监听静态资源的请求
  2. {         
  3. root "";#静态资源的路径,留空字符串表示跟目录
  4. expires 1h;
  5. }

多思考对尝试实践中真理






欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

饰心

2019/6/18 9:32:41

[good][good][good]

nginx常用命令。nginx启动命令。nginx重启命令。nginx关闭命令。nginx测试配置文件是否正确。nginx nginx.pid文件丢失报错

启动命令:start nginx 关闭命令:nginx -s stop nginx -s quit nginx -s stop与nginx -s quit区别 Quit is a graceful shu...

nginx配置负载均衡注意事项

一.如果location下面的proxy_pass配置有端口号nginx就会直接反向代理到这个地址这样你配置的upstream就没有用了,即使名字和...

nginx反向代理负载均衡

nginx介绍nginx是一个高效的反向代理工具,可以很方便的实现服务的负载均衡反向代理方式实际上就是一台负责转发的代理服务器...

使用nginx在同一台服务器上配置多个二级域名

一般二级域名都是解析到不同的服务器上,但是很多时候没有那么土豪可以用那么多服务器哇。当然土豪完全可以1个二级域名一台...

使用nginx在同一台服务器上配置多个二级域名2

在第一篇中介绍了一种方法:http://www.tnblog.net/aojiancc2/article/details/2430其实还可以使用第二种方法,也就是配置...

nginx配置注意事项

一.要注意后面要加一个分号:不然就会报这个错:

使用nginx后net core无法获取ip问题

使用了nginx后net core获取ip地址居然全部是本地的地址,不是外网的地址这是因为nginx转发了一次后,我们直接使用常规获取i...

.net Core3.0在Ubuntu 16.04上面的部署(Supervisor+nginx)(扩展docker)

前 言Linux 随着Linux越来越流行,本人一个.net程序员也多次研究linux与.net的相关产品,以及中间件的使用方式。So今天给...

nginx四层负载均衡

实验环境CentOS-7-x86_64-DVD-1810.iso本机IP:10.4.7.11安装Nginx执行安装命令yuminstallnginx-y配置Nginx通过 Vim打开Ngi...

nginx https的证书配置与301跳转

在 etc/nginx/ 目录下新建 ssl 文件夹来存放证书。把 crt 证书文件和 key 私钥文件上传到这里。然后就可以配置 Nginx 配置...

windows nginx配置https证书

windows nginx配置https证书还是比较简单的我这里申请的证书是阿里云的,去下载nginx版本的解压后有两个文件一个.key,一个....

nginx bind() to 0.0.0.0:443 failed

就是因为443端口被占用了而已!,找到占用的端口停掉即可。可以参考:http://www.tnblog.net/aojiancc/article/details/3319

nginx重启无效

有可能是因为nginx打开了多个,在应用程序中看看

nginx 静态资源gzip压缩与缓存,解决静态资源加载慢的问题

在http模块中开启gzip压缩# 开启gzip gzip on; # 启用gzip压缩的最小文件,小于设置值的文件将不会压缩 gzip_min_lengt...

nginx限制文件上传大小

有些时候用了nginx,除了项目本身要配置上传大小限制,nginx也要限制 直接贴代码吧 location / { proxy_set_header X...