location ^~ /qq.png {
# expires 2s;#缓存2秒
expires 2m;#缓存2分钟
# expires 2h;#缓存2小时
# expires 2d;#缓存2天
root html/gzip;
}
location ^~ /chrome.png {
#缓存2分钟
expires 2m;
root html/gzip;
}
# 这里要注意看浏览器支持什么压缩格式
location ~ /(.*)\.(html|js|css|jpg|jpeg|png|gif)$ {
# 启用gzip压缩,默认是off,不启用
gzip on;
# 对js、css、jpg、png、gif格式的文件启用gzip压缩功能
gzip_types application/javascript text/css image/jpeg image/png image/gif;
gzip_min_length 1024; # 所压缩文件的最小值,小于这个的不会压缩
gzip_buffers 4 1k; # 设置压缩响应的缓冲块的大小和个数,默认是内存一个页的大小
gzip_comp_level 1; # 压缩水平,默认1。取值范围1-9,取值越大压缩比率越大,但越耗cpu时间
root html/gzip;
}
https://www.cnblogs.com/gongjingyun123–/p/11424805.html
https://blog.51cto.com/wgkgood/1094236
https://blog.51cto.com/4402071/2087071
https://www.cnblogs.com/wajika/p/6575656.html
一句话就是节省服务器资源
那ng
实现动静分离的原理是啥?
带正则匹配的location
来指定匹配项来区分动态和静态的文件来进行处理的。
单台服务器实现动静分离
# 从 ng 中获取
location / {
root /app/ng/staticRout/;
index.php;
}
location ~* \.(png|jpg|mp4)${
#指定图片路径
root /app/ng/staticRout/images;
#压缩
gzip on;
.....
}
# 指向其他服务器
location ~ \.php$ {
staticRout_pass 127.0.0.1:8900;
.....
}
多台服务器实现动静分离
# 静态资源
upstream static {
server 127.0.0.1:800;
}
# 动态资源
upstream dynamic {
server 127.0.0.1:801;
}
server {
listen 80;
server_name jimmy.com;
location ~* \.(jpg|png|gif)$ {
proxy_pass http://static;
proxy_set_header Host $http_host;
}
location ~ \.jsp {
proxy_pass http://dynamic;
proxy_set_header Host $http_host;
}
}
https交互过程
浏览器使用公钥,把数据加密后,再发送出去。经过公钥加密内容,只有有私钥才能解密读取
nginx配置https的时候,需要两个东西:(此两样需购买)
key,私钥。放在nginx服务器里面,仅此一份
证书,公钥,供浏览器去下载
配置参考官网:
http://nginx.org/en/docs/http/configuring_https_servers.html
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate www.example.com.crt;
ssl_certificate_key www.example.com.key;
...
}
openssl安装(略)
自己生成公钥私钥测试(仅能测试,不能用于生产)
# 创建服务器私钥 执行后输入密码(自己设置)
> openssl genrsa -des3 -out server.key 1024
# 创建签名请求证书(CSR)
> openssl req -new -key server.key -out server.csr
# 加载ssl支持ng并去除私钥密码
openssl rsa -in server.key -out server_nopass.key
# 最后标记证书使用啥该的 私钥和csr
openssl x509 -req -days 365 -in server.csr -signkey server_nopass.key -out server.csr