


Nginx reverse proxy cache refresh configuration and update website static resources in real time
Nginx reverse proxy cache refresh configuration, real-time update of website static resources
Introduction:
In Web development, static resources are an indispensable part of the website. However, static resources that are frequently updated may cause users to see old versions during access or load slowly. An effective way to solve this problem is to use Nginx's reverse proxy caching function and configure it to update the static resources of the website in real time. This article will introduce how to achieve this function through Nginx configuration.
-
Enable reverse proxy cache:
First, we need to enable reverse proxy cache in Nginx configuration. Find the Nginx configuration file (usually nginx.conf) and open it, then find the http section and add the following configuration:http { proxy_cache_path /path/to/cache/directory levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m; proxy_temp_path /path/to/temporary/directory; proxy_cache_key "$scheme$request_method$host$request_uri"; proxy_ignore_headers "Cache-Control" "Expires"; proxy_cache_valid any 10m; proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; server { ... location / { proxy_cache cache_zone; proxy_pass http://backend-server; } ... } }
Copy after loginDescription:
proxy_cache_path
: Set the reverse proxy cache path and related configurations.levels
is the directory level,keys_zone
is the name and size of the cache area,max_size
sets the maximum size of the cache,inactive
specifies the cache timeout .proxy_temp_path
: Set the temporary directory path.proxy_cache_key
: Variable used to generate cache key, $scheme represents the request protocol, $request_method represents the request method, $host represents the host name of the request, and $request_uri represents the URI of the request.proxy_ignore_headers
: Specify the response headers that need to be ignored.proxy_cache_valid
: Set the cache validity time.proxy_cache_use_stale
: Defines the circumstances under which stale cache is allowed to be used when updating the cache.- Updating static resources in real time:
To achieve real-time updating of static resources on the website, we need to add additional logic in the background program or script to issue a request to refresh the cache after each update of the static resources. . The following is a simple example:
In the background program or script, when the static resources are updated, issue an HTTP request to refresh the cache:
import requests def refresh_cache(): url = "http://your-nginx-server/purge-url" headers = {"Host": "your-hostname"} response = requests.get(url, headers=headers) if response.status_code == 200: print("Cache refreshed successfully!") else: print("Failed to refresh cache.")
In the Nginx configuration file, Configure address routing and cache refresh:
location ~ /purge-url { internal; proxy_cache_purge cache_zone "$scheme$request_method$host$request_uri$is_args$args"; }
Description:
-
location
: Configure the route for processing cache refresh requests. -
internal
: Indicates that the route can only be accessed by internal requests and cannot be accessed by external requests. -
proxy_cache_purge
: Configure the cache area to be refreshed and related parameters.
With the above configuration, when issuing a GET request with X-Purge-Cache: 1
to http://your-nginx-server/purge-url
, Nginx will refresh the corresponding cache according to the requested URI.
- Verification:
To verify the correctness of the configuration, you can use a browser, Postman, or similar tool to issue a GET withX-Purge-Cache: 1
ask. If the cache is refreshed successfully, when accessing the corresponding static resource again, the latest version will be obtained from the backend server and the cache will be updated to ensure that the user sees the latest static resource.
Conclusion:
Through Nginx's reverse proxy cache configuration and real-time refresh of static resources, we can improve the performance and access speed of the website, and ensure that users can obtain the latest static resources in real time resource. This is especially important for websites that are frequently updated. It can also reduce the pressure on the back-end server and improve the stability and reliability of the website. I hope this introduction will be helpful to you!
The above is the detailed content of Nginx reverse proxy cache refresh configuration and update website static resources in real time. 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

How to configure an Nginx domain name on a cloud server: Create an A record pointing to the public IP address of the cloud server. Add virtual host blocks in the Nginx configuration file, specifying the listening port, domain name, and website root directory. Restart Nginx to apply the changes. Access the domain name test configuration. Other notes: Install the SSL certificate to enable HTTPS, ensure that the firewall allows port 80 traffic, and wait for DNS resolution to take effect.

You can query the Docker container name by following the steps: List all containers (docker ps). Filter the container list (using the grep command). Gets the container name (located in the "NAMES" column).

How to confirm whether Nginx is started: 1. Use the command line: systemctl status nginx (Linux/Unix), netstat -ano | findstr 80 (Windows); 2. Check whether port 80 is open; 3. Check the Nginx startup message in the system log; 4. Use third-party tools, such as Nagios, Zabbix, and Icinga.

How to configure Nginx in Windows? Install Nginx and create a virtual host configuration. Modify the main configuration file and include the virtual host configuration. Start or reload Nginx. Test the configuration and view the website. Selectively enable SSL and configure SSL certificates. Selectively set the firewall to allow port 80 and 443 traffic.

The methods that can query the Nginx version are: use the nginx -v command; view the version directive in the nginx.conf file; open the Nginx error page and view the page title.

Docker container startup steps: Pull the container image: Run "docker pull [mirror name]". Create a container: Use "docker create [options] [mirror name] [commands and parameters]". Start the container: Execute "docker start [Container name or ID]". Check container status: Verify that the container is running with "docker ps".

Starting an Nginx server requires different steps according to different operating systems: Linux/Unix system: Install the Nginx package (for example, using apt-get or yum). Use systemctl to start an Nginx service (for example, sudo systemctl start nginx). Windows system: Download and install Windows binary files. Start Nginx using the nginx.exe executable (for example, nginx.exe -c conf\nginx.conf). No matter which operating system you use, you can access the server IP

Create a container in Docker: 1. Pull the image: docker pull [mirror name] 2. Create a container: docker run [Options] [mirror name] [Command] 3. Start the container: docker start [Container name]
