server { listen 80 default; client_max_body_size 128M; access_log /var/log/nginx/access.log; root /var/www/html; index index.php; # try to serve file directly, fallback to index.php location / { try_files $uri $uri/ =404; index index.php index.html; } if (!-e $request_filename) { rewrite ^.*$ /index.php last; } # Forbidden directories location ~ ^/(inc|lib|system)/ { deny all; return 403; } location ~ ^/files/(protected|upload|share)/ { deny all; return 403; } location ~ /\.ht { deny all; return 403; } # Use default favicon, so no entries will appear in the errorlog location ~ ^/.*/favicon\.ico$ { try_files /favicon.ico =404; } location ~ \.php$ { try_files $uri =404; fastcgi_pass php-fpm:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PHP_VALUE "error_log=/var/log/nginx/application_php_errors.log"; fastcgi_buffers 16 16k; fastcgi_buffer_size 32k; include fastcgi_params; } }