使用 Caddy 部署 Django 项目

阅读本文大概需要 4 分钟。

通常情况下,我们将 Django 项目部署到 Nginx 、Apache 等服务器中,用过的人都知道,各种配置相对复杂。

今天给大家介绍一种非常简单的部署方式,使用 Caddy 来部署。为了简化配置,我使用 nssm 将 Django 项目安装成服务 (以Windows系统为例)。

需要用到的软件或工具:NSSM、Caddy。

NSSM是一个服务封装程序,它可以将普通 exe 程序封装成服务,使之像 Windows 服务一样运行。

Caddy 服务器(或者Caddy Web)是一个开源的使用 GoLang 编写,支持 HTTP/2 的 Web 服务端。虽然效率上可能不如 Apache、Nginx,但Caddy 使用起来非常简单,并且他有很多的优点,如自动支持HTTP/2协议等。

下面就开始介绍 Django 项目的部署。

1. Django 项目收集 static

Django 项目的 settings.py 中增加配置:

在命令行中运行以下命令,收集项目中用到的静态文件。

之后会看到目录中多了一个 static 目录,存储的是项目用到的所有静态文件。

2. 使用 NSSM 将 Django 安装为服务

cmd 下运行:

其中 django_api_test 为服务名,可根据实际输入。

输入命令后,弹出服务配置窗口,设置 python.exe 路径、django 项目路径,以及启动参数。

其中启动参数这里填写的与之前开发过程中启动djang项目的方式一致。 端口可根据实际填写,端口前需要填写 0.0.0.0,不能省略,这样才能让所有的机器访问。

安装服务后,运行以下命令,启动服务。

若启动失败,可打开 Windows 服务窗口(services.msc),手动启动相应的服务。

3. Caddy 服务器配置

在 caddy.exe 同级目录下新建文件 Caddyfile ,输入配置:

其中第一段配置表示静态文件的处理,将所有的 static 请求都跳转到当前目录的 static 文件夹。

第二段配置是 python 动态脚本执行的代理,跳转到的地址与之前配置的 django_api_test 服务的启动参数中设置的地址一致。

log 参数表示日志文件的位置。(这里使用默认的格式)

Caddyfile 文件配置完成后,执行 caddy.exe ,服务器启动,即可在浏览器中输入 127.0.0.1: 818来进行访问了。

打开日志文件,可以看到类似的输出:

4. 使用 NSSM 将 Caddy 安装为服务

通过上面的步骤,已经完成了 Django 项目部署。 但是要保证 caddy.exe 一直开着,若将caddy窗口关闭后,服务器也将关闭。若想要 caddy.exe 一直开着,可以使用 NSSM 将其安装为服务。

同样,cmd 下执行:

在弹出的窗口中配置 caddy.exe路径及其工作目录。

安装服务后,运行命令 nssm start caddy_est 启动服务,若启动失败,可打开 Windows 服务(services.msc)手动启动。

至此,Django 项目部署完毕,是不是非常简单啊!

原创文章,已开放微信转载,其他平台转载请注明原作者和出处。

↓↓↓

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181117G1PQCL00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券