【问题标题】:How to set environment variables in Supervisor service如何在 Supervisor 服务中设置环境变量
【发布时间】:2013-06-08 00:02:38
【问题描述】:

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

command="export SITE=domain1; python manage.py command"

但主管报告“找不到命令”。

然后我尝试了:

command=/bin/bash -c "export SITE=domain1; python manage.py command"

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

【问题讨论】:

    标签: python supervisord


    【解决方案1】:

    要添加单个环境变量,您可以这样做。

    [program:django]
    environment=SITE=domain1
    command = python manage.py command
    

    但是,如果要导出多个环境变量,则需要用逗号分隔。

    [program:django]
    environment = 
        SITE=domain1,
        DJANGO_SETTINGS_MODULE=foo.settings.local,
        DB_USER=foo,
        DB_PASS=bar
    command = python manage.py command
    

    【讨论】:

    • 我们怎样才能自动做到这一点?假设我们需要在服务器启动时设置环境变量。那么我们如何通过启动脚本来设置呢?
    【解决方案2】:

    单独做:

    environment=SITE=domain1
    command=python manage.py command
    

    请参阅http://supervisord.org/subprocess.html#subprocess-environment 了解更多信息。

    【讨论】:

    • 环境变量 PORT=8000 command=uwsgi --ini uwsgi.ini --http : 如何在命令行中使用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 2021-12-14
    相关资源
    最近更新 更多