Welcome to Centmin Mod Community
Become a Member

Nginx NGINX Dynamic Modules: How They Work

Discussion in 'Nginx and PHP-FPM news & discussions' started by eva2000, Apr 8, 2017.

  1. eva2000

    eva2000 Administrator Staff Member

    53,149
    12,110
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,645
    Local Time:
    7:15 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
    Centmin Mod 123.09beta and newer branches support Nginx dynamic modules (FAQ item 39). Nginx posted a new article explaining how they work - NGINX Dynamic Modules: How We Implemented Them :)


     
    Last edited: Apr 8, 2017
  2. eva2000

    eva2000 Administrator Staff Member

    53,149
    12,110
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,645
    Local Time:
    7:15 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
    ah learnt something new I need to add to Centmin Mod 123.09beta01's Nginx builds
    technically this should allow Centmin Mod 123.09beta01's Nginx to just drop in Nginx dynamic modules + a load module line to use the Nginx module as intended rather than recompiling via centmin.sh menu option 4. Need to test this :D
    dynamic modules include file /usr/local/nginx/conf/dynamic-modules.conf
    Code (Text):
    load_module "modules/ngx_http_image_filter_module.so";
    load_module "modules/ngx_http_fancyindex_module.so";
    load_module "modules/ngx_stream_module.so";
    

    dynamic module directory at /usr/local/nginx/modules
    Code (Text):
    -rwxr-xr-x   1 root root  55K Apr  8 11:41 ngx_http_fancyindex_module.so
    -rwxr-xr-x   1 root root  55K Apr  8 11:31 ngx_http_fancyindex_module.so.old
    -rwxr-xr-x   1 root root  58K Apr  8 11:41 ngx_http_image_filter_module.so
    -rwxr-xr-x   1 root root  58K Apr  8 11:31 ngx_http_image_filter_module.so.old
    -rwxr-xr-x   1 root root 471K Apr  8 11:41 ngx_stream_module.so
    -rwxr-xr-x   1 root root 470K Apr  8 11:31 ngx_stream_module.so.old


    now enable ngx_pagespeed as a dynamic module via persistent config file /etc/centminmod/custom_config.inc and recompile via centmin.sh menu option 4
    Code (Text):
    NGXDYNAMIC_NGXPAGESPEED='y'
    NGINX_PAGESPEED='y'

    dynamic modules include file /usr/local/nginx/conf/dynamic-modules.conf loading the newly enabled ngx_pagespeed dynamic module from /usr/local/nginx/modules/ngx_pagespeed.so
    Code (Text):
    load_module "modules/ngx_http_image_filter_module.so";
    load_module "modules/ngx_http_fancyindex_module.so";
    load_module "modules/ngx_pagespeed.so";
    load_module "modules/ngx_stream_module.so";
    

    dynamic module directory at /usr/local/nginx/modules
    Code (Text):
    -rwxr-xr-x   1 root root  57K Apr  8 11:58 ngx_http_fancyindex_module.so
    -rwxr-xr-x   1 root root  55K Apr  8 11:41 ngx_http_fancyindex_module.so.old
    -rwxr-xr-x   1 root root  56K Apr  8 11:58 ngx_http_image_filter_module.so
    -rwxr-xr-x   1 root root  58K Apr  8 11:41 ngx_http_image_filter_module.so.old
    -rwxr-xr-x   1 root root  16M Apr  8 11:58 ngx_pagespeed.so
    -rwxr-xr-x   1 root root 486K Apr  8 11:58 ngx_stream_module.so
    -rwxr-xr-x   1 root root 471K Apr  8 11:41 ngx_stream_module.so.old
    


    centmin.sh menu option 4 auto backs up nginx dynamic modules at /usr/local/nginx/modules to a separate directory at /usr/local/nginx/modules.copy so you can revert to previous version just dropping the nginx dynamic module from backup directory /usr/local/nginx/modules.copy to /usr/local/nginx/modules directory. I guess with --with-compat now added, you could drop the same nginx dynamic modules into other Centmin Mod 123.09beta01 Nginx instances without needing to recompile Nginx via centmin.sh menu option 4 now :)

    backup dynamic modules to /usr/local/nginx/modules.copy
    Code (Text):
    -rwxr-xr-x   1 root root  57K Apr  8 11:58 ngx_http_fancyindex_module.so
    -rwxr-xr-x.  1 root root  55K Apr  8 11:41 ngx_http_fancyindex_module.so.old
    -rwxr-xr-x   1 root root  56K Apr  8 11:58 ngx_http_image_filter_module.so
    -rwxr-xr-x.  1 root root  58K Apr  8 11:41 ngx_http_image_filter_module.so.old
    -rwxr-xr-x   1 root root  16M Apr  8 11:58 ngx_pagespeed.so
    -rwxr-xr-x   1 root root 486K Apr  8 11:58 ngx_stream_module.so
    -rwxr-xr-x.  1 root root 471K Apr  8 11:41 ngx_stream_module.so.old
    


    Let's test this out by disabling Nginx pagespeed again by removing persistent config variables in /etc/centminmod/custom_config.inc and recompile via centmin.sh menu option 4

    set to 'n' or remove these 2 variables BEFORE recompile via centmin.sh menu option 4
    Code (Text):
    NGXDYNAMIC_NGXPAGESPEED='n'
    NGINX_PAGESPEED='n'


    end up without ngx_pagespeed.so in /usr/local/nginx/modules directory
    Code (Text):
    dynamic module directory at /usr/local/nginx/modules
    total 1.2M
    drwxr-xr-x.  2 root root 4.0K Apr  8 12:10 .
    drwxr-xr-x. 11 root root 4.0K Apr  8 11:31 ..
    -rwxr-xr-x   1 root root  55K Apr  8 12:10 ngx_http_fancyindex_module.so
    -rwxr-xr-x   1 root root  57K Apr  8 11:58 ngx_http_fancyindex_module.so.old
    -rwxr-xr-x   1 root root  58K Apr  8 12:10 ngx_http_image_filter_module.so
    -rwxr-xr-x   1 root root  56K Apr  8 11:58 ngx_http_image_filter_module.so.old
    -rwxr-xr-x   1 root root 471K Apr  8 12:10 ngx_stream_module.so
    -rwxr-xr-x   1 root root 486K Apr  8 11:58 ngx_stream_module.so.old
    


    then in existing Nginx vhost enable ngx_pagespeed include files i.e. in /usr/local/nginx/conf/conf.d/newdomain2.com.conf uncomment 3 include files

    from
    Code (Text):
    # ngx_pagespeed & ngx_pagespeed handler
    #include /usr/local/nginx/conf/pagespeed.conf;
    #include /usr/local/nginx/conf/pagespeedhandler.conf;
    #include /usr/local/nginx/conf/pagespeedstatslog.conf;
    

    to
    Code (Text):
    # ngx_pagespeed & ngx_pagespeed handler
    include /usr/local/nginx/conf/pagespeed.conf;
    include /usr/local/nginx/conf/pagespeedhandler.conf;
    include /usr/local/nginx/conf/pagespeedstatslog.conf;
    


    try enable ngx_pagespeed now via Centmin Mod custom pscontrol command
    Code (Text):
    pscontrol on
    

    nginx failed to restart
    Code (Text):
    pscontrol on
    systemctl restart nginx.service
    Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
    

    because ngx_pagespeed module wasn't installed so doesn't recognise pagespeed variable in include file /usr/local/nginx/conf/pagespeed.conf
    Code (Text):
    nginx -t
    nginx: [emerg] unknown directive "pagespeed" in /usr/local/nginx/conf/pagespeed.conf:1
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
    


    Now let's drop the ngx_pagespeed.so dynamic module in from backup directory. Just copying the backup directory /usr/local/nginx/modules.copy/ngx_pagespeed.so module into /usr/local/nginx/modules and adding a load line to /usr/local/nginx/conf/dynamic-modules.conf for
    Code (Text):
    load_module "modules/ngx_pagespeed.so";
    

    so it becomes
    Code (Text):
    load_module "modules/ngx_http_image_filter_module.so";
    load_module "modules/ngx_http_fancyindex_module.so";
    load_module "modules/ngx_pagespeed.so";
    load_module "modules/ngx_stream_module.so";
    

    copy backup ngx_pagespeed.so module from /usr/local/nginx/modules.copy/ngx_pagespeed.so to /usr/local/nginx/modules/ngx_pagespeed.so
    Code (Text):
    cp -a /usr/local/nginx/modules.copy/ngx_pagespeed.so /usr/local/nginx/modules/ngx_pagespeed.so
    

    restart nginx
    Code (Text):
    ngxrestart
    

    seems Nginx still failed to restart
    Code (Text):
    ngxrestart
    Restarting nginx (via systemctl):  Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
                                                               [FAILED]
    

    but not due to unrecognised ngx_pagespeed pagespeed variable.
    Code (Text):
    nginx -t
    nginx: [emerg] "gzip_types" directive FileCachePath must be set in /usr/local/nginx/conf/nginx.conf:148
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
    

    reason is /usr/local/nginx/conf/nginx.conf has an include file for ngx_pagespeed that is only auto enabled when NGINX_PAGESPEED='y' variable is set. Otherwise the include file is commented out
    Code (Text):
    #include /usr/local/nginx/conf/pagespeedadmin.conf;
    

    so manually uncomment
    Code (Text):
    include /usr/local/nginx/conf/pagespeedadmin.conf;
    

    test Nginx config
    Code (Text):
    nginx -t 
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
    

    now enable ngx_pagespeed via pscontrol
    Code (Text):
    pscontrol on
    systemctl restart nginx.service
    

    working ! So I enabled ngx_pagespeed without recompiling Centmin Mod 123.09beta01 Nginx just by dropping in ngx_pagespeed.so dynamic module into /usr/local/nginx/modules and adding a load line to /usr/local/nginx/conf/dynamic-modules.conf :D

    Other Nginx Dynamic Modules



    Centmin Mod 123.09beta01's Nginx has other nginx dynamic modules supported via persistent config file set up /etc/centminmod/custom_config.inc and these include the below listing - some are enabled by default for dynamic compilation some are not.
    Code (Text):
    NGXDYNAMIC_NJS='n'
    NGXDYNAMIC_XSLT='n'
    NGXDYNAMIC_PERL='n'
    NGXDYNAMIC_IMAGEFILTER='y'
    NGXDYNAMIC_GEOIP='n'
    NGXDYNAMIC_STREAM='y'
    NGXDYNAMIC_STREAMGEOIP='n'  # nginx 1.11.3+ option http://hg.nginx.org/nginx/rev/558db057adaa
    NGXDYNAMIC_STREAMREALIP='n' # nginx 1.11.4+ option http://hg.nginx.org/nginx/rev/9cac11efb205
    NGXDYNAMIC_HEADERSMORE='n'
    NGXDYNAMIC_SETMISC='n'
    NGXDYNAMIC_ECHO='n'
    NGXDYNAMIC_LUA='n'          #
    NGXDYNAMIC_SRCCACHE='n'
    NGXDYNAMIC_DEVELKIT='n'     #
    NGXDYNAMIC_MEMC='n'
    NGXDYNAMIC_REDISTWO='n'
    NGXDYNAMIC_NGXPAGESPEED='n'
    NGXDYNAMIC_BROTLI='y'
    NGXDYNAMIC_FANCYINDEX='y'
    NGXDYNAMIC_HIDELENGTH='y'
    
     
    Last edited: Apr 8, 2017
  3. eva2000

    eva2000 Administrator Staff Member

    53,149
    12,110
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,645
    Local Time:
    7:15 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+
    Updated 123.09beta01 routine to now add support to a custom include file /usr/local/nginx/conf/dynamic-modules-includes.conf that is included in /usr/local/nginx/conf/dynamic-modules.conf so you can place custom load_module nginx dynamic modules in /usr/local/nginx/conf/dynamic-modules-includes.conf to persist and survive.
    Code (Text):
    # place custom load_module lines in this dynamic-modules-includes.conf
    # file so that they persistent i.e. for manually dropped in dynamic modules
    include /usr/local/nginx/conf/dynamic-modules-includes.conf;
    load_module "modules/ngx_http_image_filter_module.so";
    load_module "modules/ngx_http_fancyindex_module.so";
    load_module "modules/ngx_pagespeed.so";
    load_module "modules/ngx_stream_module.so";
    

    Just need to figure out how to make manually dropped in nginx dynamic modules placed in /usr/local/nginx/modules survive and persist on subsequent nginx compiles as currently Centmin Mod wipes the /usr/local/nginx/modules it detects as not enabled via persistent /etc/centminmod/custom_config.inc set variables i.e. if NGINX_PAGESPEED='n' and NGXDYNAMIC_NGXPAGESPEED='n' is set.

    Updated 123.09beta01 with a solution for persistent nginx dynamic modules manually dropped into /usr/local/nginx/modules directory. Add NGXDYNAMIC_MANUALOVERRIDE='n' variable to optional override nginx dynamic module purge

    When set in centmin mod persistent config file /etc/centminmod/custom_config.inc to NGXDYNAMIC_MANUALOVERRIDE='y' you can override centmin mod default behavior to purge manually dropped in nginx dynamic modules from /usr/local/nginx/modules so they survive and persistent on nginx recompiles
     
    Last edited: Apr 8, 2017
  4. eva2000

    eva2000 Administrator Staff Member

    53,149
    12,110
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +18,645
    Local Time:
    7:15 PM
    Nginx 1.27.x
    MariaDB 10.x/11.4+

    Nginx Dynamic Module Support Updates



    Should have working nginx dynamic module manual drop in of modules working with these 4 committed updates in 123.09beta01+ and newer versions
    So for manually dropped in nginx dynamic modules placed in /usr/local/nginx/modules, you can set in centmin mod persistent config file /etc/centminmod/custom_config.inc to NGXDYNAMIC_MANUALOVERRIDE='y' you can override centmin mod default behavior to purge manually dropped in nginx dynamic modules from /usr/local/nginx/modules and then add to /usr/local/nginx/conf/dynamic-modules-includes.conf the load_module line i.e.
    Code (Text):
    load_module "modules/ngx_pagespeed.so";
    

    Then the Nginx dynamic module will persist even if it's control variable is set to = 'n' i.e. if NGINX_PAGESPEED='n' and NGXDYNAMIC_NGXPAGESPEED='n' is set.

    Example



    So I have in persistent config file /etc/centminmod/custom_config.inc set variables
    Code (Text):
    NGINX_PAGESPEED='n'
    NGXDYNAMIC_NGXPAGESPEED='n'
    

    so Nginx doesn't have ngx_pagespeed configure like in Nginx -V output
    include file /usr/local/nginx/conf/dynamic-modules.conf in nginx.conf has contents below notice no ngx_pagespeed.so module load_module line it's removed
    Code (Text):
    # place custom load_module lines in this dynamic-modules-includes.conf
    # file so that they persistent i.e. for manually dropped in dynamic modules
    include /usr/local/nginx/conf/dynamic-modules-includes.conf;
    load_module "modules/ngx_http_image_filter_module.so";
    load_module "modules/ngx_http_fancyindex_module.so";
    load_module "modules/ngx_stream_module.so";
    

    but in include file /usr/local/nginx/conf/dynamic-modules-includes.conf i manually added it to survive
    Code (Text):
    cat /usr/local/nginx/conf/dynamic-modules-includes.conf
    load_module "modules/ngx_pagespeed.so";
    

    now check /usr/local/nginx/modules directory which i manually dropped a backed up copy of ngx_pagespeed.so into and it survived due to centmin mod persistent config file /etc/centminmod/custom_config.inc set variable for NGXDYNAMIC_MANUALOVERRIDE='y'
    Code (Text):
    -rwxr-xr-x   1 root root  55K Apr  8 14:18 ngx_http_fancyindex_module.so
    -rwxr-xr-x   1 root root  57K Apr  8 14:06 ngx_http_fancyindex_module.so.old
    -rwxr-xr-x   1 root root  58K Apr  8 14:18 ngx_http_image_filter_module.so
    -rwxr-xr-x   1 root root  56K Apr  8 14:06 ngx_http_image_filter_module.so.old
    -rwxr-xr-x   1 root root  16M Apr  8 14:06 ngx_pagespeed.so
    -rwxr-xr-x   1 root root 471K Apr  8 14:18 ngx_stream_module.so
    -rwxr-xr-x   1 root root 486K Apr  8 14:06 ngx_stream_module.so.old
    


    Enabling All Nginx Dynamic modules



    So to do it one time and enable all Nginx dynamic modules once off to get a backup copy of all nginx dynamic modules saved in /usr/local/nginx/modules.copy first set in persistent config file /etc/centminmod/custom_config.inc the following variables and recompile nginx via centmin.sh menu option 4
    Code (Text):
    /etc/centminmod/custom_config.inc
    NGINX_PAGESPEED='y'
    NGINX_LIBBROTLI='y'
    
    NGXDYNAMIC_MANUALOVERRIDE='y' # set to 'y' if you want to manually drop in nginx dynamic modules into /usr/local/nginx/modules
    NGXDYNAMIC_NJS='y'
    NGXDYNAMIC_XSLT='y'
    NGXDYNAMIC_PERL='y'
    NGXDYNAMIC_IMAGEFILTER='y'
    NGXDYNAMIC_GEOIP='y'
    NGXDYNAMIC_STREAM='y'
    NGXDYNAMIC_STREAMGEOIP='y'  # nginx 1.11.3+ option http://hg.nginx.org/nginx/rev/558db057adaa
    NGXDYNAMIC_STREAMREALIP='y' # nginx 1.11.4+ option http://hg.nginx.org/nginx/rev/9cac11efb205
    NGXDYNAMIC_HEADERSMORE='y'
    NGXDYNAMIC_SETMISC='y'
    NGXDYNAMIC_ECHO='y'
    NGXDYNAMIC_LUA='y'          #
    NGXDYNAMIC_SRCCACHE='y'
    NGXDYNAMIC_DEVELKIT='y'     #
    NGXDYNAMIC_MEMC='y'
    NGXDYNAMIC_REDISTWO='y'
    NGXDYNAMIC_NGXPAGESPEED='y'
    NGXDYNAMIC_BROTLI='y'
    NGXDYNAMIC_FANCYINDEX='y'
    NGXDYNAMIC_HIDELENGTH='y'
    

    Resulting nginx config would be
    Your /usr/local/nginx/conf/dynamic-modules.conf include will end up with load_module lines as follows. Not all modules are listed as the above NGXDYNAMIC_* variables only control if Nginx module is statically or dynamically compiled. There is a corresponding variable to control whether the Nginx module is installed at all which may default to disabled unless you specify in persistent config file the enabled version i.e. NGINX_PAGESPEED='y' and NGINX_LIBBROTLI='y'
    Code (Text):
    # place custom load_module lines in this dynamic-modules-includes.conf
    # file so that they persistent i.e. for manually dropped in dynamic modules
    include /usr/local/nginx/conf/dynamic-modules-includes.conf;
    load_module "modules/ngx_http_image_filter_module.so";
    load_module "modules/ngx_http_headers_more_filter_module.so";
    load_module "modules/ndk_http_module.so";
    load_module "modules/ngx_http_memc_module.so";
    load_module "modules/ngx_http_srcache_filter_module.so";
    load_module "modules/ngx_http_set_misc_module.so";
    load_module "modules/ngx_http_echo_module.so";
    load_module "modules/ngx_http_redis2_module.so";
    load_module "modules/ngx_http_fancyindex_module.so";
    load_module "modules/ngx_pagespeed.so";
    load_module "modules/ngx_http_brotli_filter_module.so";
    load_module "modules/ngx_http_brotli_static_module.so";
    load_module "modules/ngx_stream_module.so";
    load_module "modules/ngx_stream_geoip_module.so";
    load_module "modules/ngx_http_geoip_module.so";
    

    and your /usr/local/nginx/modules directory
    Code (Text):
    -rwxr-xr-x   1 root root  48K Apr  8 15:55 ndk_http_module.so
    -rwxr-xr-x   1 root root  43K Apr  8 15:38 ndk_http_module.so.old
    -rwxr-xr-x   1 root root 1.3M Apr  8 15:55 ngx_http_brotli_filter_module.so
    -rwxr-xr-x   1 root root  34K Apr  8 15:55 ngx_http_brotli_static_module.so
    -rwxr-xr-x   1 root root 210K Apr  8 15:55 ngx_http_echo_module.so
    -rwxr-xr-x   1 root root 195K Apr  8 15:38 ngx_http_echo_module.so.old
    -rwxr-xr-x   1 root root  57K Apr  8 15:55 ngx_http_fancyindex_module.so
    -rwxr-xr-x   1 root root  55K Apr  8 15:38 ngx_http_fancyindex_module.so.old
    -rwxr-xr-x   1 root root  51K Apr  8 15:55 ngx_http_geoip_module.so
    -rwxr-xr-x   1 root root  48K Apr  8 15:38 ngx_http_geoip_module.so.old
    -rwxr-xr-x   1 root root  97K Apr  8 15:55 ngx_http_headers_more_filter_module.so
    -rwxr-xr-x   1 root root  96K Apr  8 15:38 ngx_http_headers_more_filter_module.so.old
    -rwxr-xr-x   1 root root  56K Apr  8 15:55 ngx_http_image_filter_module.so
    -rwxr-xr-x   1 root root  58K Apr  8 15:38 ngx_http_image_filter_module.so.old
    -rwxr-xr-x   1 root root 148K Apr  8 15:55 ngx_http_memc_module.so
    -rwxr-xr-x   1 root root 131K Apr  8 15:38 ngx_http_memc_module.so.old
    -rwxr-xr-x   1 root root  98K Apr  8 15:55 ngx_http_redis2_module.so
    -rwxr-xr-x   1 root root  95K Apr  8 15:38 ngx_http_redis2_module.so.old
    -rwxr-xr-x   1 root root 217K Apr  8 15:55 ngx_http_set_misc_module.so
    -rwxr-xr-x   1 root root 205K Apr  8 15:38 ngx_http_set_misc_module.so.old
    -rwxr-xr-x   1 root root 137K Apr  8 15:55 ngx_http_srcache_filter_module.so
    -rwxr-xr-x   1 root root 131K Apr  8 15:38 ngx_http_srcache_filter_module.so.old
    -rwxr-xr-x   1 root root  16M Apr  8 15:55 ngx_pagespeed.so
    -rwxr-xr-x   1 root root  16M Apr  8 14:06 ngx_pagespeed.so.old
    -rwxr-xr-x   1 root root  43K Apr  8 15:55 ngx_stream_geoip_module.so
    -rwxr-xr-x   1 root root  39K Apr  8 15:38 ngx_stream_geoip_module.so.old
    -rwxr-xr-x   1 root root 458K Apr  8 15:55 ngx_stream_module.so
    -rwxr-xr-x   1 root root 451K Apr  8 15:38 ngx_stream_module.so.old
    

    and your backup /usr/local/nginx/modules.copy directory which
    Code (Text):
    -rwxr-xr-x   1 root root  48K Apr  8 15:55 ndk_http_module.so
    -rwxr-xr-x   1 root root  43K Apr  8 15:38 ndk_http_module.so.old
    -rwxr-xr-x   1 root root 1.3M Apr  8 15:55 ngx_http_brotli_filter_module.so
    -rwxr-xr-x   1 root root  34K Apr  8 15:55 ngx_http_brotli_static_module.so
    -rwxr-xr-x   1 root root 210K Apr  8 15:55 ngx_http_echo_module.so
    -rwxr-xr-x   1 root root 195K Apr  8 15:38 ngx_http_echo_module.so.old
    -rwxr-xr-x   1 root root  57K Apr  8 15:55 ngx_http_fancyindex_module.so
    -rwxr-xr-x.  1 root root  55K Apr  8 15:38 ngx_http_fancyindex_module.so.old
    -rwxr-xr-x   1 root root  51K Apr  8 15:55 ngx_http_geoip_module.so
    -rwxr-xr-x   1 root root  48K Apr  8 15:38 ngx_http_geoip_module.so.old
    -rwxr-xr-x   1 root root  97K Apr  8 15:55 ngx_http_headers_more_filter_module.so
    -rwxr-xr-x   1 root root  96K Apr  8 15:38 ngx_http_headers_more_filter_module.so.old
    -rwxr-xr-x   1 root root  56K Apr  8 15:55 ngx_http_image_filter_module.so
    -rwxr-xr-x.  1 root root  58K Apr  8 15:38 ngx_http_image_filter_module.so.old
    -rwxr-xr-x   1 root root 148K Apr  8 15:55 ngx_http_memc_module.so
    -rwxr-xr-x   1 root root 131K Apr  8 15:38 ngx_http_memc_module.so.old
    -rwxr-xr-x   1 root root  98K Apr  8 15:55 ngx_http_redis2_module.so
    -rwxr-xr-x   1 root root  95K Apr  8 15:38 ngx_http_redis2_module.so.old
    -rwxr-xr-x   1 root root 217K Apr  8 15:55 ngx_http_set_misc_module.so
    -rwxr-xr-x   1 root root 205K Apr  8 15:38 ngx_http_set_misc_module.so.old
    -rwxr-xr-x   1 root root 137K Apr  8 15:55 ngx_http_srcache_filter_module.so
    -rwxr-xr-x   1 root root 131K Apr  8 15:38 ngx_http_srcache_filter_module.so.old
    -rwxr-xr-x   1 root root  16M Apr  8 15:55 ngx_pagespeed.so
    -rwxr-xr-x   1 root root  16M Apr  8 14:06 ngx_pagespeed.so.old
    -rwxr-xr-x   1 root root  43K Apr  8 15:55 ngx_stream_geoip_module.so
    -rwxr-xr-x   1 root root  39K Apr  8 15:38 ngx_stream_geoip_module.so.old
    -rwxr-xr-x   1 root root 458K Apr  8 15:55 ngx_stream_module.so
    -rwxr-xr-x.  1 root root 451K Apr  8 15:38 ngx_stream_module.so.old
    
     
    Last edited: Apr 8, 2017