使用 Nginx Web 服务器时找不到 404
404 Not Found when using Nginx Web Server
当 运行 我在浏览器上的 IP 地址时,屏幕底部显示 nginx/1.8.0 未找到 404。我知道这是一个经常被问到的问题,因为我在这个问题上看到了多个 posts,并且我在过去的 4-5 小时里浏览了那些 posts 但出于某种原因仍然无法解决此问题。所以现在我知道必须编辑 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 值替换路径。然后我再次进入 build/make nginx,我也重新启动了 nginx。但是,这仍然导致 404 Not Found 错误,所以我不确定我是否误解了 root 的含义或者是否存在其他问题。我也知道从 Apache 切换到 Nginx 可能会出现一些问题,如果处理不当,这可能会导致 404 Not Found 错误,尽管我无法获得太多信息以及如何检查这是否真正适用我的情况与否。谁能指出我如何解决这个问题的正确方向?我一直在通过采购(而不是通过调用 sudo apt-get install
)在 Ubuntu 上编译 Nginx,因为这是我被指示要做的。我知道 Nginx 是 运行,因为当我告诉它停止时有一个 "Unable to connect: Firefox can't establish a connection to the server at ...",我只是被困在这个奇怪的问题上。
如果提供的信息不充分,请告诉我,如果是,我应该添加哪些信息以使 post 更清楚!谢谢!
确保您的 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;
}
}
您的目录 /home/user_name/Documents/your_proj
下必须有一个 index.html
或 index.htm
文件,如上面的配置所示。
当 运行 我在浏览器上的 IP 地址时,屏幕底部显示 nginx/1.8.0 未找到 404。我知道这是一个经常被问到的问题,因为我在这个问题上看到了多个 posts,并且我在过去的 4-5 小时里浏览了那些 posts 但出于某种原因仍然无法解决此问题。所以现在我知道必须编辑 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 值替换路径。然后我再次进入 build/make nginx,我也重新启动了 nginx。但是,这仍然导致 404 Not Found 错误,所以我不确定我是否误解了 root 的含义或者是否存在其他问题。我也知道从 Apache 切换到 Nginx 可能会出现一些问题,如果处理不当,这可能会导致 404 Not Found 错误,尽管我无法获得太多信息以及如何检查这是否真正适用我的情况与否。谁能指出我如何解决这个问题的正确方向?我一直在通过采购(而不是通过调用 sudo apt-get install
)在 Ubuntu 上编译 Nginx,因为这是我被指示要做的。我知道 Nginx 是 运行,因为当我告诉它停止时有一个 "Unable to connect: Firefox can't establish a connection to the server at ...",我只是被困在这个奇怪的问题上。
如果提供的信息不充分,请告诉我,如果是,我应该添加哪些信息以使 post 更清楚!谢谢!
确保您的 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;
}
}
您的目录 /home/user_name/Documents/your_proj
下必须有一个 index.html
或 index.htm
文件,如上面的配置所示。