Ubuntu service Upstart or SystemD, Django development server as Service

Ubuntu service Upstart or SystemD, Django development server as Service

我使用 Python 和 Django Framework 使用 Ubuntu 16.01 已经有一段时间了。由于我将 Django 与 Q 系统(Celery)和其他一些增强应用程序一起使用。当我每次尝试运行所有应用程序时,我需要运行开发服务器“{pythonmanage.py运行server}”,然后运行ning Celery Worker“{celery -A filename worker -l info}”。每次我工作时,我都需要几分钟才能进入目录并启动它。我到处冲浪,想出了将其设置为服务的想法。例如,服务名称:"pyd"。 我只需要 运行 "{sudo pyd start}" -> 然后 Django Development Server 和 Celery 就会启动,如果我 运行 "{sudo pyd stop}" -> 然后 Django & Celery 就会停止.

我尝试四处搜索,但我开始混淆 "Upstart" 和 "Systemd" 之间的事情。

有人可以建议我如何在 Ubuntu 中将 Django 和 Celery 作为服务 运行 吗?在 "Upstart" 和 "Systemd" 之间,哪个更好??

表示示例的源代码表示赞赏。

感谢

您可以使用 Upstart 来执行此操作。

Post安装,进入目录/etc/init/。 创建文件 xyz.conf 并添加行:

cd /path/to/your/manage.py/file
exec python manage.py runserver & celery -A filename worker -l info

如果你使用的是 virtualenv,请在上面添加以下行:

pre-start script
    #activate virtual environment
    source env-name/bin/activate
end script

现在,您可以通过发出命令 sudo start xyz 将 Django Dev Server 和 Celery 作为服务启动,通过发出 sudo stop xyz 停止它并通过发出 [=16= 检查您的服务状态].

xyz.conf 将登录 /var/log/upstart/xyz.log。您可以使用以下命令查看日志:sudo tail -f /var/log/upstart/xyz.log.

您可以将 celery 设置为守护服务,按照以下步骤操作

第 1 步:celery 初始化脚本

将此script文件复制到目录/etc/init.d/celeryd中(celeryd将是服务名称,您可以随意命名)

以上来源中给出了设置说明。

第 2 步:设置芹菜配置

现在在这个文件/etc/default/celeryd中配置celery配置,这个example会给你一个通用的配置文件。

现在您可以运行使用以下命令将芹菜作为服务

sudo service celeryd start

sudo service celeryd stop

或任何其他服务命令。