在浏览器上运行我的IP ADDRESS时,我在屏幕底部找到了404 Not Found with 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错误但我无法获得太多信息以及如何检查这是否真的适用我的情况与否。有人能指出我如何解决这个问题的正确方向吗?我一直在通过采购(不是通过调用sudo apt-get install
)在Ubuntu上编译Nginx,因为这是我的指示。我知道Nginx正在运行,因为当我告诉它停止时有一个“无法连接:Firefox无法建立与服务器的连接......”,我只是坚持这个奇怪的问题。
如果提供的信息不充分,请告诉我,如果有,我应该添加哪些信息以使帖子更加清晰!谢谢!
答案 0 :(得分:1)
确保您的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_name/Documents/your_proj
文件,如上面的配置所示。