Git Product home page Git Product logo

nginx-helper's Introduction

Nginx Helper

Project Status: Active – The project has reached a stable, usable state and is being actively developed.

Contributors: rtcamp, rahul286, saurabhshukla, manishsongirkar36, faishal, desaiuditd, darren-slatten, jk3us, daankortenbach, telofy, pjv, llonchj, jinnko, weskoop, bcole808, gungeekatx, rohanveer, chandrapatel, gagan0123, ravanh, michaelbeil, samedwards, niwreg, entr, nuvoPoint, iam404, rittesh.patel, vishalkakadiya, BhargavBhandari90, vincent-lu, murrayjbrown, bryant1410, 1gor, matt-h, pySilver, johan-chassaing, dotsam, sanketio, petenelson, nathanielks, rigagoogoo, dslatten, jinschoi, kelin1003, vaishuagola27, rahulsprajapati, Joel-James, utkarshpatel, gsayed786, shashwatmittal, sudhiryadav, thrijith, stayallive, jaredwsmith, abhijitrakas, umeshnevase, sid177, souptik, arafatkn, subscriptiongroup, akrocks

Tags: nginx, cache, purge, nginx map, nginx cache, maps, fastcgi, proxy, redis, redis-cache, rewrite, permalinks

Requires at least: 3.0

Tested up to: 6.1

Stable tag: 2.2.5

License: GPLv2 or later (of-course)

License URI: http://www.gnu.org/licenses/gpl-2.0.html

Donate Link: http://rt.cx/eedonate

Cleans nginx's fastcgi/proxy cache or redis-cache whenever a post is edited/published. Also does a few more things.

Description

  1. Removes index.php from permalinks when using WordPress with nginx.
  2. Adds support for purging redis-cache when used as full-page cache created using nginx-srcache-module
  3. Adds support for nginx fastcgi_cache_purge & proxy_cache_purge directive from module. Provides settings so you can customize purging rules.
  4. Adds support for nginx map{..} on a WordPress-multisite network installation. Using it, Nginx can serve PHP file uploads even if PHP/MySQL crashes. Please check the tutorial list below for related Nginx configurations.

Tutorials

You will need to follow one or more tutorials below to get desired functionality:

Installation

Automatic Installation

  1. Log in to your WordPress admin panel, navigate to the Plugins menu and click Add New.
  2. In the search field type “Nginx Helper” and click Search Plugins. From the search results, pick Nginx Helper and click Install Now. Wordpress will ask you to confirm to complete the installation.

Manual Installation

  1. Extract the zip file.
  2. Upload them to /wp-content/plugins/ directory on your WordPress installation.
  3. Then activate the Plugin from Plugins page.

For proper configuration, check out our tutorial list in the Description tab.

Frequently Asked Questions

Important - Please refer to https://github.com/rtcamp/nginx-helper#frequently-asked-questions for up-to-date FAQs.

FAQ - Installation/Comptability

Q. Will this work out of the box?

No. You need to make some changes at the Nginx end. Please check our tutorial list.

FAQ - Nginx Fastcgi Cache Purge

Q. There's a 'purge all' button? Does it purge the whole site?

Yes, it does. It physically empties the cache directory. It is set by default to /var/run/nginx-cache/.

If your cache directory is different, you can override this in your wp-config.php by adding define('RT_WP_NGINX_HELPER_CACHE_PATH','/var/run/nginx-cache/');

Replace the path with your own.

Q. Does it work for custom posts and taxonomies?

Yes. It handles all post-types the same way.

Q. How do I know my Nginx config is correct for fastcgi purging?

Manually purging any page from the cache, by following instructions in the previous answer.

Version 1.3.4 onwards, Nginx Helper adds a comment at the end of the HTML source ('view source' in your favourite browser): <!--Cached using Nginx-Helper on 2012-10-08 07:01:45. It took 42 queries executed in 0.280 seconds.-->. This shows the time when the page was last cached. This date/time will be reset whenever this page is purged and refreshed in the cache. Just check this comment before and after a manual purge.

As long as you don't purge the page (or make changes that purge it from the cache), the timestamp will remain as is, even if you keep refreshing the page. This means the page was served from the cache and it's working!

The rest shows you the database queries and time saved on loading this page. (This would have been the additional resource load, if you weren't using fast-cgi-cache.)

Q. I need to flush a cached page immediately! How do I do that?

Nginx helper plugin handles usual scenarios, when a page in the cache will need purging. For example, when a post is edited or a comment is approved on a post.

To purge a page immediately, follow these instructions:

  • Let's say we have a page at the following domain: http://yoursite.com/about.
  • Between the domain name and the rest of the URL, insert '/purge/'.
  • So, in the above example, the purge URL will be http://yoursite.com/purge/about.
  • Just open this in a browser and the page will be purged instantly.
  • Needless to say, this won't work, if you have a page or taxonomy called 'purge'.

FAQ - Nginx Redis Cache

Q. Can I override the redis hostname, port and prefix?

Yes, you can force override the redis hostname, port or prefix by defining constant in wp-config.php. For example:

define( 'RT_WP_NGINX_HELPER_REDIS_HOSTNAME', '10.0.0.1' );

define( 'RT_WP_NGINX_HELPER_REDIS_PORT', '6000' );

define( 'RT_WP_NGINX_HELPER_REDIS_PREFIX', 'page-cache:' );

FAQ - Nginx Map

Q. My multisite already uses WPMU_ACCEL_REDIRECT. Do I still need Nginx Map?

Definitely. WPMU_ACCEL_REDIRECT reduces the load on PHP, but it still ask WordPress i.e. PHP/MySQL to do some work for static files e.g. images in your post. Nginx map lets nginx handle files on its own bypassing wordpress which gives you much better performance without using a CDN.

Q. I am using X plugin. Will it work on Nginx?

Most likely yes. A wordpress plugin, if not using explicitly any Apache-only mod, should work on Nginx. Some plugin may need some extra work.

Still need help!

Please post your problem in our free support forum.

Screenshots

1. Nginx plugin settings

Nginx plugin settings

2. Remaining settings

Remaining settings

Changelog

2.2.5

  • Add the capability to enable/disable purging of feeds. #281 - by Amaan Khan
  • Fix undefined port error when Redis port is set to empty string. #333 - by Amaan Khan

2.2.4

  • Introduces the capability to specify the NGINX_HELPER_LOG constant, allowing users to activate the logging feature. #318 - by Vishal Kakadiya
  • Existing users employing the nginx-helper plugin with logging enabled will experience no disruptions. However, if logging is disabled, users must define the NGINX_HELPER_LOG constant to re-enable the logging feature.

2.2.3

2.2.2

  • Add action rt_nginx_helper_after_purge_all to fire after the entire cache has been purged whatever caching type is used. #232 - by Julien-prrs
  • Fix issue where settings not saved because the button's value localized (for any language). #236 - by umeshnevase
  • Fix issue where "Custom Purge URL" option displays previous value. #240, #241 - by KirillGritcenko
  • Tested with WordPress 5.4

2.2.1

2.2.0

2.1.0

  • Add wildcard cache key deletion for device type cache purge. #203 - by pradeep910
  • Add filter rt_nginx_helper_purge_url to filter the URL to be purged. #182 - by todeveni
  • Add filter rt_nginx_helper_purge_cached_file to filter the cached file name. #182 - by todeveni
  • Add filter rt_nginx_helper_remote_purge_url to filter remote URL to be purged. #182 - by todeveni
  • Add action rt_nginx_helper_after_fastcgi_purge_all to fire after the FastCGI cache has been purged. #182 - by todeveni
  • Add action rt_nginx_helper_after_redis_purge_all to fire after the Redis cache has been purged. #182 - by todeveni
  • Add action rt_nginx_helper_purged_file to fire an action after deleting file from cache. #182 - by todeveni
  • Add action rt_nginx_helper_before_remote_purge_url to fire an action before purging remote URL. #182 - by todeveni
  • Add action rt_nginx_helper_after_remote_purge_url to fire an action after remote purge request. #182 - by todeveni
  • Fix issue with post purge on new comments. #175 - by jinschoi
  • Fix Nginx Timestamp being added to invalid content type. #200 - by thrijith
  • Handle filesize exception while truncating nginx.log file. #206 - by peterjanes

2.0.3

2.0.2

  • Fix undefined error when we install the plugin for the first time and if Redis is not available. #162 - by Joel-James
  • Remove extra spacing for nginx map section. #169 - by ShashwatMittal
  • Purge Cache menu in front-end admibar now purge current page. #173 - by imranhsayed
  • Fix issue where cache is not cleared when page is swiched from publish to draft. #174 - by imranhsayed
  • Fix an issue where custom purge url option does not show newlines when using multiple urls. #184 - by mist-webit

2.0.1

  • Fix settings url for multisite: use network_admin_url to get network correct settings url. #163 - by Joel-James
  • Fix php error with arbitrary statement in empty - Prior to PHP 5.5. #165 - by PatelUtkarsh

2.0.0

1.9.12

  • Allow override Redis host/port/prefix by defining constant in wp-config.php #152 - by vincent-lu

1.9.11

  • Fixed issue where permalinks without trailing slash does not purging #124 - by Patrick
  • Check whether role exist or not before removing capability. #134 - by 1gor

1.9.10

  • Fixed issue where Nginx cache folders deleted on purge. #123 - by johan-chassaing
  • Fixed Redis purge all feature for installation where WordPress lives in a separate folder. #130 - by pySilver

1.9.9

1.9.8

  • Fixed homepage cache cleared when WPML plugin used #116 - by Niwreg
  • Fixed Purge Cache clears the whole Redis cache #113 - by HansVanEijsden
  • One log file for all site in WPMU.
  • Single site Redis cache purge when click on Purge Cache button in WPMU #122 - by Lars Støttrup Nielsen
  • Fixed notices and warnings.

1.9.7

  • Remove timestamp if cron or wp-cli #114 - by samedwards
  • Fixed notices and warnings.

1.9.6

  • Fixed cache purging on post publish.
  • Error fixed when redis server not installed.

1.9.5

Added custom purge URL option.

1.9.4

  • Added redis server connection timeout.
  • Added RedisException handling.

1.9.3

  • Added PhpRedis API support.
  • Added redis-lua script support to purge complete cache very fast.
  • Added composer.json support
  • Fixed cache purging link in admin bar.
  • Updated the initial settings to include the 'purge_method' #99 - by gagan0123

1.9.2

Fix purging for Redis cache and FastCGI cache

1.9.1

Fix purging for custom post types

1.9

Added Redis cache purge support.

1.8.13

Fixed PHP notice for an undefined index when "Enable Logging" is not set.

1.8.12

Updated readme and changelog

1.8.11

Fix url escaping #82 - by javisperez

1.8.10

  • Security bug fix

1.8.9

  • Default setting fix and wp-cli example correction - by bcole808

1.8.8

  • Added option to purge cache without nginx purge module - by bcole808

1.8.7

  • Added action rt_nginx_helper_purge_all to purge cache from other plugins - by gungeekatx

1.8.6

  • Removed wercker.yml from plugin zip/svn.
  • Updated readme

1.8.5

1.8.4

  • Fix undefined index issue and correct "purge_archive_on_del" key

1.8.3

  • Tested with WordPress 4.0
  • Fix issue #69

1.8.1

  • Tested with wordpress 3.9.1
  • Fix confilct with Mailchimp's Social plugin

1.8

  • New admin UI
  • Fix missing wp_sanitize_redirect function call

1.7.6

  • Update Backend UI
  • Added Language Support

1.7.5

  • Fixed option name mismatch issue to purge homepage on delete.

1.7.4

  • Disable purge and stamp by default.

1.7.3

  • Suppressed unlink related error-messages which can be safely ignored.
  • Fixed a bug in purge-all option.

1.7.2

  • pjv fixed bug in logging file.

1.7.1

  • Fixes bug in true purge and admin screen.

1.7

1.6.13

  • pjv changed the way home URL is accessed. Instead of site option, the plugin now uses home_URL() function.

1.6.12

  • telofy added purging of atom and RDF feeds.

1.6.11

  • Removed comments from Admin screens since, it was interfering with media uploads in 3.5 up.

1.6.10

  • Cleaned up code.
  • Added credits for code.
  • Improved attachment purging.

1.6.9

  • Added Faux to Purge all buttons, to avoid misleading users.

1.6.8

1.6.7

  • jk3us added better content-type detection for cache verification comments

1.6.6

1.6.5

  • Fixed typo that interfered with archive purge settings. Thanks to Daan Kortenbach for pointing this out.

1.6.4

  • Improved code for map generation to better conventions since the nesting confused some servers.
  • Added map update process to admin_init for frequent refreshes.

1.6.3

  • Fixed duplicate entries.

1.6.2

  • Another bug fix in the revised code for improved multisite and multidomain mapping.

1.6.1

  • Fixed bug in the revised code for improved multisite and multidomain mapping.

1.6

  • Revised code for improved multisite and multidomain mapping.

1.5

  • Timestamp now only gets added to content-type text/html
  • Added option to toggle timestamp creation

1.4

  • Fixed bug related to nomenclature of comment status that caused purge to fail.

1.3.9

  • Removed extraneous headers.

1.3.8

1.3.7

  • Changed the action hook, back to 'shutdown' from 'wp_footer' to add verification comments.
  • Added a check to prevent adding comments to ajax requests,

1.3.6

  • Changed the action hook, from 'shutdown' to 'wp_footer' to add verification comments. This was interfering with other plugins.

1.3.5

  • Improved Readme.
  • Improved cache verification comments.

1.3.4

1.3.3

  • Fixed map generation for multi domain installs using domain mapping plugin, where blog ids were not displayed.

1.3.2

  • Fixed map generation for multi domain installs with domain mapping plugin.

1.3.1

  • Minor fixes for directory structure and file names.

1.3

  • Improved Readme.

1.2

  • Fixed map generation error.
  • Fixed purging logic.
  • Fixed UI where purge settings were lost on disabling and re-enabling purge.
  • Minor Ui rearrangement.

1.1

  • Improved readme.txt. Added Screenshots.

1.0

  • First release

Upgrade Notice

2.2.3

Nginx Helper 2.2.3, Fix performance issue when saving nav menus, purging date archives for CPTs, purge page and post URLs when the post is trashed and passes the URL being purged in "rt_nginx_helper_purge_cached_file" hook as parameter.

Does this interest you?

Join us at rtCamp, we specialize in providing high performance enterprise WordPress solutions

nginx-helper's People

Contributors

actual-saurabh avatar arafatkn avatar bhargavbhandari90 avatar chandra-patel avatar chandrapatel avatar desaiuditd avatar faishal avatar gagan0123 avatar iam404 avatar imranhsayed avatar kirtangajjar avatar manishsongirkar avatar michaelbeil avatar miteshshah avatar patelutkarsh avatar pathan-amaankhan avatar pooja-muchandikar avatar pradeep910 avatar rahul286 avatar rahulsprajapati avatar ravanh avatar ritesh-patel avatar rohanveer1989 avatar sid177 avatar stayallive avatar thrijith avatar todeveni avatar umeshnevase avatar vaishaliagola27 avatar vishalkakadiya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nginx-helper's Issues

purge not working when blog is under a navigation menu

I have the case where the blog posts are located under the /blog/ navigation menu and as such the purge is not working because somehow it does not detect the /blog/ URL. It correctly purges the post itself as well as the / root of the website but somehow it fails to see the /blog/ URL. Any chances to fix that or is there a workaround?

Call to undefined function rtCamp\WP\Nginx\unlinkRecursive()

I get this after performing your latest update today in Wordpress then clicking Purge which came up with a quick 500 error.

PHP Fatal error: Call to undefined function rtCamp\WP\Nginx\unlinkRecursive() in /srv/www/wpress/wp-content/plugins/nginx-helper/purger.php on line 693"

post type archives are not purged in purge_them_all()

Post type archives are only purged when _purge_by_options(...) comes into action it should also be purged when using purge_them_all(). Consider this function:

private function _purge_all_post_type_archives() {
            if ( function_exists( 'get_post_type_archive_link' ) ) {
                $this->log( __( "Purging all post type archives.", "rt_wp_nginx_helper" ) );

                if ( $_post_types = get_post_types('', 'names') ) {
                    foreach ( $_post_types as $type ) {
                        if ( $_post_type_archive_link = get_post_type_archive_link( $type ) ) {
                            $this->log( "Purging post type archive (" . $type . ")" );
                            $this->purgeUrl( $_post_type_archive_link );
                        }
                    }
                }

                else {
                    $this->log( "- " . __( "No post type archives", "rt_wp_nginx_helper" ) );
                }
            }

            return true;
        }

called from purge_them_all()

2.0

Major Changes

Custom post type doesn't fire purge action

When I add or modify a custom post type purge isn't fired. After small search I've found that line 52 in nginx-helper.php prefents adding "publish_..." action. There is a check of "rt_wp_custom_post_types" but I haven't found any place there this option is being set and foreach tries to iterate over $_rt_custom_post_types but this isn't set. I've fixed it by:

$post_types = get_post_types( $args );
            if ( isset( $post_types ) && ! empty( $post_types ) ) {
                // if ( $this->options[ 'rt_wp_custom_post_types' ] == true ) {
                    foreach ( $post_types as $post_type ) {
                        add_action( 'publish_' . trim( $post_type ), array( &$rt_wp_nginx_purger, 'purgePost' ), 200, 1 );
                    }
                // }
            }

Clear multiple Schemes

Currently it only purges the cache for http (or https), would be nice if it could send the request to clear both.
Also, at some point I get lots of requests for purging that take a hit on the server trying to call out all those pages... I wonder if there could be a faster method rather than doing the standard POST or keep in cache a list of the existing cache and only clear the desired ones.

Credits

Hello, you don't need to dig that much in the code to see that this plugin was forked/copied from "NGINX Manger" http://wordpress.org/extend/plugins/nginx-manager/

If for instance you take the "Install" section

NGINX Manger" -> http://plugins.svn.wordpress.org/nginx-manager/trunk/admin/install.php
Your plugin -> https://github.com/rtCamp/nginx-helper/blob/master/admin/install.php

Ok, you have added some functionality and re factored some parts but you can't deny that your code is a fork of our.

So, can you please insert the corrects/right credits ?

Thanks

Thanks

option name mismatch

In admin panel option (input name) responsible for purging home page when post is trashed is "purge_homepage_on_del" but in purger.php used name in:

if ( $rt_wp_nginx_helper->options[ 'purge_homepage_on_delete' ] == 1 ) {
                    $this->_purge_homepage();
                }

Maps and auto reload nginx

basically when a nginx map file updates, user need to reload nginx server config.

normally using command: service nginx reload (on ubuntu)

above command needs sudo/root access so php with www-data can't run it out of the box....

Trick is, detect php-user - value of _SERVER["USER"]

assume it www-data

ask user to edit sudoers file so www-data can reload nginx config

they will add following line...

www-data ALL=NOPASSWD: nginx -t && service nginx reload

Then we will reload nginx config whenever we update map via PHP

<?php shell_exec('sudo nginx -t && service nginx reload'); ?>

There may be some mistake and some error checking in above

Get Mitesh involved as he is good at shell scripting

Test cache button

We need to add a feature using which people can verify if fastcgi_cache is working properly

Unlink Issue - Latest WP Plugin

2013/04/24 20:48:42 [error] 2609#0: *18 FastCGI sent in stderr: "/var/run/nginx-cache/6/81): Is a directory in /srv/www/xyz.com/wp$

PHP message: PHP Warning: unlink(/var/run/nginx-cache/0/6e): Is a directory in /srv/www/xyz.com/wpress/wp-content/plugins/nginx-h$
$ginx-helper/purger.php on line 692

Error is repeated several times for various cache files

purge does not work when using PHP-FPM with another user

I am using nginx helper 1.8.1 along with fastcgi caching and I noticed that the purging does not work. The problem here is that I have one PHP-FPM pool per website using another user account each. My nginx runs as www-data and so the files created by FastCGI caching also belongs to www-data. This means that the nginx helper can not delete (unlink) the cache file because that PHP-FPM runs as another user. Do you have any work around for that or any solution?

Why not always use the /purge URL instead of unlinking files?

Here would be the PHP-FPM error message just in case:

2014/06/16 12:42:23 [error] 28902#0: *41796 FastCGI sent in stderr: "PHP message: PHP Warning: opendir(/var/run/nginx-cache/mywebsite.com/): failed to open dir: Permission denied in /var/www/mywebsite.com/htdocs/wp-content/plugins/nginx-helper/purger.php on line 686" while reading response header from upstream, client: XX.XX.XX.XX, server: www.mywebsite.com, request: "GET /wp-admin/post.php?post=482&action=edit&message=1&nginx_helper_action=purge&nginx_helper_urls=all&_wpnonce=a382bcef22 HTTP/1.1", upstream: "fastcgi://unix:/var/lib/nginx/fastcgi/mywebsite.com.sock:", host: "www.mywebsite.com", referrer: "http://www.mywebsite.com/wp-admin/post.php?post=482&action=edit&message=1"

Add purge button in frontend admin bar

I know you can by updating a post/page or etc.

It would be great if we can manually purge a page/post/cpt by putting a link in the admin bar in frontend.

Update map.conf automatically

For old wordpress multisites, which uses blogs.dir, when a site domain-mapping settings changes, automatically regenerate map.conf

On a server, an admin moved mapped domain from site no. 22 to site no. 42 but map.conf did not get updated!

Purger purges dates only for "post" type posts

There is a bug in purger.php ad line 144:

if ( $_post_type == 'post' ) {
...

dates are being purger only for "post" type posts I think this should be:

if ( in_array($_post_type, get_post_types('', 'names')) ) {
...

now it will work also for custom post types.

Data duplication (maybe) - Plugin Settings

Report from a user:

I noticed both options related to nginx plugin in options table within the db have the same content:

rt_wp_nginx_helper_options

and

rt_wp_nginx_helper_global_options

carry:

a:17:{s:9:"log_level";s:4:"INFO";s:12:"log_filesize";i:5;s:12:"enable_purge";i:0;s:10:"enable_map";i:0;s:10:"enable_log";i:0;s:12:"enable_stamp";i:0;s:21:"purge_homepage_on_new";i:1;s:22:"purge_homepage_on_edit";i:1;s:21:"purge_homepage_on_del";i:1;s:20:"purge_archive_on_new";i:1;s:21:"purge_archive_on_edit";i:1;s:20:"purge_archive_on_del";i:1;s:28:"purge_archive_on_new_comment";i:0;s:32:"purge_archive_on_deleted_comment";i:0;s:17:"purge_page_on_mod";i:1;s:25:"purge_page_on_new_comment";i:1;s:29:"purge_page_on_deleted_comment";i:1;}

Is this intentional? Or is one of them left form older version? Please let me know so I remove the duplicate if it possible, and should they stay autoloaded in the db head?

I think we created global option for multisite networkwide settings. But this options should not be set/used on single-site wordpress.

Post switched to draft isn't purged when using custom permalink

I've a cron task which turns old posts to drafts after task is done post still presists in fastcgi cache because when purge is being fired get_permalink() returns basic link (...?p=555) and post isn't being purged. I've found a function which could help:

function get_draft_permalink( $post_id ) {
            require_once ABSPATH . '/wp-admin/includes/post.php';

            list( $permalink, $postname ) = get_sample_permalink( $post_id );

            return str_replace( '%postname%', $postname, $permalink );
        }

there could be a check of post_status when purge_by_option() to fix get_permalink() result.

Preload cache

We can have option in nginx-helper...

It will parse sitemap to preload all URLs in cache.

All we need to do is HIT every URL so nginx will create cached copy of each of them

Option to disable timestamp

If cache is on, we add a timestamp on HTML comment
Give option to disable it
By default it will be enable when cache is enabled and the option will be "strongly" recommended

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.