如何在不重启web服务器的情况下部署Django代码
我决定从PHP转到Django。我已经在我的网络服务器上成功安装了Python和Django。请问我该如何编写我的Python/Django程序,然后通过FTP把它上传到服务器上运行,而不需要每次都通过SSH登录服务器并重启Django服务器呢?
有没有什么方法可以让Django代码的运行方式和PHP代码一样(如果可能的话,让服务器一直运行)?
我的服务器运行的是CentOS 5.8和Apache。
补充: 我真的推荐这个教程给想在网络服务器上设置Django的人,这是我在阅读了很多帖子后的建议。使用Django在Nginx网络服务器上运行是你能获得的最强大性能。
1 个回答
5
你不能让Django像PHP那样神奇地运行。请查看部署文档,因为它是非常优秀的资源。
至于每次加载新代码时不需要SSH,最好的工具就是fabric
。
http://docs.fabfile.org/en/1.5/
Fabric是一个非常棒的工具,安装和配置都特别简单,它可以让你从本地机器上对远程机器执行命令。
举个例子,我只需在本地机器上输入fab production deploy
就可以...
- 推送git的更改
- 在远程机器上拉取git的更改
- 运行pip安装
- 迁移数据库
- 运行收集静态文件
- 最后“重启”Apache - 通过触碰wsgi文件。
我想强调的是,fabric并不像那些复杂的部署构建脚本。设置fabric真的只需要10分钟。