Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python和wsgi禁用apache上的缓存_Python_Apache_Mod Wsgi_Wsgi_Bottle - Fatal编程技术网

使用python和wsgi禁用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

我在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
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>