# 静态文件服务

URL: https://caijiao.org/nginx/static-files
Source: docs/nginx/static-files.md
Description: 本节介绍 Nginx 静态文件服务的配置方法，包括 root 设置、缓存、访问控制与性能优化，提高静态资源加载效率和网站响应速度。

Nginx 擅长处理静态文件，直接由服务器提供静态内容可以减轻后端负载，提高网站访问速度。

## 一、基础配置

```nginx
server {
    listen 80;
    server_name example.com;

    root /var/www/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}
````

* **root**：指定静态文件根目录
* **index**：默认首页文件
* **try_files**：判断请求文件是否存在，否则返回 404

## 二、缓存优化

### 1. 浏览器缓存

```nginx
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 30d;
    add_header Cache-Control "public";
}
```

* **expires**：设置资源过期时间
* **Cache-Control**：控制浏览器缓存策略

### 2. gzip 压缩静态资源

```nginx
http {
    gzip on;
    gzip_types text/css application/javascript image/svg+xml;
    gzip_comp_level 5;
}
```

## 三、访问控制

```nginx
location /private/ {
    deny all;
}
```

* 禁止访问敏感目录或文件
* 可结合 `auth_basic` 实现登录保护

## 四、性能优化建议

1. 静态资源统一放在 CDN 或专用静态服务器，提高访问速度
2. 启用浏览器缓存和 gzip 压缩
3. 对大文件可使用 `sendfile on;` 提升传输性能
4. 使用 `open_file_cache` 缓存文件描述符，减少文件 I/O

---

通过合理配置 Nginx 静态文件服务，可以快速、高效、安全地提供网站静态资源，提高用户访问体验。
包？

```
