• 为OpenResty增加ngx_pagespeed模块进行优化


    1、下载ngx_pagespeed模块

    wget https://github.com/pagespeed/ngx_pagespeed/archive/v1.8.31.4-beta.zip
    unzip v1.8.31.4-beta.zip
    cd ngx_pagespeed-1.8.31.4-beta/
    wget https://dl.google.com/dl/page-speed/psol/1.8.31.4.tar.gz
    tar -xzvf 1.8.31.4.tar.gz

    2、重新编译OpenResty

    ./configure --prefix=/usr/local/openresty/ --with-http_stub_status_module --add-module=/usr/local/software/ngx_pagespeed-1.8.31.4-beta/ --with-luajit
    make
    mv /usr/local/openresty/nginx/sbin/nginx /usr/local/openresty/nginx/sbin/nginx.old
    cp /usr/local/software/ngx_openresty-1.7.0.1/build/nginx-1.7.0/objs/nginx /usr/local/openresty/nginx/sbin/
    service nginx restart
    /usr/local/openresty/nginx/sbin/nginx -V

    3、配置pagespeed

    对新手用户而言:使用CoreFilters
    CoreFilters含有一系列PageSpeed过滤器,谷歌认为这些过滤器对大多数网站来说是安全的。如果启用CoreFilters,你就自动启用了一系列"安全"规则。所以,推荐新手用户采用这种方法。如果你愿意,也可以禁用CoreFilters中的某个或某些过滤器,或者选择性地启用额外的过滤器。下面这个例子表明了使用CoreFilters的ngx_pagespeed配置。

    server { 
    # 侦听的端口 
    listen 80; 
    # 服务器名称 
    server_name xmodulo.com www.xmodulo.com; 
    # 记下根目录 
    root /usr/local/nginx/html; 
    # 访问日志 
    access_log /var/log/nginx/access.log main; 
    # 启用ngx_pagespeed 
    pagespeed on; 
    pagespeed FileCachePath /var/ngx_pagespeed_cache; 
    # 启用CoreFilters 
    pagespeed RewriteLevel CoreFilters; 
    # 禁用CoreFilters中的某些过滤器 
    pagespeed DisableFilters rewrite_images; 
    # 选择性地启用额外的过滤器 
    pagespeed EnableFilters collapse_whitespace; 
    pagespeed EnableFilters lazyload_images; 
    pagespeed EnableFilters insert_dns_prefetch; 
    } 

    对高级用户而言:使用PassThrough
    如果是高级用户,你可以使用PageThrough级别,你可以手动启用个别过滤器。

    server { 
    # 侦听的端口 
    listen 80; 
    # 服务器名称 
    server_name xmodulo.com www.xmodulo.com; 
    # 记下根目录 
    root /usr/local/nginx/html; 
    # 访问日志 
    access_log /var/log/nginx/access.log main; 
    # 启用ngx_pagespeed 
    pagespeed on; 
    pagespeed FileCachePath /var/ngx_pagespeed_cache; 
    # 禁用CoreFilters 
    pagespeed RewriteLevel PassThrough; 
    # 启用压缩空白过滤器 
    pagespeed EnableFilters collapse_whitespace; 
    # 启用JavaScript库卸载 
    pagespeed EnableFilters canonicalize_javascript_libraries; 
    # 把多个CSS文件合并成一个CSS文件 
    pagespeed EnableFilters combine_css; 
    # 把多个JavaScript文件合并成一个JavaScript文件 
    pagespeed EnableFilters combine_javascript; 
    # 删除带默认属性的标签 
    pagespeed EnableFilters elide_attributes; 
    # 改善资源的可缓存性 
    pagespeed EnableFilters extend_cache; 
    # 更换被导入文件的@import,精简CSS文件 
    pagespeed EnableFilters flatten_css_imports; 
    pagespeed CssFlattenMaxBytes 5120; 
    # 延时加载客户端看不见的图片 
    pagespeed EnableFilters lazyload_images; 
    # 启用JavaScript缩小机制 
    pagespeed EnableFilters rewrite_javascript; 
    # 启用图片优化机制 
    pagespeed EnableFilters rewrite_images; 
    # 预解析DNS查询 
    pagespeed EnableFilters insert_dns_prefetch; 
    # 重写CSS,首先加载渲染页面的CSS规则 
    pagespeed EnableFilters prioritize_critical_css; 
    } 

    4、修改缓存目录的主属(我的OpenResty是用nobody用户)

    chown nobody:nobody /var/ngx_pagespeed_cache
  • 相关阅读:
    “山大地纬杯”第十二届山东省ICPC大学生程序设计竞赛部分个人题解
    OpenLayer4——地图拉伸导致事件丢失问题
    OpenLayer4——贝塞尔曲线插值算法
    OpenLayer4——多边形遮罩层
    OpenLayer4——获取鼠标点击的坐标
    OpenLayer4——坐标间距计算
    OpenLayer4——定位到坐标位置
    你的第一个大数据 helloword
    记一次SparkUI的使用记录
    # vue脚手架3使用 cesium
  • 原文地址:https://www.cnblogs.com/kgdxpr/p/3833864.html
Copyright © 2020-2023  润新知