events { worker_connections 4096; } http { access_log /dev/stdout; # Log access to stdout error_log /dev/stdout; # Log errors to stdout # Log format log_format main '[$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; include mime.types; # Include the mime types file default_type application/octet-stream; # Default type sendfile on; # Send files directly from disk keepalive_timeout 15; # Keep connections alive for 15 seconds types_hash_max_size 4096; # Max number of mime types # TCP optimizations tcp_nopush on; # Send headers in one packet tcp_nodelay on; # Don't wait for packets to be full server { server_name _; # Listen on all hostnames listen 80; # Listen on port 80 root /var/www/html; # Serve files from /var/www/html index index.html index.htm; # Serve index.html and index.htm by default # Gzip gzip on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level 8; gzip_buffers 16 64k; gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript; client_max_body_size 500M; # Will get replaced by the environment variable MAX_UPLOAD_SIZE # Upload endpoint location /upload.php { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php8.1-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; } # Serve your files location / { expires 7d; open_file_cache max=1000 inactive=60s; open_file_cache_valid 60s; open_file_cache_min_uses 1; open_file_cache_errors on; # Serve the file directly from disk try_files $uri $uri/ =404; } } }