20170807

问题描述

  • 使用nginx做服务器请求静态文件
  • 将配置文件和静态文件采用volumes的方式映射进入
  • 访问路径发现ngixn 404

解决步骤

  • Q1: 考虑这个出现404,必然是两种情况,第一是资源或者配置文件不在容器对应的路径之下,第二是配置文件路径有问题。那么该如何确定?
  • A1: 最好确定的是就是资源,进入容器查看资源是否存在在对应路径下。这里我经常出现的问题在于三部分:
    1. 映射的源文件给错,导致资源无法映射进入,还在错误的源文件路径下创建了一个空文件夹(这是volumes的机制,不论原路径还是目标路径只要对应文件/文件夹不存在一定会在对应路径下创建一个同名文件夹
    //例子
     volumes: 
       - ./default.conf:/etc/nginx/conf.d/default.conf
       //正确的源文件路径在./nginx/default.conf,以上给了错误的路径,导致在./default.conf处创建了一个名字叫做default.conf的件夹
    
    1. 访问到了正确的资源路径却出现403错误:这通常是访问到了正确的资源路径,但是资源的权限或者类型(你要文件,但是真正资源是文件夹)不对
    volumes:
       - ./nginx/images/zhao.jpg:/var/images/zhao.jpg
       //当源文件路径不对,就会创建一个叫做zhao.jpg的文件夹,此时如果你访问了对的路由,那么必然出现403错误
    
    1. nginx配置文件的存放位置和命名有问题:根据官网要求:需要把ngixn的配置文件存放在/usr/local/nginx/conf或者/etc/nginx或者 /usr/local/etc/nginx下面。并且通常命名为nginx.conf

  • Q2:如果不是资源或者数据的路径存放有问题,如果是配置有问题,比如alias/root/proxy_pass配置错误,他们在页面上都出现的是你请求的路径,并不能看到你真正的路径,但又报错,这时候该怎么办?
  • A2:最有效的办法必然是打印错误日志docker logs nginx直接可以查看到请求的路径域名method各种信息。本问题就是打印了日志之后发现alias配置有问题alias要求其值也就是路径必须以/结尾用个例子简单说明:
location /api/ {
    alias /web/app;
}
//请求:http://localhost:8080/api/zhang.jpg
经过alias--->  http://localhost:8080web/app/zhao.jpg
可以看出路径有问题:alias会将和location匹配的部分全部去掉因此原请求中的/api/会被去掉,剩下zhang.jpg直接拼接在app之后因此解决办法有两种


location /api {
    alias /web/app;
}或者
location /api/ {
    alias /web/app/;
}

----->每次修改了配置文件别忘记重启nginx(docker restart nginx

心得

  • 遇到bug,以前先是脑子空了很生气,不知道怎么办。然后就是不管三七二十一,直接复制错误搜索答案。再后来是猜测可能什么问题。直到现在,必须改变,找错误日志,读懂错误,然后再考虑可能的原因,再去根据猜测的原因搜索这才是正解,但这一切基于是否能静下心来读懂英语。所以以后必须强迫自己读懂
  • 对于以后阅读英语,绝对不允许自己读完一句话啥也没懂,一点没有收获,一句两句多了就浪费时间了。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,598评论 18 139
  • 《老男孩Linux运维》笔记 隐藏Nginx软件版本号 一般来说,软件的漏洞都和版本有关。因此要尽量隐藏对访问用户...
    Zhang21阅读 3,624评论 0 28
  • 上一篇《WEB请求处理一:浏览器请求发起处理》,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建...
    七寸知架构阅读 80,921评论 21 356
  • 今天晚上首先感谢女儿同意给我买个更好质量的破壁机800元,是奥克斯,原价1300现在便宜500。与一般的相...
    云海天11阅读 1,292评论 0 0
  • 今天我阅读了泉正人的《超级整理术》。 这是一本旨在帮助上班族提高工作效率的书。 整理的目的是提高工作效率 我相信,...
    noving阅读 277评论 4 3