Apache 使用Nginx Web服务器时找不到404
在浏览器上运行我的IP地址时,屏幕底部出现了一个404,但没有找到nginx/1.8.0。我知道这是一个经常被问到的问题,因为我看到过多篇关于这个问题的帖子,我花了4-5个小时浏览了这些帖子,但由于某种原因,我仍然无法解决这个问题。所以现在我知道必须编辑nginx.conf文件,以反映HTML文件的正确路径。这是默认情况下我的nginx.conf文件的样子: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
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
旁边给出的路径中。如果有关系,我使用的是绝对路径,而不是相对路径。Couldserver\u name
有什么不同吗?Mines只是声明了localhost,我不太确定它表示了什么。是的,有一个127.0.0.1 localhost
。我只是很困惑为什么会显示这个错误……它一定是非常愚蠢的东西,但我找不到它。我现在只使用了一个html文件。我必须用它构建快速CGInginx但是现在我在正确运行nginx时遇到了问题,所以还没有查看快速CGI部分。我尝试从“您应该检查这是否适合您:”复制粘贴:但它仍然导致找不到相同的404。这可能与PHP有关吗?在研究此问题时,这似乎是一个常见的问题,但我使用的是index.html,一个html文件,因此我觉得它不太适用。检查NginX以查看它使用的配置。先停止NginXNginX-s Stop
然后运行NginX-t>nginxT showConfigs.txt
,然后在文本编辑器(如nano nginxT showConfigs.txt)中打开该txt文件,查看它读取的每个文件,以及每个文件的内容,按照读取顺序。注意:-t测试nginx.conf,但-t(capitol)输出配置,然后测试nginx.conf。