Apache 使用Nginx Web服务器时找不到404

Apache 使用Nginx Web服务器时找不到404,apache,ubuntu,nginx,path,http-status-code-404,Apache,Ubuntu,Nginx,Path,Http Status Code 404,在浏览器上运行我的IP地址时,屏幕底部出现了一个404,但没有找到nginx/1.8.0。我知道这是一个经常被问到的问题,因为我看到过多篇关于这个问题的帖子,我花了4-5个小时浏览了这些帖子,但由于某种原因,我仍然无法解决这个问题。所以现在我知道必须编辑nginx.conf文件,以反映HTML文件的正确路径。这是默认情况下我的nginx.conf文件的样子: worker_processes 2; pid logs/nginx.pid; error_log syslog:ser

在浏览器上运行我的IP地址时,屏幕底部出现了一个404,但没有找到nginx/1.8.0。我知道这是一个经常被问到的问题,因为我看到过多篇关于这个问题的帖子,我花了4-5个小时浏览了这些帖子,但由于某种原因,我仍然无法解决这个问题。所以现在我知道必须编辑nginx.conf文件,以反映HTML文件的正确路径。这是默认情况下我的nginx.conf文件的样子:

worker_processes  2;

pid        logs/nginx.pid;
error_log syslog:server=unix:/dev/log,facility=local7,tag=nginx,severity=error;

events {
worker_connections  1024;
}


http {
include       mime.types;
default_type  application/octet-stream;

access_log syslog:server=unix:/dev/log,facility=local7,tag=nginx,severity=info combined;

sendfile        on;
keepalive_timeout  65;


server {
    listen       80;
    server_name  localhost;

    location / {
     root   html;

    index  index.html index.htm;
        autoindex on;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}
}
因此,在查看了.conf文件之后,我意识到
root/path/
可能是问题的根源。因此,我所做的是转到目录中的index.html文件,在其上运行
pwd
,并用这个pwd值替换路径。然后,我再次构建/制作nginx,并重新启动了nginx。但是,这仍然会导致404 Not Found错误,因此我不确定是否误解了root的含义,或者是否存在其他问题。我还意识到从Apache切换到Nginx可能会出现一些问题,如果处理不当,这可能会导致404 Not Found错误,尽管我无法获得太多信息以及如何检查这是否真正适用于我的情况。有人能告诉我如何解决这个问题的正确方向吗?我一直在Ubuntu上通过外包(不是通过调用
sudo apt get install
)编译Nginx,因为这是我被指示要做的事情。我知道Nginx正在运行,因为当我告诉它停止时,出现了一个“无法连接:Firefox无法在…建立到服务器的连接”,我只是被这个奇怪的问题卡住了


请让我知道是否提供了不充分的信息,如果是的话,我应该添加哪些信息以使文章更清楚!谢谢大家!

确保您的
nginx.conf
文件的外观如下所示:

worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   /home/user_name/Documents/your_proj; # You need to provide here the path of your "index.html" file
            index  index.html index.htm;
        }
}

您的目录下必须有一个
index.html
index.htm
文件
/home/user\u name/Documents/your\u proj
,如上述配置所示。

您是否尝试在
位置/{root html;..
带有指向您的
index.html
文件所在目录的路径(例如:
/home/user/Documents/MyProject
)?是的,所以我在目录中找到了我的index.html文件并在其上运行了pwd,并用此pwd值替换了旧路径。基本上它看起来像
位置/{root/home/parallels/Desktop/MyProject/nginx/html;
我也不知道这是否需要编辑,但是有一个名为nginx.conf.default的文件看起来就像nginx.conf。唯一的区别是每次我构建/生成nginx时,这个nginx.conf.default都会返回到它的默认值(因此,即使我更改了路径,如果我想创建新的二进制文件并构建nginx,我的更改也会消失)。你认为我应该花更多的时间关注这个nginx.conf.default文件并在那里进行更改吗?我认为,你应该配置
nginx.conf
文件,而不是
nginx.conf.default
。好的,这就是我的想法。是的,不幸的是,我必须在线克隆一个repo并利用它,而这个repo就是nginx 1.8。我看d在你提到的链接上,但似乎正确答案中的建议都不适用,因为它们对我来说都不是问题。谢谢你的链接!嗯,看到我有类似的东西,我的index.html位于我在
root
旁边给出的路径中。如果有关系,我使用的是绝对路径,而不是相对路径。Could
server\u name
有什么不同吗?Mines只是声明了localhost,我不太确定它表示了什么。是的,有一个
127.0.0.1 localhost
。我只是很困惑为什么会显示这个错误……它一定是非常愚蠢的东西,但我找不到它。我现在只使用了一个html文件。我必须用它构建快速CGInginx但是现在我在正确运行nginx时遇到了问题,所以还没有查看快速CGI部分。我尝试从“您应该检查这是否适合您:”复制粘贴:但它仍然导致找不到相同的404。这可能与PHP有关吗?在研究此问题时,这似乎是一个常见的问题,但我使用的是index.html,一个html文件,因此我觉得它不太适用。检查NginX以查看它使用的配置。先停止NginX
NginX-s Stop
然后运行
NginX-t>nginxT showConfigs.txt
,然后在文本编辑器(如
nano nginxT showConfigs.txt)中打开该txt文件,查看它读取的每个文件,以及每个文件的内容,按照读取顺序。注意:-t测试nginx.conf,但-t(capitol)输出配置,然后测试nginx.conf。