systemd 服务文件的多个 EnvironmentFile(s)

dan*_*gel 3 environment-variables systemd

我正在与 Django 一起使用 Celery,因为我遇到了这个问题(Gunicorn 无法访问操作系统环境变量),我不得不EnvironmentFile=/etc/environment在我的gunicorn.service文件中进行设置以访问诸如此类的东西DJANGO_SECRET_KEY

这工作完美,没有问题。

但是,在尝试设置 Celery 时,它遇到了同样的问题。我的挣扎是 celery 已经使用了EnvironmentFile=/etc/conf.d/celery,我有点想将我的 gunicorn 和 celery 环境文件分开......

我试过了,EnvironmentFile=/etc/environment /etc/conf.d/celery但当然这个“无法加载环境文件”

是否可以加载多个环境文件?
或者让一个环境文件“调用”另一个?
或者只是将所有环境文件加载到特定目录中?

dan*_*gel 7

看起来像根据https://www.freedesktop.org/software/systemd/man/systemd.exec.html#EnvironmentFile=

EnvironmentFile= ...可以多次指定,在这种情况下,所有指定的文件都会被读取。

所以我需要的只是

EnvironmentFile=/etc/environment
EnvironmentFile=/etc/conf.d/celery
Run Code Online (Sandbox Code Playgroud)

感谢@steeldriver 的帮助!