我使用Nginx和fcgi,python和web.py在ubuntu中提供文件。我的index.py内容是:
app = web.application(urls, globals(), True)
if __name__ == "__main__":
web.wsgi.runwsgi = lambda func, addr=None: web.wsgi.runfcgi(func, addr)
app.run()我将从以下内容开始:
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文件的生成。
提亚
发布于 2013-02-04 15:01:31
我使用nginx+uwsgi或apache+mod_wsgi部署我的应用程序,如果我使用touch code.py,它们都会重新加载应用程序。但我在开发时从集成服务器上运行应用程序。
如果不能在开发模式下运行具有自己的重载程序的web.py集成服务器,那么唯一的选择就是编写自己的具有重载功能的调度程序。
发布于 2013-02-04 10:03:18
这很可能是设计出来的。
您通常不希望在生产环境中重新加载模块(性能,并且由于Python中的模块重新加载并不总是具有预期的效果)。
对于开发,使用其他更简单的服务器模型(例如,Django提供了自己的开发服务器来实现此目的,我没有使用webpy,但根据tutorial,它似乎具有相同的功能)。仅在部署webapp时使用nginx,不要在开发环境中使用nginx。
在正常情况下(例外情况是在一些有问题的.pyc设置中,或者当.pyc文件是由具有错误权限的错误用户创建的时候),您不应该为NFS文件而烦恼。
https://stackoverflow.com/questions/14679298
复制相似问题