Назад | Перейти на главную страницу

Drupal 8 + nginx + php 7 Стиль изображения: не удалось создать файл или папку

Я запускаю Drupal 8.5.3 на Centos7 с Nginx + PHP7 + PHP 7 FPM После успешного запуска установки Drupal я хочу добавить статью, но изображение thumbnai возвращает ошибку 404. Изображение загружается в папку sites / default / files, но папку стиля изображения создать нельзя. Мой статус drupal и Ошибка стиля изображения 404 после загрузки изображения для статьи

Это мой конфиг nginx

server {
        listen 80;

        # access_log off;
        access_log /home/drupal8.mds.com.vn/logs/access.log;
        # error_log off;
        error_log /home/drupal8.mds.com.vn/logs/error.log;

        root /home/drupal8.mds.com.vn/public_html;
        index index.php index.html index.htm;
        server_name drupal8.mds.com.vn;

        # Custom configuration
        include /home/drupal8.mds.com.vn/public_html/*.conf;

        location / {
                #try_files $uri $uri/ /index.php?$args;
                try_files $uri /index.php?$query_string;
        }

        location ~ '\.php$|^/update.php' {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                #fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
                #fastcgi_split_path_info ^(.+\.php)(/.+)$;
                include /etc/nginx/fastcgi_params;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_connect_timeout 300;
                fastcgi_send_timeout 300;
                fastcgi_read_timeout 300;
                fastcgi_buffer_size 32k;
                fastcgi_buffers 8 16k;
                fastcgi_busy_buffers_size 32k;
                fastcgi_temp_file_write_size 32k;
                fastcgi_intercept_errors on;
                fastcgi_param SCRIPT_FILENAME home/drupal8.mds.com.vn/public_html$fastcgi_script_name;
    }
        location ~ /\.(?!well-known).* {
                deny all;
                access_log off;
                log_not_found off;
        }

        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }

        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }
       location ~* \.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|is$
                gzip_static off;
                add_header Pragma public;
                add_header Cache-Control "public, must-revalidate, proxy-revalidate";
                access_log off;
                expires 30d;
                break;
        }

        location ~* \.(txt|js|css)$ {
                add_header Pragma public;
                add_header Cache-Control "public, must-revalidate, proxy-revalidate";
                access_log off;
                expires 30d;
                break;
        }

     location ~ \..*/.*\.php$ {
        return 403;
    }

    location ~ ^/sites/.*/private/ {
        return 403;
    }
    location ~* ^/.well-known/ {
        allow all;
    }

    location ~ (^|/)\. {
        return 403;
    }

    location @rewrite {
        rewrite ^/(.*)$ /index.php?q=$1;
    }

    location ~ /vendor/.*\.php$ {
        deny all;
        return 404;
    }
     location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7
        try_files $uri @rewrite;
    }

    location ~ ^(/[a-z\-]+)?/system/files/ { # For Drupal >= 7
        try_files $uri /index.php?$query_string;
    }
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        try_files $uri @rewrite;
        expires max;
        log_not_found off;
    }

}

Для drupal 7 у меня такая же проблема, но я могу взломать ядро ​​в модулях / функции изображения image_style_url ($ style_name, $ path) {

  //Create derivated image if not exist ductm add
  if(!file_exists($file_url) && !file_exists($uri)){
    if(file_exists($path)){
      $currentStyle = image_style_load($style_name);
      image_style_create_derivative($currentStyle, $path, $uri);
    }
  }

  return $file_url;

разрешение nginx user sites / default / files / styles

Насколько я знаю чтобы разобраться в этой проблеме, вы должны проверить следующие параметры:

Прогулка по | :

Проверьте папку и права доступа к подпапке, убедитесь, что для папки загрузки достаточно разрешений 0755.

Проверьте указанные ниже каталоги, чтобы узнать больше о том, что происходит, когда вы попадаете на страницу 404 not found в журналах:

/var/log/nginx/*

/var/logs/nginx/*