Nginx 404 排查

这是我参与11月更文挑战的第14天,活动详情查看:2021最后一次更文挑战

吃饱饭才有力气写代码~

前言

XDM,距离上次写文章已经过去两周了,起因是出差的时候生病了,加上这阵子心情很焦虑很迷茫,也就没继续分享学习笔记。其实前两天也还在焦虑,不知道你们刚毕业几个月的时候是什么样的心态,也可能是我个人的易焦虑体质吧,如果可以想听听你们的分享。进入正题,今天记录一下一个很典型的nginx相关的问题。

背景

产品迭代升级,做了一些功能上的调整,前端部分主要的调整是在原来的基础上新增了一个首页面。这次打完包验证的时候发现用户登陆之后出现了下面的情况:Nginx 404 Not Found(此处应该有图片,但是公司的网传不上去!)

排查思路

这次见到这个问题一点也不慌了,因为之前在开发环境遇到过这种情况,当时是新加了一个页面,打完包直接在移动端检查效果时发现出现了上述问题,当时首先想的是不会是代码有问题吧,然后又一想这只是加了一个单独的页面,自测时也可以正常跳转,所以排除代码问题。
顺着想就能定位到页面的跳转路径上,因为开发时用的跳转方式直接是:

this.$router.push({
          path: "/xntj",
          query: {
            way: this.topType,
          }
        });
复制代码

生产环境用的跳转方式是公司自己封装的:
var url = 'http://' + window.location.host + '/m-cases/xntj'
var routerSettings = {
    pushState: false,
    url: url,
    urlParams: {
       way: this.topType,
    }
};
mobile.app.router(routerSettings);
复制代码

本地跳转时路由走的是router.js里的,公司封装的跳转需要走nginx.conf里的配置;于是可以定位到nginx.conf;

解决

定位到nginx.conf之后就检查里面的路径,第一次遇到这个问题的解决方法就是把对应的路径加到nginx.conf里,修改完成后保存再上传到服务器上,最好先检查一下配置文件有没有报错(./nginx -t)之后执行

./nginx -s reload
复制代码

因为这个是在现场实施部署的,所以让现场人员检查了一下这个nginx.conf,发现他修改完之后没有覆盖掉原来的文件!然后就重启nginx,发现就没有报错了。 ## 总结 遇到问题要冷静,积累的多了就会了!共勉~

Guess you like

Origin juejin.im/post/7035152048475602958