nginx配置踩坑

博主在本文中探讨了Nginx配置更改后,静态资源(如CSS和JS)加载未生效的问题。他们发现即使没有重启Nginx,HTML文件的更改仍能即时生效,而JS文件则需要清除浏览器缓存才可见更新。通过实验,确认了URL路径、Nginx配置以及浏览器缓存对资源加载的影响,并强调了正确理解和管理这些因素的重要性。

如题:
在这里插入图片描述
留意我上面的红色框 文件地址 和 sublime ngingx.conf 没有原点表示已经保存
下面是 css js的统一代理到 localhost:8081下 (8081开启的是我后台的服务器 但是该无服务器对应路径并没有对应的js css文件) 所以按道理 如果浏览器 走了nginx代理 css js 是不会成功加载的

但是:
在这里插入图片描述

可以看出 配置确实没有生效 还是localhost:80

我怀疑是我改了 nginx.conf 没有重新启动nginx
所以现在我再去试一下
在这里插入图片描述
结果如第二张图 一样还是成功的 并且还是localhost:80

当然还有一种可能就是 我配置 css js 的location没有生效 而是直接用的html里的url拼接跳转
在这里插入图片描述

所以我们把location删除 再试试

结果还是成功
我们再把href里的路径改下 确定是否是这里url的作用

注意我们这次直接改的html文件 并没有重启nginx

在这里插入图片描述
我们在static后面加了个3 发现404
由此可见确实是href 起的作用

最后通过这个href 可以发现 上面的url是跟着nginx / 的根目录下 相加而来的
例如
我js 的path
E:\Program Files\nginx-1.12.2\html\static\js\xxxx.js
location /{
root html;//意味着 / 匹配到html下
}
所以我们href 为/static/xxx/zzz.js时
最后的路径为
localhost/static/xxx/zzz.js
但是是去本机的html/static 里去找的

最后判断一下 /static/中 前面/ 的影响
不加变成了这样
在这里插入图片描述

在这里插入图片描述
所以 前面加上/表示在templates 本级目录或者说html下级目录找
不加表示在templates 下级目录找

下面是玄学问题:
在这里插入图片描述
这个地方来的js
和我本地的不一样 我晕
重启试试
成功了
SO 为什么 html可以不用重启生效 而js 就要 。。。。。

然后为什么调用的还是80端口的
在这里插入图片描述
玄学???
然后发现
在这里插入图片描述
是浏览器缓存吗。 。。清除试试
真的是浏览器缓存 我干

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值