1. 首页
  2. 软件开发
  3. 解决 Nginx出现 404 Not Found nginx/1.23.4 解决方案

解决 Nginx出现 404 Not Found nginx/1.23.4 解决方案

  • 发布于 2024-07-29
  • 13 次阅读

原文链接:https://blog.csdn.net/qq_44866828/article/details/139092939

正文

🔍 404 Not Found错误的原因分析

404 Not Found错误表示服务器无法找到请求的资源。造成这一问题的原因可能有很多,常见的包括:

配置文件错误:Nginx的配置文件中路径或文件名错误。

权限问题:Nginx进程对请求的资源没有适当的权限。

符号链接问题:请求的资源是一个符号链接,但链接指向的目标不可用或没有权限。

文件不存在:请求的文件确实不存在。

🛠️ 配置文件检查

检查Nginx配置文件

首先,我们需要检查Nginx的配置文件(通常位于/etc/nginx/nginx.conf或/etc/nginx/conf.d/目录中)。确保文件路径和名称正确无误。

server {

    listen 80;

    server_name example.com;

    

    location / {

        root /var/www/html;

        index index.html index.htm;

    }

    

    error_page 404 /404.html;

    location = /404.html {

        internal;

    }

}

路径和文件名

确保配置文件中的root和index指令正确指向存在的路径和文件。

🔒 权限设置

检查文件权限

Nginx进程需要对请求的文件具有读取权限。我们可以使用以下命令检查文件权限:

ls -la /var/www/html

确保文件和目录的权限设置合理,例如:

chmod 755 /var/www/html

chmod 644 /var/www/html/index.html

🔗 符号链接问题

如果请求的资源是一个符号链接,确保链接指向的目标存在并且有适当的权限。

ls -l /var/www/html/symlink

📝 文件不存在

如果请求的文件不存在,需要创建该文件或修改配置以指向正确的文件。

touch /var/www/html/index.html

❓ QA环节

Q: 为什么我修改了配置文件,还是404错误?

A: 确保修改后重新加载Nginx配置文件:

sudo nginx -s reload

Q: 如何检查Nginx日志来定位问题?

A: Nginx的错误日志通常位于/var/log/nginx/error.log。可以使用以下命令查看日志:

tail -f /var/log/nginx/error.log