如何在不重启web服务器的情况下部署Django代码

-4 投票
1 回答
1233 浏览
提问于 2025-04-17 15:16

我决定从PHP转到Django。我已经在我的网络服务器上成功安装了Python和Django。请问我该如何编写我的Python/Django程序,然后通过FTP把它上传到服务器上运行,而不需要每次都通过SSH登录服务器并重启Django服务器呢?

有没有什么方法可以让Django代码的运行方式和PHP代码一样(如果可能的话,让服务器一直运行)?

我的服务器运行的是CentOS 5.8和Apache。

补充: 我真的推荐这个教程给想在网络服务器上设置Django的人,这是我在阅读了很多帖子后的建议。使用Django在Nginx网络服务器上运行是你能获得的最强大性能。

https://code.djangoproject.com/wiki/DjangoAndNginx

1 个回答

5

你不能让Django像PHP那样神奇地运行。请查看部署文档,因为它是非常优秀的资源。

你会看到关于Apache的逐步指导。

至于每次加载新代码时不需要SSH,最好的工具就是fabric

http://docs.fabfile.org/en/1.5/

Fabric是一个非常棒的工具,安装和配置都特别简单,它可以让你从本地机器上对远程机器执行命令。

举个例子,我只需在本地机器上输入fab production deploy就可以...

  • 推送git的更改
  • 在远程机器上拉取git的更改
  • 运行pip安装
  • 迁移数据库
  • 运行收集静态文件
  • 最后“重启”Apache - 通过触碰wsgi文件。

我想强调的是,fabric并不像那些复杂的部署构建脚本。设置fabric真的只需要10分钟。

撰写回答