Nginx может получить доступ к статической папке, но не к другим папкам внутри нее. Выбрасывает подпапку / index.html не найдено - PullRequest
2 голосов
/ 18 октября 2019

Я пытаюсь развернуть приложение django на облачной платформе Google. Я использую nginx и gunicorn. Я следую этому руководству .

Я создал файл - le_website - в папке sites-available. Это код -

server {

   listen 80;
   server_name 10.xxx.x.x;
   location = /favicon.ico {access_log off;log_not_found off;} 

   location = /static/ {
     root /home/jainpriyanshu1991/learnEarn/le-webiste;    
   }


   location = / {
     include proxy_params;
     proxy_pass http://unix:/home/jainpriyanshu1991/learnEarn/le-webiste/le_website.sock;
   }
 }

Когда я пытаюсь URL myIPaddress/static/, он работает и показывает папки внутри него. Но это не работает для любой подпапки в static. Это дает /usr/share/nginx/html/static/img/index.html не найден для папки img внутри static. Точно так же, когда я пытаюсь использовать URL myIPaddress/, он открывает домашнюю страницу веб-сайта, но, опять же, он не работает для любой другой ссылки и выдает ошибку. Примерно на странице выдается ошибка /usr/share/nginx/html/about не удалось (2: нет такого файла или каталога).

1 Ответ

1 голос
/ 18 октября 2019

В руководстве, которое вы читали, произошла ошибка. location = ... точно соответствует одному URI, тогда как вам необходимо сопоставить все URI ниже /static/.

Использование:

location = /favicon.ico { ... } 
location /static/ { ... }
location / { ... }

См. этот документ для получения подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...