# ============================================================ # Nginx 静态文件服务器配置示例 # ============================================================ # # 功能说明: # - 静态文件服务,支持索引文件和目录浏览 # - try_files 支持 SPA 部署和 fallback # - sendfile 零拷贝传输优化 # # Lolly 对应配置: # server: # static: # - path: "/" # root: "/var/www/html" # index: ["index.html", "index.htm"] # try_files: ["$uri", "$uri/", "/index.html"] # SPA 部署 # try_files_pass: false # ============================================================ server { listen 80; server_name static.example.com; # 静态文件根目录 root /var/www/html; # 索引文件 index index.html index.htm index.php; # 零拷贝传输优化 sendfile on; sendfile_max_chunk 1m; tcp_nopush on; tcp_nodelay on; # 文件访问日志 access_log /var/log/nginx/static.access.log combined; # 主 location location / { # try_files: 按顺序尝试文件,最后 fallback 到 index.html # Lolly 对应: try_files: ["$uri", "$uri/", "/index.html"] try_files $uri $uri/ /index.html; # 目录浏览(可选) # autoindex on; # autoindex_exact_size off; # autoindex_localtime on; } # 静态资源缓存 location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff|woff2|ttf|eot)$ { expires 30d; add_header Cache-Control "public, immutable"; access_log off; } # 禁止访问隐藏文件 location ~ /\. { deny all; access_log off; log_not_found off; } # 自定义错误页面 # Lolly 对应: security.error_page.pages: {404: "/errors/404.html"} error_page 404 /errors/404.html; error_page 500 502 503 504 /errors/50x.html; location /errors/ { internal; root /var/www/errors; } }