阅读本文大概需要 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 项目部署完毕,是不是非常简单啊!
原创文章,已开放微信转载,其他平台转载请注明原作者和出处。
↓↓↓
领取专属 10元无门槛券
私享最新 技术干货