使用python和wsgi禁用apache上的缓存
我在Apache上用Python瓶子开发时遇到问题。每次我更改导入到main app.wsgi的dbmanager.py文件时,都没有任何更改。我需要“触摸”app.wsgi以查看dbmanager.py中的更改或重新启动apache。我尝试了一切:修改.htaccess、apache虚拟主机配置。但还是没什么。有什么想法吗 我的文件路径是:使用python和wsgi禁用apache上的缓存,python,apache,mod-wsgi,wsgi,bottle,Python,Apache,Mod Wsgi,Wsgi,Bottle,我在Apache上用Python瓶子开发时遇到问题。每次我更改导入到main app.wsgi的dbmanager.py文件时,都没有任何更改。我需要“触摸”app.wsgi以查看dbmanager.py中的更改或重新启动apache。我尝试了一切:修改.htaccess、apache虚拟主机配置。但还是没什么。有什么想法吗 我的文件路径是: /var/www/paka/public_html/edi/api/app.wsgi 我有两个文件: app.wsgi import os, sys f
/var/www/paka/public_html/edi/api/app.wsgi
我有两个文件:
app.wsgi
import os, sys
from os.path import dirname
sys.path.append(dirname(__file__))
import bottle
from bottle import route, run, template, post, request, response
bottle.debug(True)
bottle.TEMPLATES.clear()
import dbmanager
c = dbmanager.connect()
@route('/hello/<name>')
def index(name):
#return hello.world() # only log in console
return template('<b>Hello {{name}}</b>!' + c, name=name)
application = bottle.default_app()
我的.htaccess
# DISABLE CACHING
ExpiresActive On
ExpiresDefault A1
Header append Cache-Control must-revalidate
<IfModule mod_headers.c>
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires 0
</IfModule>
<FilesMatch "\.(css|flv|gif|htm|html|ico|jpe|jpeg|jpg|js|png|pdf|swf|txt|py|pcc)$">
<IfModule mod_expires.c>
ExpiresActive Off
</IfModule>
<IfModule mod_headers.c>
FileETag None
Header unset ETag
Header unset Pragma
Header unset Cache-Control
Header unset Last-Modified
Header set Pragma "no-cache"
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Expires "Mon, 10 Apr 1972 00:00:00 GMT"
</IfModule>
</FilesMatch>
#禁用缓存
过期于
到期默认值A1
标头附加缓存控件必须重新验证
标头设置缓存控制“无缓存,无存储,必须重新验证”
标题集Pragma“无缓存”
标题集过期0
过期活动关闭
FileTag无
标题未设置ETag
标题未设置Pragma
头取消缓存控制
上次修改未设置的标题
标题集Pragma“无缓存”
标题集缓存控制“最大年龄=0,无缓存,无存储,必须重新验证”
标题集过期“1972年4月10日星期一00:00:00 GMT”
我的虚拟主机配置:
WSGIDaemonProcess bottle user=www-data group=www-data processes=1 threads=5
WSGIScriptAlias / /var/www/paka/public_html/edi/api/app.wsgi
<Directory /var/www/paka/public_html/edi/api/>
WSGIProcessGroup bottle
WSGIApplicationGroup %{GLOBAL}
Require all granted
</Directory>
WSGIDaemonProcess用户=www数据组=www数据进程=1线程=5
WSGIScriptAlias//var/www/paka/public_html/edi/api/app.wsgi
WSGI处理组瓶
WSGIApplicationGroup%{GLOBAL}
要求所有授权
mod_wsgi文档中详细介绍了源代码重新加载的主题
您或者必须触摸WSGI脚本文件,或者如果这是一个开发系统,您可以向WSGI脚本添加一些代码(如文档所示),这将检测更改和自动重新启动进程
更好的是,对于开发,使用mod_wsgi-express
并使用--reload on changes
选项
有关此主题的文档中有太多细节,无法在此处进行批量剪切和粘贴。文件更改后,请尝试重新启动apache?是的,当我重新启动apache时,我会看到更改。那么就没有其他选择了?我总是需要在修改文件后重新启动jeeves?
WSGIDaemonProcess bottle user=www-data group=www-data processes=1 threads=5
WSGIScriptAlias / /var/www/paka/public_html/edi/api/app.wsgi
<Directory /var/www/paka/public_html/edi/api/>
WSGIProcessGroup bottle
WSGIApplicationGroup %{GLOBAL}
Require all granted
</Directory>