Nginx Expires配置

Nginx配置静态资源expires后发现静态资源都报404了,原因在于没有资源的访问路径,可以通过root和alias配置

server {
        listen 80;
        server_name 120.24.176.245;
	/* 最大上传大小 */
        client_max_body_size 1024m;
        access_log /home/halo/.halo/logs/nginx_access_log.log;
        error_log /home/halo/.halo/logs/nginx_error_log.log error;
        location / {
                proxy_pass http://127.0.0.1:8090;
                proxy_set_header HOST $host:$server_port;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
	/* 图片 */
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ {
                expires 30d;
                root /home/halo/.halo;
        }
	/* js/css */
        location ~ .*\.(js|css)$ {
                root /home/halo/.halo/templates;
                expires 15d;
        }
}

配置后访问浏览器

nginx-expires

另外,记录一下nginx的gzip压缩配置,放在nginx.conf主配置文件中

# gzip压缩配置
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;

类似png、jpg、mp4等格式的文件已经压缩过,再压缩效果较差,反而影响性能

Q.E.D.


一切很好,不缺烦恼。