阅读:2904回复:1
Nginx 报404问题,如何解决?
近日在部署项目时,出现了一些问题,如图
正常的登录界面是可以访问的,但是在登录之后访问之后的地址会报404错误,于是去查看是否配置有错误,但是查看之后发现,nginx.conf与config.js两个配置文件的ip和端口都是没有错误的 这个项目部署过好多次,没有出现过这样的错误。 这是原版没动过的解压缩后的nginx.conf的源文件 圈起来的地方是应该按照项目配置对应的ip和监听的端口 listen对应的是端口,server_name对应的是访问的ip 但是发现当我去修改为实际ip和端口还是不能解决问题,经过查阅官方文档,了解到我们需要添加如下的一句话: try_files $uri $uri/ /index.html; 记住,$uri是两个啊!!!!即$uri $uri(两个$uri之间有空格)! 这句话的作用是嘛呢? 用官方解释就是: Checks the existence of files in the specified order and uses the first found file for request processing; the processing is performed in the current context. The path to a file is constructed from the file parameter according to the root and alias directives. It is possible to check directory’s existence by specifying a slash at the end of a name, e.g. “$uri/”. If none of the files were found, an internal redirect to the uri specified in the last parameter is made. 简单的翻译一下大致意思,差不多相当于高考报志愿这么个意思,从一志愿一直找到最后一个志愿,如果其中有满足要求的,那恭喜你考上了,找到最后一个都没有,那不好意思,清华落榜生就是你了! 用在Nginx中就是项目在加载的时候找文件用的,按照你给的文件顺序,一个一个的找,要是找到了就显示,找不到就显示404(文件路径丢失错误)。 添加的位置应当在这里: 在server下的location段里添加,此时再重新启动nginx就可以了 在nginx.exe所在的目录内,点击地址栏,输入cmd,可直接在该目录下启动命令行,无需打开cmd后再跳转目录。 若之前没有关闭nginx服务,先停止再打开,如果已关闭,可以直接输入启动服务的命令 停止nginx服务命令: nginx -s stop 启动nginx服务命令: start nginx 热部署nignx服务命令: (但是不推荐使用这个命令,这个命令有时候是不起作用的,不如直接停了再启动) nginx -s reload 重新启动nginx后,浏览器最好是清除缓存后再进行测试 可以直接在浏览器窗口按 Ctrl+Shift+Del 可直接打开清除缓存的对话框 重新测试,可以正常访问了 ———————————————— 版权声明:本文为CSDN博主「劉汉卿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/Bean_ph/article/details/121373102 |
|
沙发#
发布于:2023-03-30 14:28
https://blog.csdn.net/Bean_ph/article/details/121373102?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-121373102-blog-110542820.235^v27^pc_relevant_multi_platform_whitelistv3&spm=1001.2101.3001.4242.2&utm_relevant_index=4
|
|