Django部署静态文件
线上环境下部署静态文件 将静态文件部署到线上环境的基本步骤很简单:当静态文件改变时,运行collectstatic 命令收集静态文件,然后将该目录(STATIC_ROOT) 搬到静态文件服务器上。根据STATICFILES_STORAGE的设置,这些文件可能需要手工移动到一个新的位置,或者使用Storage 类的post_process 方法完成该任务。 当然,与所有的部署任务一样。每个线上环境的建立都会有所不同,所以你需要调整基本的纲要以适应你的需求。下面是一些常见的方法,可能有所帮助。 网站和静态文件位于同一台服务器上 如果你的静态文件和网站位于同一台服务器,流程可能像是这样: 将你的代码推送到部署的服务器上。 在这台服务器上,运行collectstatic 来收集所有的静态文件到STATIC_ROOT。 配置Web 服务器来托管URL STATIC_URL下的STATIC_ROOT。 你可能想自动化这个过程,特别是如果你有多台Web 服务器。有许多种方法来完成这个自动化,但是许多Django 开发人员喜欢 Fabric。 在一下的小节中,我们将演示一些示例的Fabric 脚本来自动化不同选择的文件部署。Fabric 脚本的语法相当简单,但这里不会讲述;参见Fabric 的文档 以获得其语法的完整解释。 所以,一个将静态文件部署到多台Web 服务器上的Fabric 脚本大概会是