相关疑难解决方法(0)

如何在Supervisor服务中设置环境变量

如何在Supervisor执行的命令中导出环境变量?我第一次尝试:

command="export SITE=domain1; python manage.py command"
Run Code Online (Sandbox Code Playgroud)

但是Supervisor报告"找不到命令".

那么我试过:

command=/bin/bash -c "export SITE=domain1; python manage.py command"
Run Code Online (Sandbox Code Playgroud)

并且命令运行,但这似乎干扰了守护进程,因为当我停止Supervisor守护进程时,它正在运行的所有其他守护进程都没有停止.

python supervisord

49
推荐指数
2
解决办法
3万
查看次数

部署 Django 频道:如何在 Web 服务器上退出 shell 后保持 Daphne 运行

作为实践,我尝试在 DigitalOcean Ubuntu 16.04.4 上使用 Django Channels 2.1.1部署 Andrew Godwin 的聊天示例。但是,我不知道如何在不停止 Channels 的 Daphne 服务器的情况下退出 Ubuntu 服务器。

现在,几乎我对部署的全部熟悉都来自本教程,这就是我部署站点的方式。但是根据 Channels 的文档,我必须在生产中运行这三个中的一个才能启动 Daphne:

  • 达芙妮 myproject.asgi: 应用程序
  • daphne -p 8001 myproject.asgi:application
  • daphne -b 0.0.0.0 -p 8001 myproject.asgi:application

因此,除了遵循 DigitalOcean 教程之外,我还运行了这些教程。第三个对我有用,网站运行良好。但是,如果我在 Ubuntu 上退出 shell,Daphne 也会停止。

本教程让 gunicorn 访问 sock 文件 ( --bind unix:/home/sammy/myproject/myproject.sock),到目前为止,在我的研究中,我在 2018 年之前发布的几个网站上看到,以某种方式生成了 daphne.sock 文件。所以,我猜 Channels 部署类似?但我还没有看到有关如何完成的任何细节。

如何部署多聊天示例,以便我可以在不让 Daphne 停止的情况下退出 Ubuntu Web 服务器?

更新 2018 年 5 月 6 日,欧洲中部时间晚上 8 点:

我在下面尝试了 kagronick 的解决方案,并在 …

django django-deployment django-channels

4
推荐指数
2
解决办法
6527
查看次数