Nginx

nginx“root /parent/child”內部位置指令不起作用並顯示“404 Not found”

  • November 8, 2016

我正在學習 nginx 並參考書“nginx essential-valery kholodkov”來設置 nginx 1.8 和我使用 centos 7(selinux 已關閉)。

我對documentroot(如apache 2.x)預設配置進行了一些更改,當我添加如下位置/圖像時

server {
listen       80;
server_name  localhost;
#charset koi8-r;
#access_log  /var/log/nginx/log/host.access.log  main;

location / {
root /var/www/html/example.com;
index  index.html index.htm;
}
location /images {
root /disk2/images;
}

在瀏覽器上,當我瀏覽到 example.com/images/pen.jpg 時,我得到 404 not found 錯誤。但是當我使用別名時它會起作用並顯示 pen.jpg。以下是有效的配置(位置部分)

location /images {
alias /disk2/images;
}

我在這裡找到了我的解決方案,Shafiul karim 回答了nginx 上的多個根

Location指令系統就像您要轉發所有啟動**/static的請求,並且您的數據存在於/var/www/static** 中,因此下面的配置有效!

location /images {
root /disk2;
}

引用自:https://unix.stackexchange.com/questions/226942