Nginx可以作为高性能的静态文件服务器。主要的配置步骤如下:
- 设置server块的root指令指定网站根目录位置。
server {
listen 80;
server_name static.example.com;
root /data/www; # 网站根目录
}
- 匹配静态文件类型,设置expires参数配置文件过期时间。
location ~* ^.+\.(gif|jpg|jpeg|png|css|js|ico)$ {
expires 30d; # 过期时间30天
}
- 开启gzip压缩,加速文件传输。
gzip on;
gzip_static on;
gzip_types text/plain application/xml;
- 使用try_files按照序列检查文件是否存在,返回首个找到的文件。
location / {
try_files $uri $uri/ =404; # 检查/$uri与$uri/index.html
}
- error_page自定义404页,让用户体验更友好。
error_page 404 /404.html;
location = /404.html {
root /data/www;
}
- 使用location指令构建规则匹配特定文件。
location ~* \.(gif|jpg|png)$ { # 匹配gif/jpg/png格式文件
expires 30d;
}
例如,完整server块配置:
server {
listen 80;
server_name static.example.com;
root /data/www;
location ~* ^.+\.(gif|jpg|jpeg|png|css|js|ico)$ {
expires 30d;
}
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
location = /404.html {
root /data/www;
}
gzip on;
gzip_static on;
gzip_types text/plain application/xml;
}