ready
论坛版主
论坛版主
  • UID24
  • 粉丝0
  • 关注0
  • 发帖数433
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:2904回复:1

Nginx 报404问题,如何解决?

楼主#
更多 发布于:2023-03-30 14:28
近日在部署项目时,出现了一些问题,如图





正常的登录界面是可以访问的,但是在登录之后访问之后的地址会报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
ready
论坛版主
论坛版主
  • UID24
  • 粉丝0
  • 关注0
  • 发帖数433
  • 社区居民
  • 忠实会员
  • 原创写手
沙发#
发布于:2023-03-30 14:28
游客


返回顶部