Lab / Drupal 8

Drupal 8: Эффективная конфигурация для Nginx

В этой заметке я просто размещу конфигкрацию хоста на которой мне удалось добится наибольшей производительности от Drupal 8 в стеке LEMP

server {
 listen 80 default_server;
 listen [::]:80 default_server ipv6only=on;

 root /var/www/html/drupal;
 index index.php index.html index.htm;

 error_page 404 /404.html;
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root /usr/share/nginx/html;
 }

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

 location = /robots.txt {
 allow all;
 log_not_found off;
 access_log off;
 }

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

 location ~ ^/sites/.*/private/ {
 return 403;
 }

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

 location / {
 try_files $uri @rewrite;
 }

 location @rewrite {
 rewrite ^ /index.php;
 }

 # Workaround Drupal bug #2583799 - https://www.drupal.org/node/2583799
 rewrite ^/core/authorize.php/core/authorize.php(.*) /core/authorize.php?$1 permanent;

 location ~ '\.php$|^/update.php' {
 fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
 include fastcgi_params;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 fastcgi_intercept_errors on;
 fastcgi_pass unix:/var/run/php5-fpm.sock;
 }

 location ~ ^/sites/.*/files/imagecache/ {
 try_files $uri @rewrite;
 }

 location ~ ^/sites/.*/files/styles/ {
 try_files $uri @rewrite;
 }

 location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
 expires max;
 log_not_found off;
 }
}