웹사이트 콘텐츠를 업데이트하기 위한 Nginx 캐시 정리 구성
웹사이트를 구축할 때 웹사이트 액세스 속도를 높이고 정적 파일을 캐시하기 위해 Nginx를 역방향 프록시 서버로 사용하는 경우가 많습니다. 그러나 웹사이트 콘텐츠를 업데이트할 때 사용자가 최신 콘텐츠에 계속 액세스할 수 있도록 제때에 Nginx의 캐시를 지워야 합니다. 이 기사에서는 웹 사이트 콘텐츠를 최신 상태로 유지하기 위해 Nginx 캐시 정리를 구성하는 방법을 소개합니다.
1. 캐시 경로 구성
먼저 Nginx의 캐시 경로를 구성해야 합니다. Nginx 구성 파일(일반적으로 /etc/nginx/nginx.conf
또는 /etc/nginx/conf.d/default.conf
)을 열고 http 섹션에 다음 구성을 추가합니다. <code>/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
,找到http
段,添加以下配置:
http { ... proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off; server { ... } ... }
上述配置将缓存文件存储在/var/cache/nginx
目录下,并设置了缓存大小为10GB,缓存过期时间为60分钟。需要根据实际情况进行调整。
二、配置缓存清理接口
接下来,我们需要配置一个接口用于清理Nginx的缓存。
在Nginx的配置文件中,找到需要清理缓存的地方,比如一个POST请求:
http { ... server { ... location /update { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # 清理缓存 proxy_cache_purge my_cache GET POST; } ... } ... }
上述配置中,location /update
用于匹配需要更新的URL路径,比如/update
。proxy_cache_purge
指令用于清理缓存,参数GET POST
表示同时清理GET和POST请求的缓存。可以根据实际情况进行调整。
三、安装Purge模块
Nginx的默认安装中并不包含proxy_cache_purge
模块,我们需要手动安装。
使用以下命令安装Nginx的模块管理工具:
yum install -y yum-utils
使用以下命令添加Nginx的扩展源:
yum-config-manager --add-repo=https://nginx.org/packages/centos/7/x86_64/
最后,使用以下命令安装Nginx的nginx-module-cache-purge
模块:
yum install -y nginx-module-cache-purge
四、重启Nginx服务
完成以上配置后,需要重启Nginx服务使配置生效。使用以下命令重启Nginx:
systemctl restart nginx
五、清理缓存的方式
现在,我们可以通过访问清理缓存的接口来实现清理Nginx的缓存。比如,如果我们要清理/update
路径的缓存,可以使用以下命令:
curl -X POST http://yourdomain.com/update
这样就会触发Nginx清理/update
路径下的缓存。
六、自动清理缓存
为了保证网站内容的更新,我们可以通过定期清理缓存的方式,自动保持Nginx中的缓存与实际网站内容的一致性。
我们可以使用定时任务工具(如Cron)来定期执行清理缓存的命令。比如,设置每天凌晨4点清理一次缓存,可以使用以下命令编辑定时任务:
crontab -e
然后添加以下一行命令:
0 4 * * * curl -X POST http://yourdomain.com/update >> /tmp/nginx_cache_clear.log 2>&1
保存并退出编辑器,这样每天凌晨4点就会触发一次清理缓存的操作,并将执行结果保存在/tmp/nginx_cache_clear.log
rrreee
/var/cache/nginx
디렉터리에 저장하고 캐시 크기를 10GB로 설정하고 캐시 만료 시간을 60으로 설정합니다. 분. 실제 상황에 따라 조정이 필요합니다. 2. 캐시 정리 인터페이스 구성다음으로 Nginx 캐시를 정리하기 위한 인터페이스를 구성해야 합니다. 🎜🎜Nginx 구성 파일에서 POST 요청과 같이 캐시를 지워야 하는 위치를 찾습니다. 🎜rrreee🎜위 구성에서는 location /update
를 사용하여 URL 경로를 일치시킵니다. 업데이트가 필요한 항목(예: /update
) proxy_cache_purge
지시문은 캐시를 지우는 데 사용되며, GET POST
매개변수는 GET 및 POST 요청의 캐시를 동시에 지우는 것을 의미합니다. 실제 상황에 따라 조정될 수 있습니다. 🎜🎜3. 퍼지 모듈 설치 🎜🎜Nginx의 기본 설치에는 proxy_cache_purge
모듈이 포함되어 있지 않으므로 수동으로 설치해야 합니다. 🎜🎜다음 명령을 사용하여 Nginx의 모듈 관리 도구를 설치합니다. 🎜rrreee🎜다음 명령을 사용하여 Nginx의 확장 소스를 추가합니다. 🎜rrreee🎜마지막으로 다음 명령을 사용하여 Nginx의 nginx-module-cache-purge를 설치합니다. code> module :🎜rrreee🎜4. Nginx 서비스 다시 시작🎜🎜위 구성을 완료한 후 구성을 적용하려면 Nginx 서비스를 다시 시작해야 합니다. Nginx를 다시 시작하려면 다음 명령을 사용하십시오. 🎜rrreee🎜 5. 캐시를 지우는 방법 🎜🎜 이제 클린 캐시 인터페이스에 액세스하여 Nginx 캐시를 정리할 수 있습니다. 예를 들어, <code>/update
경로에서 캐시를 지우려면 다음 명령을 사용할 수 있습니다: 🎜rrreee🎜이렇게 하면 Nginx가 /update 경로입니다. 🎜🎜 6. 자동으로 캐시 지우기 🎜🎜 웹사이트 콘텐츠가 업데이트되었는지 확인하기 위해 정기적으로 캐시를 정리하여 Nginx의 캐시와 실제 웹사이트 콘텐츠 간의 일관성을 자동으로 유지할 수 있습니다. 🎜🎜Cron과 같은 예약 작업 도구를 사용하여 정기적으로 캐시 지우기 명령을 실행할 수 있습니다. 예를 들어 매일 오전 4시에 캐시가 지워지도록 설정하려면 다음 명령을 사용하여 예약된 작업을 편집할 수 있습니다. 🎜rrreee🎜 그런 다음 다음 명령 줄을 추가합니다. 🎜rrreee🎜 저장하고 편집기를 종료합니다. 매일 오전 4시에 캐시 삭제 작업이 실행되며, 실행 결과는 <code>/tmp/nginx_cache_clear.log
파일에 저장됩니다. 🎜🎜요약🎜🎜위 구성을 통해 Nginx 캐시를 자동으로 정리하고 웹사이트 콘텐츠를 최신 상태로 유지할 수 있습니다. 동시에 다양한 웹 사이트 요구 사항에 맞게 필요에 따라 캐시 경로와 정리 방법을 유연하게 조정할 수도 있습니다. 🎜위 내용은 웹사이트 콘텐츠를 최신 상태로 유지하기 위한 Nginx 캐시 정리 구성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!