wsgi-served页面不刷新

时间:2010-06-13 06:05:52

标签: python wsgi cherokee uwsgi

我最近得到了第一个与切诺基一起在uWSGI工作的应用程序。我使用了以下代码来自uWSGI docs

def application(environ, start_response):
  start_response('200 OK', [('Content-Type', 'text/plain')])
  yield 'Hello World\n'

页面正确读取Hello World。当我将该文本更改为New Thing并刷新时,没有任何更改。我忘记了什么?

我尝试了什么:

  1. 清除浏览器历史记录和缓存
  2. 停止并开始切诺基
  3. <小时/> 编辑:为了澄清,我在Python代码中将Hello World更改为New Thing。然后我停止切诺基,刷新,我显然看到一条错误信息。我重新启动切诺基,刷新,我看到Hello World

1 个答案:

答案 0 :(得分:2)

所以它的工作方式是切诺基为你管理一个正在运行的uwsgi实例。到目前为止,我注意到的是,如果你关闭切诺基,它似乎也没有关闭运行uwsgi实例。

试试这个:

sudo service cherokee start
ps aux | grep uwsgi 
# you should see nothing from this ps command

# now hit your web app
sudo service cherokee stop
ps aux | grep uwsgi
# you should see the instance of uwsgi that cherokee started

因此,您的应用代码实际上是通过uwsgi运行的,切诺基更像是代理服务器。为了更新应用程序代码,您需要将HUP信号发送给uwsgi,而不是Cherkee。

sudo killall -HUP uwsgi

这应该会导致uwsgi更新到您的应用更改,无论切诺基如何。