python webpy purge nginx fastcgi cache 代码实现,webpynginx,前几天写了一下 ngin
python webpy purge nginx fastcgi cache 代码实现,webpynginx,前几天写了一下 ngin
前几天写了一下 nginx + webpy + fastcgi cache 配置详解,光配置还是不够的,启用缓存之后还需要purge缓存,今天分享下如何使用python来purge nginx的缓存。
#!/usr/bin/env python# coding: utf-8import socketfrom config import configParser,loggerimport refrom urlparse import urlparse__author__ = 'byrx.net'purgeHost = 'byrx.net'purgeIP = '127.0.0.1'purgePort = 80def purge(url): urlParts = urlparse(url) page = '%s%s%s' % (urlParts.path, ('?' if urlParts.query else ''), urlParts.query or '') s = None try: logger.info('purge %s' %(url,)) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((purgeIP, purgePort)) s.send('GET /purge/' + page +' HTTP/1.1\nHost:' + purgeHost + '\n\n') data = s.recv(1024) ###检查是否有“404 Not Found” 或 "Successful purge" 字符串 success = "Successful purge" found = "404 Not Found" if re.search(success,data): #purge success return 0 elif re.search(found,data): #print "该页面没有被缓存<br>" return 1 else: #print "未知错误...<br>" logger.error('nginx purge url response:%s' % (data,)) return -1 except Exception,ex: logger.error('nginx purge error : %s' % (ex,)) return -1 finally: if s: s.close()
这段代码使用socket来purge缓存,需要指定连接的IP和端口。这是因为在配置时指定了允许访问的IP地址,其他地址拒绝访问。
相关内容
- Python初学教程:Python使用os.path处理文件路径,pythonos
- Python验证Url地址的正则表达式,python正则表达式,Pytho
- Python连接mysql OperationalError: (1366, "Incorrect string
- Python使用easy_install升级包,pythoneasy_install,easy_install
- Python实现java或者.net的getHashCode()函数,pythongethashcode,
- Python正则表达式入门,python正则表达式,一. 编译正则表
- Python使用elaphe包生成二维码,pythonelaphe,首先需要安装
- Python正则表达式前向否定断言使用示例,python正则表达
- python itertools模块学习笔记,pythonitertools,python itert
- Decorate an output stream with print-like methods,decorateprint-lik
评论关闭