Introduction to how to configure fastcgi cache in Nginx
This article brings you an introduction to the method of configuring fastcgi cache in Nginx. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
Caching mechanism
Nginx provides two caching methods based on proxy (proxy) and fastcgi-based. The instruction sets of the two are very similar, but there are differences in use. Not big. Since this blog adopts Nginx PHP-FPM architecture, it uses fastcgi-based cache, that is, fastcgi cache.
Configuration
The mechanism of fastcgi cache is to cache the page returned by the back-end CGI service. When subsequent requests come, the page will be returned directly, eliminating the need to communicate with the back-end service. And the consumption of generating pages. The principle of fastcgi cache is similar to that of squid, varnish, CDN, etc. Due to the reduction of back-end requests, in principle the performance will be much higher than various WordPress cache plug-ins.
fastcgi cache belongs to the fastcgi module, and the fastcgi module belongs to the http module, so cache-related configurations should appear in these two and subordinate configuration blocks (mainly http, server and location).
According to the official documentation, the cache configuration used by the blog site is as follows:
http { ... fastcgi_connect_timeout 30s; # 全局设置, fastcgi_cache_path只能出现在http配置块中 # fastcgi_cache_path设置全局的缓存路径、文件大小等,可多次出现设置不同的缓存池 fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=WORDPRESS:10m inactive=10m max_size=500m; fastcgi_cache_key $scheme$request_method$host$request_uri; # 设置使用过期缓存的情形:后端错误、超时等 fastcgi_cache_use_stale error timeout invalid_header http_500 http_503; ... server { ... # 缓存策略指示变量 set $skip_cache 0; # 缓存策略 if ($query_string != "") { set $skip_cache 1; } if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|sitemap(_index)?.xml") { set $skip_cache 1; } # 登录用户或发表评论者 if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") { set $skip_cache 1; } location ~ \.php$ { ... # 使用的keyzone,这里使用http中定义的WORDPRESS fastcgi_cache WORDPRESS; # 是否跳过缓存 fastcgi_cache_bypass $skip_cache; fastcgi_no_cache $skip_cache; # 后端返回成功的情况下缓存10分钟 fastcgi_cache_valid 200 10m; # 添加header字段,指示缓存命中状态(调试使用) add_header X-Cache $upstream_cache_status; } } }
The above configuration does the following:
Set the cache pool information (fastcgi_cache_path );
Set cache key (fastcgi_cache_key);
Expired file processing (fastcgi_cache_use_stale)
Cache strategy (fastcgi_cache_bypass/fastcgi_no_cache)
Cache time when the backend request is successful (fastcgi_cache_valid)
Added debugging information header (add_header)
Restart Nginx, and then visit the page to check the header status and response time of the page. It can be seen that after one request (the number of times can be set through fastcgi_cache_min_uses
), subsequent requests are made from the cache (X-Cache value is HIT), and the speed improvement is very obvious. For the management background page, the value of x-cache
is BYPASS
, which is exactly what we need.
Recommended related articles:
Operation steps of Nginx configuration file nginx.conf
Explanation of the Rewrite pseudo-static rule in Nginx ( Details)
The above is the detailed content of Introduction to how to configure fastcgi cache in Nginx. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











There are four ways to adjust the WordPress article list: use theme options, use plugins (such as Post Types Order, WP Post List, Boxy Stuff), use code (add settings in the functions.php file), or modify the WordPress database directly.

To build a website using WordPress hosting, you need to: select a reliable hosting provider. Buy a domain name. Set up a WordPress hosting account. Select a topic. Add pages and articles. Install the plug-in. Customize your website. Publish your website.

A step-by-step guide to replacing a header image of WordPress: Log in to the WordPress dashboard and navigate to Appearance >Theme. Select the topic you want to edit and click Customize. Open the Theme Options panel and look for the Site Header or Header Image options. Click the Select Image button and upload a new head image. Crop the image and click Save and Crop. Click the Save and Publish button to update the changes.

Importing WordPress source code requires the following steps: Create a sub-theme for theme modification. Import the source code and overwrite the files in the sub-topic. Activate the sub-theme to make it effective. Test the changes to make sure everything works.

You can view the WordPress front-end by logging into the dashboard and switching to the View Sites tab; automate the viewing process with a headless browser; installing the WordPress plugin to preview the front-end within the dashboard; viewing the front-end via a local URL (if WordPress is set locally).

WordPress IP blocking plugin selection is crucial. The following types can be considered: based on .htaccess: efficient, but complex operation; database operation: flexible, but low efficiency; firewall: high security performance, but complex configuration; self-written: highest control, but requires more technical level.

WordPress editing dates can be canceled in three ways: 1. Install the Enable Post Date Disable plug-in; 2. Add code in the functions.php file; 3. Manually edit the post_modified column in the wp_posts table.

NGINX and Apache each have their own advantages and disadvantages, and the choice should be based on specific needs. 1.NGINX is suitable for high concurrency scenarios because of its asynchronous non-blocking architecture. 2. Apache is suitable for low-concurrency scenarios that require complex configurations, because of its modular design.
