user nginx nginx; daemon off; worker_processes 4; pid /var/run/nginx.pid; events { worker_connections 768; } http { include mime.types; default_type application/octet-stream; keepalive_timeout 20; client_max_body_size 10m; index index.html index.php; server { listen 80; root /var/www/shaarli; access_log /var/log/nginx/shaarli.access.log; error_log /var/log/nginx/shaarli.error.log; location ~* \.(?:ico|css|js|gif|jpe?g|png|ttf|oet|woff2?)$ { # cache static assets expires max; add_header Pragma public; add_header Cache-Control "public, must-revalidate, proxy-revalidate"; } location = /favicon.ico { # serve the Shaarli favicon from its custom location alias /var/www/shaarli/images/favicon.ico; } location /doc/html/ { default_type "text/html"; try_files $uri $uri/ $uri.html =404; } location / { # Slim - rewrite URLs & do NOT serve static files through this location try_files _ /index.php$is_args$args; } location ~ index\.php$ { # Slim - split URL path into (script_filename, path_info) try_files $uri =404; fastcgi_split_path_info ^(index.php)(/.+)$; # filter and proxy PHP requests to PHP-FPM fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_index index.php; include fastcgi.conf; } } }