代码之家  ›  专栏  ›  技术社区  ›  Steve Tjoa

wsgi服务页不刷新

  •  0
  • Steve Tjoa  · 技术社区  · 14 年前

    我最近在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. 停止和启动切罗基


    在Python代码中。然后我停止切罗基,刷新,我显然看到一个错误消息。我重启切罗基,刷新,我看到了 .
    1 回复  |  直到 14 年前
        1
  •  2
  •   Rick    14 年前

    所以这个方法的工作原理是Cherokee在后台为您管理一个正在运行的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运行的,Cherokee更像是一个代理服务器。为了更新应用程序代码,您需要将HUP信号发送给uwsgi,而不是Cherkee。

    sudo killall -HUP uwsgi
    

    这将导致uwsgi更新到您的应用程序的变化,而不管切诺基。