{"id":16362678,"url":"https://github.com/ahebrank/fastcgi_purge","last_synced_at":"2025-10-04T23:50:30.528Z","repository":{"id":71728047,"uuid":"86017790","full_name":"ahebrank/fastcgi_purge","owner":"ahebrank","description":"EE2 extension/accessory for nginx fastcgi cache invalidation","archived":false,"fork":false,"pushed_at":"2017-03-24T13:45:32.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-29T19:05:41.234Z","etag":null,"topics":["expressionengine"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ahebrank.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-24T02:17:28.000Z","updated_at":"2017-03-24T02:17:54.000Z","dependencies_parsed_at":"2023-05-18T03:00:13.025Z","dependency_job_id":null,"html_url":"https://github.com/ahebrank/fastcgi_purge","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ahebrank/fastcgi_purge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahebrank%2Ffastcgi_purge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahebrank%2Ffastcgi_purge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahebrank%2Ffastcgi_purge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahebrank%2Ffastcgi_purge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahebrank","download_url":"https://codeload.github.com/ahebrank/fastcgi_purge/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahebrank%2Ffastcgi_purge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278391191,"owners_count":25978944,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expressionengine"],"created_at":"2024-10-11T02:25:01.572Z","updated_at":"2025-10-04T23:50:30.484Z","avatar_url":"https://github.com/ahebrank.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FastCGI Purge\n\nFastCGI Purge is an extension for ExpressionEngine 2 that sends a purge request to the Nginx FastCGI cache upon entry submission/deletion. There is also an accessory option to manually send invalidation requests by URL or for the entire cache.\n\nThis module operates directly on the cache in the filesystem by hashing URL paths.\n\nThis module is based on [Purge](https://github.com/kevincupp/purge.ee2_addon) for Varnish invalidation.\n\n## Nginx setup\n\nAs a safety feature, the cache path must have 'cache' in it and be an existing directory. Leave the cache levels as `1:2` to ensure the EE hash function matches the Nginx config.\n\n```\nfastcgi_cache_path /etc/nginx/cache levels=1:2 keys_zone=EE:100m inactive=1d; # set cache path lifetime\nfastcgi_cache_key \"$request_uri\"; # this keying is required for individual page purge requests to succeed\nfastcgi_cache_use_stale error timeout invalid_header http_500;\nfastcgi_ignore_headers Cache-Control Expires Set-Cookie;\n\nserver {\n\tset $skip_cache 0;\n\n\t# disable the caching for a bunch of reasons\n\tif ($request_uri ~ \"^/manage/\") {\n\t\tset $skip_cache 1;\n\t}\n\tif ($request_uri ~* \"ACT=\") {\n        set $skip_cache 1;\n\t}\n\tif ($request_method = POST) {\n\t\tset $skip_cache 1;\n\t}\n\n\tlocation ~ \\.php$ {\n\t\tfastcgi_pass unix:/var/run/php5-fpm.sock;\n\t\tfastcgi_index index.php;\n\t\tinclude fastcgi_params;\n\t\tfastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n\t\tfastcgi_cache_bypass $skip_cache;\n\t    fastcgi_no_cache $skip_cache;\n\t\tfastcgi_cache EE;\n\t\tfastcgi_cache_valid  60m;\n\t\t# if you want to see HIT vs. MISS\n\t\tadd_header X-Cache $upstream_cache_status;\n\t}\n}\n```\n\n## Module setup\n\nIn `config.php`:\n\n```\n// should match the location in nginx config\n$config['fastcgi_cache_dir'] = '/etc/nginx/cache';\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahebrank%2Ffastcgi_purge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahebrank%2Ffastcgi_purge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahebrank%2Ffastcgi_purge/lists"}