首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

supervisor 加载系统环境变量问题

  •  
  •   wqchen · 2017-10-25 11:30:34 +08:00 · 7951 次点击
    这是一个创建于 750 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我用 supervisor 管理大概十多个进程,supervisor 处于启动状态。

    新添加了一个进程,这个进程使用的环境变量我放到了/etc/profile.d/文件夹下,文件名为*.sh。然后添加 supervisor 配置,启动 supervisorctl,执行,update,新的进程在启动的时候无法读取/etc/profile.d/下 export 的环境变量,进程启动失败。想来想去不知道什么原因....

    但是在 shell 环境下,直接启动进程,是可以读取到这些环境变量的,就是 supervisor 启动进程的时候获取不到...

    求大神们解惑....

    6 回复  |  直到 2017-11-13 10:02:28 +08:00
        1
    chaegumi   2017-10-25 11:48:29 +08:00
    我是直接上 systemd 的,如果在 systemd 中遇到这样的问题,定义一下
    [Service]
    EnvironmentFile=

    就解决了。
        2
    defunct9   2017-10-25 17:24:27 +08:00
    正常,supervisor 启动的时候是 /etc/init.d,所以环境变量根本没有加载起来。
    你在你的启动脚本里加上就可以了
        3
    julyclyde   2017-10-25 17:50:46 +08:00
    “无法读取”是你理解有问题
    根本就不会去那读取

    profile 是给 shell 用的。你这又没用到 shell
        4
    Dominator   2017-10-26 00:43:18 +08:00
    你可以使用 配置文件里面的关键字 environment 来添加你需要使用的那个 python 来指定你启动的环境变量。同理可以添加别的环境变量信息。
        5
    wq2016   2017-10-30 16:19:00 +08:00
    楼主解决了吗?
        6
    goinghugh   2017-11-13 10:02:28 +08:00
    在 supervisor 配置文件.conf 中 加上 environment=PYTHONPATH=/opt/mypypath:%(ENV_PYTHONPATH)s,PATH=/opt/mypath:%(ENV_PATH)s
    参考 https://stackoverflow.com/questions/12900402/supervisor-and-environment-variables
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1002 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 21ms · UTC 20:02 · PVG 04:02 · LAX 12:02 · JFK 15:02
    ♥ Do have faith in what you're doing.