Hexo优化篇:Nginx压缩和缓存
自说自话部分:服务器太贵,带宽很低,怎么办?加钱提升配置!没钱怎么办?当然时努力去赚钱…的同时也想想其他办法。例如:开启压缩、缓存、找免费的CDN商家!哈哈,跑题了。下面进入正文
Nginx模板一份,一切尽在其中。
server {
#监听80端口
listen 80;
#填写绑定证书的域名
server_name www.your_domain.com;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
server {
# 加上default_server是为了偷懒不写www时,直接访问youdomain.com不至于跑到其他二级域名去。
listen 443 ssl http2 default_server;
#填写绑定证书的域名
server_name www.your_domain.com;
#证书文件名称
ssl_certificate /your_path/your_ssl_certificate.crt;
#私钥文件名称
ssl_certificate_key /your_path/your_ssl_certificate_key.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
# 取消了 TLSv1 支持,感觉有点多余
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
#记录一下日志,www目录自己创建的,用来区分不同的域名
access_log /var/log/nginx/www/access.log main;
# hexo的静态文件目录(此处以我的为例)
# 重点:这个必须放置在外面,否则开启缓存之后无法访问
root /path/hexo_blog/public;
location / {
# root /path/hexo_blog/public;
index index.html index.htm;
}
## 开启压缩 -- begin
# 开启gzip
gzip off;
# 设置允许压缩的页面最小字节数,页面字节数从header头得content-length中进行获取。默认值是0,不管页面多大都压缩
gzip_min_length 256;
# gzip 压缩级别 1-10 数字越大,压缩率越高,cpu使用越强
gzip_comp_level 5;
#这里设置无论header头是怎么样,都是无条件启用压缩
# gzip_proxied any;
# 进行压缩的文件类型
gzip_types text/xml text/css text/javascript application/x-httpd-php image/jpeg image/gif image/png application/xml application/atom+xml application/rss+xml application/xhtml+xml image/svg+xml text/javascript application/javascript a
pplication/x-javascript text/x-json application/json application/x-web-app-manifest+json text/css text/plain text/x-component font/opentype font/ttf application/x-font-ttf application/vnd.ms-fontobject image/x-icon;
#这里设置无论header头是怎么样,都是无条件启用压缩
gzip_proxied any;
# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;
#IE 6及一下禁用gzip
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
## 开启压缩 -- end
## 开启缓存 -- begin
location ~ .*\.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)$ {
expires 7d;
}
location ~ .*\.(?:js|css)$ {
expires 7d;
}
# location ~ .*\.(?:htm|html)$ {
# add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
# }
## 开启缓存 -- end
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
https证书免费申请地址(一次可使用12个月)
-
又拍云:https://www.upyun.com/
-
FreeSSL:https://freessl.cn/
免费域名申请地址:
- freenom:Freenom - 人人都熟悉的名字
免费dns解析器:
- dnspod:https://www.dnspod.cn/products/dns
- cloudflare: Cloudflare 中国官网