Ubuntu

ubuntu 伺服器 10.04 nginx 404 錯誤

  • December 22, 2011

我想要做的是設置一個 Web 伺服器,用於在 VMware 中執行,IP 地址為 192.168.190.128。Nginx 已安裝並執行,我得到“歡迎使用 nginx”頁面。

但是,當我在“var/www”中創建一個子文件夾並嘗試點擊“ http://192.168.190.128/subfolder ”時,我收到 404 Not found 錯誤。這些文件歸 www-data 所有,並且 nginx 也在該帳戶上執行,所以我認為這不是權限問題。

這是我的 nginx 配置。

user www-data;
worker_processes  4;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
   worker_connections  1024;
   # multi_accept on;
}

http {
   include       /etc/nginx/mime.types;

   access_log  /var/log/nginx/access.log;

   sendfile        on;
   #tcp_nopush     on;

   #keepalive_timeout  0;
   keepalive_timeout  65;
   tcp_nodelay        on;

   gzip  on;
   gzip_disable "MSIE [1-6]\.(?!.*SV1)";

   include /etc/nginx/conf.d/*.conf;
   include /etc/nginx/sites-enabled/*;
}

這是啟用的站點中的預設伺服器配置:

server {
   listen   80 default;
   server_name  localhost;

   access_log  /var/log/nginx/localhost.access.log;

   location / {
       root   /var/www/;
       index  index.html index.htm index.php;
   }

   location /doc {
       root   /usr/share;
       autoindex on;
       allow 127.0.0.1;
       deny all;
   }

   location /images {
       root   /usr/share;
       autoindex on;
   }

   #error_page  404  /404.html;

   # redirect server error pages to the static page /50x.html
   #
   #error_page   500 502 503 504  /50x.html;
   #location = /50x.html {
   #   root   /var/www/nginx-default;
   #}

   # proxy the PHP scripts to Apache listening on 127.0.0.1:80
   #
   #location ~ \.php$ {
       #proxy_pass   http://127.0.0.1;
   #}

   # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
   #
   #location ~ \.php$ {
       #fastcgi_pass   127.0.0.1:9000;
       #fastcgi_index  index.php;
       #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
       #includefastcgi_params;
   #}

   # deny access to .htaccess files, if Apache's document root
   # concurs with nginx's one
   #
   location ~ /\.ht {
       deny  all;
   }
}

Nginx 的 Ubuntu 的預設根目錄是/var/www/nginx-default和不是/var/www

/var/www對於那些習慣使用 Debian 6預設的 Nginx 軟體包的人來說,這是一個相當大的驚喜。

我認為,你可以選擇另一個目錄然後 /var/www/nginx-default,但你必須使用這個指令:

root /var/www;

代替

root /var/www/;

引用自:https://serverfault.com/questions/343333