刚入门pythonweb的时候不知道nginx的配置文件为何物,也不知道怎么配置,找不到静态文件是很正常的。

首先举个栗子:

如果你web移植到服务器端后找不到静态文件,首先打开页面-》右键-》检查元素。

如果没有出现这些内容,看右上角红点,点击,如下,我有13个错误

然后把鼠标移到文件名上:如上图我的第一个文件是morris.css。鼠标放在上面会显示页面访问的完整路径。

我第一个文件显示的路径是http:10.10.10.10:5000/static/css/morris.css.

然而我确实有static文件夹,static文件夹下面也有css文件夹,css下也有这个文件。为什么找不到呢?因为root设置错了。

morris的绝对路径为:/home/kzl/data/app/static/css/morris.css。

设置location如下:(location在nginx的配置文件中配置)

location ~.*(js|css|png|gif|jpg|mp3|ogg)$ {root /home/kzl/data/app/;}

这个location说明如果你要访问js,css,png...结尾的文件,你需要在你的访问路径前加上root。

这个root实际上就是替换了网页上的http:10.10.10.10:5000。如果加了这个location,那么网页在访问http:10.10.10.10:5000/static/css/morris.css.这个路径的时候,因为文件结尾是css匹配到了这个location,然后网页就会访问

root+[匹配路径],即为:/home/kzl/data/app/static/css/morris.css,这样就找到文件了。

其次深入学习:

然后安利一个介绍location解析的博客,说明了location的匹配路径。location这个关键字就是用来定位文件的。

https://moonbingbing.gitbooks.io/openresty-best-practices/ngx/nginx_local_pcre.html

知道了location的基本匹配规则,相信应该读者对nginx配置文件中(我的在/安装路径/nginx/conf/nginx.conf中)的location有了一个清晰的认识。接下来我们来了解一下location里面的root是做什么的。

上面的网站介绍了location的匹配规则,是指访问什么url的时候会触发这个location,然而,触发了location匹配之后,我们到哪里去读文件呢?这就关乎root的配置了。

举个例子:

url访问的是http:10.10.10.10:5050/data/my/kzl.css,怎么样知道服务器端是这个路径呢?,打开你的网页,右键查看源码,在html的head里面就有。

定义location:(这是另外一种定义location的方式,通过路径来定义)

location /my/ {root /data;
}

当访问kzl.css这个文件时,触发这个location,然后这个location会在

root + 【匹配路径】 这个路径中找文件。在此处就是在http:10.10.10.10:5050/data/my/目录下找kzl.css。这样就可以找到文件了。

此外:更改配置文件之后,注意需要清除浏览器缓存,谷歌浏览器快捷键:ctrl+shift+delete,清除缓存后再次刷新网页即可。

其实除了root之外,还有令一种配置路径的方式:详见:https://blog.csdn.net/line_aijava/article/details/71473793

nginx找不到静态(css,js,html)文件404报错,root的解析相关推荐

  1. vue如何通过Nginx代理做到跨域访问API接口 解决404报错

    最近和vue对接接口发现总是访问不到 404 发现原因是 vue 使用代理 访问接口的时候前面加了一层 例如 访问 api/index/index 实际是 api/api/index/index 找到 ...

  2. laravel路由不生效,404,除了/ 都不行,关于nginx环境下laravel除了默认路由都出现404报错的处理方法...

    其实出现这个问题只会出现在laravel被部署在二级目录中,其原因是,除了请求根目录/ (http://www.xxx.com/public/),会请求public/index.php 你在浏览器输入 ...

  3. tp view html 引用css,TP5.1:将外部资源引入到框架中(css/js/font文件)

    为了让我们的框架形式变得更加好看,我们需要加入Bootstrap和Jq文件到框架中 1.通过Bootstrap和jq官网进行相关文件的下载 (1)Bootstrap下载地址:https://v3.bo ...

  4. JAVA中解决Filter过滤掉css,js,图片文件等问题

    JAVA中解决Filter过滤掉css,js,图片文件等问题 参考文章: (1)JAVA中解决Filter过滤掉css,js,图片文件等问题 (2)https://www.cnblogs.com/er ...

  5. eclipse中对单独JS文件取消报错的处理

    eclipse中对单独JS文件取消报错的处理 eclipse中js文件报错的情况,或许大家早已习以为常了,那么有什么好的方法可以将其忽略掉呢?如果你也在寻找此问题,那么本文或许可以帮助到你 - 忽略某 ...

  6. Vivado2017.4运行时出现找不到VCOMP140.DLL,无法继续的报错

    Vivado2017.4运行时出现找不到VCOMP140.DLL,无法继续的报错 报错内容如下:    之前运行Vivado2017.4,没有出现过此类情况,上网查询后明白是安装了VC++(我安装的 ...

  7. Node.js 学习 ——nodemon 运行报错解决

    Node.js 学习 --nodemon 运行报错解决 报错记录 nodemon : 无法加载文件 C:\Users\Administrator.DESKTOP-0RUBNO7\AppDat on.p ...

  8. 关于Node.js的httpClieint请求报错ECONNRESET的原因和解决措施

    原文: 关于Node.js的httpClieint请求报错ECONNRESET的原因和解决措施 自己的一点理解: 1: Node.js提供的HttpServer默认设置了超时时间为2分钟,当一个请求的 ...

  9. html渐变编织背景,【报Bug】uniapp设置了css渐变背景色编译时会报错

    详细问题描述 css样式中设置了背景色的话在H5发行编译时会报错,不过在浏览器运行编译时未发生错误. 错误日志: [HBuilder] 15:14:32.364 Module build failed ...

最新文章

  1. OpenCV+python:读取图片和视频详细信息
  2. 将文件转为stream流_NIO之文件IO
  3. 迭代器(Iterator)遍历的两种方法(for和while)
  4. idea黑色好还是白色好_白色牛仔裤,好看又好搭
  5. 成为奥运冠军需要天赋和努力
  6. SpringBoot2.x 整合websocket 消息推送,单独发送信息,群发信息
  7. python中与0xf2相等的是_python中__str__与__repr__
  8. ES6高频面试题目整理
  9. centos7初始化脚本
  10. 一分钟看懂Docker的网络模式和跨主机通信
  11. 阿里安全SQL注入检测 前五名队伍分享
  12. iphone11 android,iphone11launcher
  13. 2019川大计算机在福建录取分数线,电子科技大学录取分数线2019(在各省市录取数据)...
  14. Python找出数组中重复数字
  15. ping服务器时显示的ttl是什么意思,ping命令显示的TTL是什么意思?
  16. Android Retrofit的学习
  17. PCM与DSD究竟是什么??
  18. 自写:二维码签到程序,功能咋能完善一些?
  19. ISO/IEC 14443协议浅谈:TYPE A与TYPE B
  20. Python 文件的读写模式

热门文章

  1. 分类汇总、数据有效性
  2. 基于局域网的超简易即时通讯软件(二)
  3. hypermesh导出cdb模型导入workbench ACP后set丢失
  4. 服务器调用打印机进行文档打印,云服务器怎么调用本地打印机
  5. [解决网络出现“正在连接”的问题]
  6. 小白都会用的低代码大数据ETL工具又来了
  7. C# 命令行如何静默调用 del 删除文件
  8. spring boot 根据模板导出word功能实现,包含html内容,及office打开乱码问题的解决!!!
  9. win10从服务器复制文件出现未知错误,win10系统打开公文包提示“发生未知错误 某些文件未复制”的处理办法...
  10. 解决ORA-00904: invalid identifier标识符无效