Как проверить, что находится внутри корня nginx

#laravel #nginx #server #nginx-config #nginx-location

#ларавель #nginx #сервер #nginx-конфигурация #nginx-местоположение

Вопрос:

Я столкнулся с проблемой, когда try_files не может распознать статические файлы в моем корневом каталоге. Я уже проверил свой корень, то есть /var/www/public все файлы CSS и js находятся в этом каталоге и не пусты. Однако nginx не распознает и не обслуживает мои файлы. Он не распознает файлы, поэтому передал запрос в блок .php расположения для обработки uri, чего я не хочу. Я хочу, чтобы он напрямую обслуживал статические файлы. Поэтому я хотел бы проверить, смотрит ли nginx в тот же корневой каталог, что и я. Есть ли какой-нибудь способ проверить, что находится в каталоге, который nginx проверяет на наличие файлов? или как-нибудь я могу понять, в чем проблема? Заранее благодарю. Вот мой nginx.conf:

 server {  server_name example.com;  listen 80 ;  access_log /var/log/nginx/access.log vhost;  return 301 https://$host$request_uri; } server {  server_name example.com;  listen 443 ssl http2;  access_log /var/log/nginx/access.log vhost;  error_log /var/log/nginx/error_log;  include /etc/nginx/mime.types;  root /var/www/public;   ssl_certificate {ssl_certificate location};  ssl_certificate_key {ssl_certificate_key location};   add_header Strict-Transport-Security "max-age=31536000" always;  add_header X-Frame-Options "SAMEORIGIN";  add_header X-XSS-Protection "1; mode=block";  add_header X-Content-Type-Options "nosniff";   index index.php;   charset utf-8;   location / {  root /var/www/public;  try_files $uri $uri/ /index.php?$is_args$args;  }   location = /favicon.ico { access_log off; log_not_found off; }  location = /robots.txt { access_log off; log_not_found off; }   error_page 404 /index.php;   location ~ .php$ {  fastcgi_split_path_info ^(. .php)(/. )$;  fastcgi_pass {my_container_name}:9000;   fastcgi_index index.php;   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  fastcgi_param PATH_INFO $fastcgi_path_info;  fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;  include fastcgi_params;  }    location ~ /.(?!well-known).* {  deny all;  }  

Пожалуйста, обратите внимание, что я изменил имя сервера, информацию о ssl_certificate и имя контейнера docker в целях конфиденциальности.

Комментарии:

1. Проверьте журнал доступа, чтобы убедиться в правильности URI. Проверьте разрешения файлов, чтобы убедиться, что процесс Nginx может их прочитать.

Ответ №1:

Я отвечаю на свой собственный вопрос. Проблема заключалась в том, что я не подключил свой том приложения(том, в котором есть весь код и ресурсы) к своему контейнеру nginx. Проблема была решена после того, как я установил том.