首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提供的文件是陈旧的/缓存的;Python是fcgi + web.py + nginx

提供的文件是陈旧的/缓存的;Python是fcgi + web.py + nginx
EN

Stack Overflow用户
提问于 2013-02-04 09:28:22
回答 2查看 305关注 0票数 0

我使用Nginx和fcgi,python和web.py在ubuntu中提供文件。我的index.py内容是:

代码语言:javascript
复制
app = web.application(urls, globals(), True)
if __name__ == "__main__":
    web.wsgi.runwsgi = lambda func, addr=None: web.wsgi.runfcgi(func, addr)
    app.run()

我将从以下内容开始:

代码语言:javascript
复制
spawn-fcgi -n -d /usr/share/nginx/www -f ~/Projects/index.py -a 127.0.0.1 -p 9002

它工作得很好,除了一旦我对源文件(index.py或它包含的任何类)进行了更改,这些新文件就永远不会加载。我必须停止spawn-fcgi并重启它才能看到任何更改。这使得开发变得非常繁琐。

此外,我还关闭了python .pyc/cache文件的生成。

提亚

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-04 15:01:31

我使用nginx+uwsgi或apache+mod_wsgi部署我的应用程序,如果我使用touch code.py,它们都会重新加载应用程序。但我在开发时从集成服务器上运行应用程序。

如果不能在开发模式下运行具有自己的重载程序的web.py集成服务器,那么唯一的选择就是编写自己的具有重载功能的调度程序。

票数 1
EN

Stack Overflow用户

发布于 2013-02-04 10:03:18

这很可能是设计出来的。

您通常不希望在生产环境中重新加载模块(性能,并且由于Python中的模块重新加载并不总是具有预期的效果)。

对于开发,使用其他更简单的服务器模型(例如,Django提供了自己的开发服务器来实现此目的,我没有使用webpy,但根据tutorial,它似乎具有相同的功能)。仅在部署webapp时使用nginx,不要在开发环境中使用nginx。

在正常情况下(例外情况是在一些有问题的.pyc设置中,或者当.pyc文件是由具有错误权限的错误用户创建的时候),您不应该为NFS文件而烦恼。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14679298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档